CrossValidationReport.metrics.report_metrics#

CrossValidationReport.metrics.report_metrics(*, data_source='test', scoring=None, scoring_names=None, pos_label=None, scoring_kwargs=None, aggregate=None)[source]#

Report a set of metrics for our estimator.

Parameters:
data_source{“test”, “train”}, 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.

scoringlist of str, callable, or scorer, default=None

The metrics to report. You can get the possible list of string by calling report.metrics.help(). When passing a callable, it should take as arguments y_true, y_pred as the two first arguments. Additional arguments can be passed as keyword arguments and will be forwarded with scoring_kwargs. If the callable API is too restrictive (e.g. need to pass same parameter name with different values), you can use scikit-learn scorers as provided by sklearn.metrics.make_scorer().

scoring_nameslist of str, default=None

Used to overwrite the default scoring names in the report. It should be of the same length as the scoring parameter.

pos_labelint, float, bool or str, default=None

The positive class.

scoring_kwargsdict, default=None

The keyword arguments to pass to the scoring functions.

aggregate{“mean”, “std”} or list of such str, default=None

Function to aggregate the scores across the cross-validation splits.

Returns:
pd.DataFrame

The statistics for the metrics.

Examples

>>> from sklearn.datasets import load_breast_cancer
>>> from sklearn.linear_model import LogisticRegression
>>> from skore import CrossValidationReport
>>> X, y = load_breast_cancer(return_X_y=True)
>>> classifier = LogisticRegression(max_iter=10_000)
>>> report = CrossValidationReport(classifier, X=X, y=y, cv_splitter=2)
Processing cross-validation ...
>>> report.metrics.report_metrics(
...     scoring=["precision", "recall"], pos_label=1, aggregate=["mean", "std"]
... )
Compute metric for each split ...
Metric                   Precision (↗︎)  Recall (↗︎)
LogisticRegression mean        0.94...     0.96...
                   std         0.02...     0.02...