Skip to content

Conversation

@MarieSacksick
Copy link
Contributor

@MarieSacksick MarieSacksick commented Jun 9, 2025

The plot of this display will be a pair plot to visualize one metric against another.

This is part of the narrative "I have several models, how can I choose the best one?".

Closes #1340

@github-actions
Copy link
Contributor

github-actions bot commented Jun 9, 2025

Coverage

Coverage Report for skore/
FileStmtsMissCoverMissing
skore/src/skore
   __init__.py230100% 
   _config.py310100% 
   exceptions.py440%4, 15, 19, 23
skore/src/skore/_sklearn
   __init__.py60100% 
   _base.py1981492%45, 58, 127, 130, 183, 186–187, 189–192, 225, 228–229
   find_ml_task.py610100% 
   types.py27196%28
skore/src/skore/_sklearn/_comparison
   __init__.py70100% 
   feature_importance_accessor.py39294%90, 109
   metrics_accessor.py183497%174, 188, 271, 1233
   report.py1070100% 
   utils.py540100% 
skore/src/skore/_sklearn/_cross_validation
   __init__.py90100% 
   data_accessor.py45393%134, 137, 140
   feature_importance_accessor.py240100% 
   metrics_accessor.py182199%249
   report.py135199%487
skore/src/skore/_sklearn/_estimator
   __init__.py90100% 
   data_accessor.py66198%82
   feature_importance_accessor.py144298%223–224
   metrics_accessor.py356897%200, 202, 209, 300, 369, 373, 388, 423
   report.py167298%448–449
skore/src/skore/_sklearn/_plot
   __init__.py30100% 
   base.py102793%61–62, 200, 224–226, 230
   utils.py800100% 
skore/src/skore/_sklearn/_plot/data
   __init__.py20100% 
   table_report.py185199%706
skore/src/skore/_sklearn/_plot/metrics
   __init__.py60100% 
   confusion_matrix.py70494%92, 100, 122, 230
   feature_importance_display.py672168%88, 121–122, 124, 142–146, 148–155, 158–160, 162
   metrics_summary_display.py730100% 
   precision_recall_curve.py280598%455, 555, 559, 619, 751
   prediction_error.py227597%179, 186, 422, 505, 705
   roc_curve.py292897%385, 508, 513, 614, 619, 623, 692, 832
skore/src/skore/_sklearn/train_test_split
   __init__.py00100% 
   train_test_split.py580100% 
skore/src/skore/_sklearn/train_test_split/warning
   __init__.py80100% 
   high_class_imbalance_too_few_examples_warning.py19194%83
   high_class_imbalance_warning.py200100% 
   random_state_unset_warning.py100100% 
   shuffle_true_warning.py90100% 
   stratify_is_set_warning.py100100% 
   time_based_column_warning.py210100% 
   train_test_split_warning.py30100% 
skore/src/skore/_utils
   __init__.py6266%8, 13
   _accessor.py90396%34, 146, 190
   _environment.py27196%40
   _fixes.py80100% 
   _index.py50100% 
   _logger.py22481%15–17, 19
   _measure_time.py100100% 
   _parallel.py38392%23, 33, 124
   _patch.py13561%21, 23–24, 35, 37
   _progress_bar.py460100% 
   _repr_html.py80100% 
   _show_versions.py380100% 
   _testing.py550100% 
skore/src/skore/project
   __init__.py20100% 
   project.py480100% 
   summary.py75198%120
   widget.py1890100% 
TOTAL410211497% 

Tests Skipped Failures Errors Time
1086 5 💤 0 ❌ 0 🔥 4m 22s ⏱️

@MarieSacksick MarieSacksick changed the base branch from main to summarize_display June 11, 2025 12:48
@MarieSacksick MarieSacksick force-pushed the plot_comp_report_metrics branch from d1f7858 to 7b1014f Compare June 11, 2025 12:54
Base automatically changed from summarize_display to main June 11, 2025 16:52
@github-actions
Copy link
Contributor

github-actions bot commented Jun 12, 2025

Documentation preview @ 98f4829

@MarieSacksick MarieSacksick marked this pull request as ready for review June 12, 2025 15:20
@MarieSacksick MarieSacksick marked this pull request as draft June 13, 2025 08:35
@glemaitre glemaitre self-requested a review June 13, 2025 08:46
@MarieSacksick MarieSacksick marked this pull request as ready for review June 13, 2025 09:18
github-merge-queue bot pushed a commit that referenced this pull request Jun 13, 2025
I have to use this variable in another PR
(#1816), and I find it not clean
to have to copy/paste the same information in different classes.

Refactoring this variable + the methods related to the helpers.  
More could be done having a look at the metrics and the displays, but no
real value for now. Let's wait for it to be needed.
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.

It is a quick review. A couple of additional thoughts:

@MarieSacksick MarieSacksick marked this pull request as draft June 16, 2025 12:47
@MarieSacksick
Copy link
Contributor Author

we will want to have some logspace sometimes. In scikit-learn, we came with an heuristic with the time for the validation curve: https://github.com/scikit-learn/scikit-learn/blob/d4d4af8c4/sklearn/model_selection/_plot.py#L111-L117 I think that we can retake this implementation

About this, it looks like an improvement to add this option imo. It could be a good first issue. Since we have a workshop soon, what keeping it for this workshop?

I think that we need to tackle the following issue first: #1837

If you think that this other issue can be done soon, let's wait indeed! Otherwise, I don't really like keeping PR open for a while, we tend to forget the code and the context.

we need to put some thoughts regarding score vs. loss.

Do you have the pareto front in mind?
As the first feedback, to me it's an improvement, not light this one, and I prefer to do step by step and releasing this first part when we are ready.

@glemaitre
Copy link
Member

About this, it looks like an improvement to add this option imo. It could be a good first issue. Since we have a workshop soon, what keeping it for this workshop?

It is 5 lines of code already tested somewhere else. I would not bother since I already know that we want it.

Do you have the pareto front in mind?
As the first feedback, to me it's an improvement, not light this one, and I prefer to do step by step and releasing this first part when we are ready.

Not really, it was more on the direction of the loss/score. But I think we can just align the implementation with the display on the hub.

In terms of implementation, I don't like a partial implementation.

@MarieSacksick MarieSacksick force-pushed the plot_comp_report_metrics branch from 12f0b83 to bf74554 Compare July 28, 2025 15:29
@MarieSacksick
Copy link
Contributor Author

@glemaitre, can you be more precise about your expectations about the following sentence please?

Not really, it was more on the direction of the loss/score. But I think we can just align the implementation with the display on the hub.

So far, the only difference with the hub is the display of the pareto front and the colored aspect on the "worse" side of the front.

image

@MarieSacksick MarieSacksick requested a review from glemaitre August 4, 2025 15:22
@MarieSacksick
Copy link
Contributor Author

Ready for a new round of review @glemaitre :) ! (still in draft because still waiting for your PR first).

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(ComparisonReport): Suggestions of plots

4 participants