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
default_score          0.94...         (↗︎)
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()
>>> summary[~summary.index.isin(["fit_time", "predict_time"])]
               LogisticRegression (train)  LogisticRegression (test)
metric
default_score                    0.96...                   0.94...
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...