summarize#

EstimatorReport.metrics.summarize(*, data_source='test', metric=None)[source]#

Report a set of metrics for our estimator.

Parameters:
data_source{“test”, “train”, “both”}, default=”test”

The data source to use.

  • “test” : use the test set provided when creating the report.

  • “train” : use the train set provided when creating the report.

  • “both” : use both the train and test sets to compute the metrics and present them side-by-side.

metricstr or list of str or None, default=None

The metrics to report, from the list of registered metrics. None means show all registered metrics. To add a custom metric, see add(). Metrics added with a neg_ prefix can also be retrieved without it (e.g. "neg_mean_absolute_percentage_error" instead of "mean_absolute_percentage_error").

Returns:
MetricsSummaryDisplay

A display containing the statistics for the metrics.

See also

MetricsSummaryDisplay.frame

Export the summary; wide single-column layouts return a named pandas.Series.

Examples

>>> from sklearn.datasets import load_breast_cancer
>>> from sklearn.linear_model import LogisticRegression
>>> from skore import evaluate
>>> X, y = load_breast_cancer(return_X_y=True)
>>> classifier = LogisticRegression(max_iter=10_000)
>>> report = evaluate(classifier, X, y, splitter=0.2, pos_label=1)
>>> summary = report.metrics.summarize().frame(favorability=True)
>>> summary[~summary.index.isin(["fit_time", "predict_time"])]
             LogisticRegression favorability
metric
accuracy               0.94...         (↗︎)
precision              0.98...         (↗︎)
recall                 0.92...         (↗︎)
roc_auc                0.99...         (↗︎)
log_loss               0.11...         (↘︎)
brier_score            0.03...         (↘︎)
>>> # Using scikit-learn metrics
>>> report.metrics.summarize(metric="log_loss").frame(favorability=True)
          LogisticRegression favorability
metric
log_loss            0.11...         (↘︎)
>>> summary = report.metrics.summarize(
...    data_source="both"
... ).frame(favorability=True)
>>> summary[~summary.index.isin(["fit_time", "predict_time"])]
             LogisticRegression (train)  LogisticRegression (test) favorability
metric
accuracy                       0.96...                    0.94...         (↗︎)
precision                      0.96...                    0.98...         (↗︎)
recall                         0.97...                    0.92...         (↗︎)
roc_auc                        0.99...                    0.99...         (↗︎)
log_loss                       0.08...                    0.11...         (↘︎)
brier_score                    0.02...                    0.03...         (↘︎)