Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(EstimatorReport): Display the mean decrease impurity #1368

Conversation

auguste-probabl
Copy link
Contributor

@auguste-probabl auguste-probabl commented Feb 27, 2025

Closes #1323

Todo:

  • Add tests on all sklearn estimators
  • Add example
  • Add API docs

@auguste-probabl auguste-probabl force-pushed the 1319-featestimatorreport-display-the-feature-permutation-importance branch from 475b6ef to 3ca3f74 Compare February 28, 2025 11:27
Copy link
Contributor

github-actions bot commented Feb 28, 2025

Coverage

Coverage Report for backend
FileStmtsMissCoverMissing
venv/lib/python3.12/site-packages/skore
   __init__.py150100% 
   __main__.py880%3–19
   _config.py280100% 
   exceptions.py440%4–23
venv/lib/python3.12/site-packages/skore/persistence
   __init__.py00100% 
venv/lib/python3.12/site-packages/skore/persistence/item
   __init__.py56393%96–99
   altair_chart_item.py19191%14
   item.py22195%86
   matplotlib_figure_item.py36195%19
   media_item.py220100% 
   numpy_array_item.py27194%16
   pandas_dataframe_item.py29194%14
   pandas_series_item.py29194%14
   pickle_item.py220100% 
   pillow_image_item.py25193%15
   plotly_figure_item.py20192%14
   polars_dataframe_item.py27194%14
   polars_series_item.py22192%14
   primitive_item.py23291%13–15
   sklearn_base_estimator_item.py29194%15
   skrub_table_report_item.py10186%11
venv/lib/python3.12/site-packages/skore/persistence/repository
   __init__.py20100% 
   item_repository.py59591%15–16, 202–203, 226
venv/lib/python3.12/site-packages/skore/persistence/storage
   __init__.py40100% 
   abstract_storage.py220100% 
   disk_cache_storage.py33195%44
   in_memory_storage.py200100% 
venv/lib/python3.12/site-packages/skore/project
   __init__.py30100% 
   _open.py50100% 
   project.py81199%284
venv/lib/python3.12/site-packages/skore/sklearn
   __init__.py60100% 
   _base.py1621392%43, 115, 118, 171–180, 192–>197, 212, 215–216
   find_ml_task.py61099%136–>144
   types.py13285%33, 61
venv/lib/python3.12/site-packages/skore/sklearn/_comparison
   __init__.py50100% 
   metrics_accessor.py164297%165, 166–>168, 1218
   precision_recall_curve_display.py73197%196–>199, 304
   prediction_error_display.py671078%97, 154–>exit, 209, 214–218, 227, 231, 236–238
   report.py64196%16, 251–>254
   roc_curve_display.py69196%204–>213, 213–>216, 308
venv/lib/python3.12/site-packages/skore/sklearn/_cross_validation
   __init__.py50100% 
   metrics_accessor.py170099%142–>144, 144–>146
   report.py105198%22
venv/lib/python3.12/site-packages/skore/sklearn/_estimator
   __init__.py70100% 
   feature_importance_accessor.py101099%336–>342
   metrics_accessor.py3251195%166–175, 203–>212, 211, 241, 252–>254, 282, 309–313, 328, 351, 363, 364–>366
   report.py127197%22, 229–>235, 237–>239
venv/lib/python3.12/site-packages/skore/sklearn/_plot
   __init__.py40100% 
   precision_recall_curve.py129198%240–>257, 329
   prediction_error.py102198%173, 189–>192
   roc_curve.py1430100% 
   style.py140100% 
   utils.py99594%31, 55–57, 61
venv/lib/python3.12/site-packages/skore/sklearn/train_test_split
   __init__.py00100% 
   train_test_split.py36294%16–17
venv/lib/python3.12/site-packages/skore/sklearn/train_test_split/warning
   __init__.py80100% 
   high_class_imbalance_too_few_examples_warning.py17190%79
   high_class_imbalance_warning.py180100% 
   random_state_unset_warning.py12188%15
   shuffle_true_warning.py10183%46
   stratify_is_set_warning.py12188%15
   time_based_column_warning.py23286%17, 73
   train_test_split_warning.py5180%21
venv/lib/python3.12/site-packages/skore/utils
   __init__.py60100% 
   _accessor.py250100% 
   _environment.py27270%1–51
   _index.py50100% 
   _logger.py22220%3–38
   _parallel.py38388%23–33, 124
   _patch.py13553%21–37
   _progress_bar.py340100% 
   _show_versions.py330100% 
TOTAL306115294% 

Tests Skipped Failures Errors Time
688 3 💤 0 ❌ 0 🔥 45.787s ⏱️

Copy link
Contributor

github-actions bot commented Feb 28, 2025

Documentation preview @ c4f672e

@auguste-probabl auguste-probabl marked this pull request as ready for review March 3, 2025 10:23
Copy link
Contributor

@MarieSacksick MarieSacksick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested, and appart from the missing example (which will be done by enriching the current one in progress I guess?), it's good for me :) !

Copy link
Member

@glemaitre glemaitre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR looks good to me. Only a couple of changes to speed-up the test. In terms of documentation, I think that we should be amending the example created in the linear model PR.

@auguste-probabl auguste-probabl force-pushed the mean-decrease-impurity branch from 98f25b8 to eccc1e7 Compare March 4, 2025 09:39
@auguste-probabl auguste-probabl force-pushed the 1319-featestimatorreport-display-the-feature-permutation-importance branch from 414ef12 to 39c86d5 Compare March 4, 2025 09:39
@auguste-probabl auguste-probabl force-pushed the mean-decrease-impurity branch 2 times, most recently from 2a19594 to 2a778ec Compare March 4, 2025 10:02
@auguste-probabl auguste-probabl force-pushed the 1319-featestimatorreport-display-the-feature-permutation-importance branch 2 times, most recently from d6f9fc3 to 9c8e914 Compare March 4, 2025 14:25
@auguste-probabl auguste-probabl force-pushed the mean-decrease-impurity branch from 2a778ec to c91ef63 Compare March 4, 2025 14:28
@auguste-probabl auguste-probabl force-pushed the 1319-featestimatorreport-display-the-feature-permutation-importance branch from 9c8e914 to 1c5166f Compare March 4, 2025 14:37
@auguste-probabl auguste-probabl force-pushed the mean-decrease-impurity branch from c91ef63 to aed6a01 Compare March 4, 2025 14:37
@auguste-probabl auguste-probabl force-pushed the mean-decrease-impurity branch from 2ba6cff to c4f672e Compare March 4, 2025 16:04
@auguste-probabl auguste-probabl force-pushed the 1319-featestimatorreport-display-the-feature-permutation-importance branch from 1c5166f to 78301d2 Compare March 4, 2025 16:04
Copy link
Member

@glemaitre glemaitre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To ease the integration of the documentation, I think this PR can be merged. I can have another look in this week to see if we should have subsequent works.

@glemaitre glemaitre merged commit 0f648dc into 1319-featestimatorreport-display-the-feature-permutation-importance Mar 5, 2025
20 of 24 checks passed
@glemaitre glemaitre deleted the mean-decrease-impurity branch March 5, 2025 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feat(EstimatorReport): Display the feature importance based on mean decrease impurity
3 participants