Local skore Project#

This example shows how to use Project in local mode: store reports on your machine and inspect them. A key point is that summarize() returns a Summary, which is a pandas.DataFrame. In Jupyter you get an interactive widget, but you can always inspect and filter the summary as a DataFrame if you prefer.

Create a local project and store reports#

We use a temporary directory as the workspace so the example is self-contained. In practice you can omit workspace to use the default (e.g. a skore/ directory in your user cache).

from pathlib import Path
from tempfile import TemporaryDirectory

from skore import Project

tmp_dir = TemporaryDirectory()
tmp_path = Path(tmp_dir.name)
project = Project("example-project", workspace=tmp_path)
from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LogisticRegression
from skrub import tabular_pipeline

X, y = load_breast_cancer(return_X_y=True, as_frame=True)
estimator = tabular_pipeline(LogisticRegression(max_iter=1_000))
import numpy as np
from sklearn.base import clone
from skore import evaluate

for regularization in np.logspace(-7, 7, 31):
    report = evaluate(
        clone(estimator).set_params(logisticregression__C=regularization),
        X,
        y,
        splitter=0.2,
        pos_label=1,
    )
    project.put(f"lr-regularization-{regularization:.1e}", report)

Summarize: you get a DataFrame#

summarize() returns a Summary, which subclasses pandas.DataFrame. In a Jupyter environment it renders an interactive parallel-coordinates widget by default.

summary = project.summarize()

To see the normal DataFrame table instead of the widget (e.g. in scripts or when you prefer the table), wrap the summary in pandas.DataFrame:

import pandas as pd

pandas_summary = pd.DataFrame(summary)
pandas_summary
key date learner ml_task report_type dataset rmse log_loss roc_auc fit_time predict_time rmse_mean log_loss_mean roc_auc_mean fit_time_mean predict_time_mean
id
0 24adad00003213def2b5a9e93562f857 lr-regularization-1.0e-07 2026-03-19T11:28:57.220282+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.682846 0.984122 0.124246 0.086353 None None None None None
1 0d3a9b8d234676886d1e0e894b5b3780 lr-regularization-2.9e-07 2026-03-19T11:28:57.484041+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.682710 0.984122 0.118221 0.089954 None None None None None
2 0054b9ae242ec2d137528406c79a3677 lr-regularization-8.6e-07 2026-03-19T11:28:57.739484+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.682313 0.984122 0.102984 0.089207 None None None None None
3 068acc8099bcab98d39247518e830b08 lr-regularization-2.5e-06 2026-03-19T11:28:57.997484+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.681153 0.984122 0.113229 0.061183 None None None None None
4 8ef63c09d4911bfbc464cc6f9d46f04f lr-regularization-7.4e-06 2026-03-19T11:28:58.245995+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.677790 0.984122 0.122734 0.075583 None None None None None
5 e80dcce3bce3b498e4e9bff3aec1a16d lr-regularization-2.2e-05 2026-03-19T11:28:58.491666+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.668210 0.984122 0.108637 0.076496 None None None None None
6 e44572ad3d5838c0a3b80320a619cce6 lr-regularization-6.3e-05 2026-03-19T11:28:58.722617+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.642328 0.985075 0.101895 0.072826 None None None None None
7 3fe7dea30319dd2fc63556345919d038 lr-regularization-1.8e-04 2026-03-19T11:28:58.960684+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.581579 0.985392 0.108529 0.067124 None None None None None
8 364aa1ef78f15d947ba6e173448095d7 lr-regularization-5.4e-04 2026-03-19T11:28:59.191102+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.476411 0.985710 0.109528 0.071188 None None None None None
9 d4d16b81427946f754bf556cff7230e8 lr-regularization-1.6e-03 2026-03-19T11:28:59.433344+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.355309 0.987615 0.115383 0.078444 None None None None None
10 7e09cfec20f697eebca5b72e509136ef lr-regularization-4.6e-03 2026-03-19T11:28:59.680478+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.252513 0.990156 0.111693 0.080213 None None None None None
11 0752f61004f9038fdedacef0b6d15038 lr-regularization-1.4e-02 2026-03-19T11:28:59.890708+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.178052 0.992379 0.086962 0.041864 None None None None None
12 226779f6348cc2c5295dcf81c3215697 lr-regularization-4.0e-02 2026-03-19T11:29:00.038494+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.128754 0.995872 0.064648 0.040177 None None None None None
13 f6e7e05b57c7eeb75c07675d5c6d92f2 lr-regularization-1.2e-01 2026-03-19T11:29:00.220111+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.098897 0.996189 0.089517 0.083419 None None None None None
14 40469babbce14cb234b9b918e78efe30 lr-regularization-3.4e-01 2026-03-19T11:29:00.503905+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.083941 0.995872 0.129153 0.085254 None None None None None
15 ec49dd88f090efc4c216f88e2a5324ed lr-regularization-1.0e+00 2026-03-19T11:29:00.780772+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.080457 0.995554 0.130884 0.083328 None None None None None
16 ac81dcc478ee093178dd53da0322109e lr-regularization-2.9e+00 2026-03-19T11:29:01.059609+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.089466 0.994601 0.130450 0.083962 None None None None None
17 77067fa523a59b71b04e44a37c0548bf lr-regularization-8.6e+00 2026-03-19T11:29:01.340056+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.104241 0.993649 0.136686 0.083448 None None None None None
18 1e85a0fc095a4b8d16b7a66728fbc2a6 lr-regularization-2.5e+01 2026-03-19T11:29:01.612760+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.121671 0.992379 0.130386 0.078950 None None None None None
19 7ea105d39a894a700e4cdcedad05a44c lr-regularization-7.4e+01 2026-03-19T11:29:01.898525+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.142282 0.991426 0.127850 0.083588 None None None None None
20 d5b42fb83621a3c3ef6a0b923b089e7e lr-regularization-2.2e+02 2026-03-19T11:29:02.175142+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.162450 0.991426 0.131569 0.080446 None None None None None
21 562d4a9b4fd2059735c8f9d37dfb8d13 lr-regularization-6.3e+02 2026-03-19T11:29:02.447699+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.204586 0.991108 0.134214 0.077101 None None None None None
22 8967aa3fff3f0179ed18b1dc8ddb8925 lr-regularization-1.8e+03 2026-03-19T11:29:02.640938+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.291953 0.990473 0.074376 0.040352 None None None None None
23 38d6e781f12991c290ac63e70ddd3ce8 lr-regularization-5.4e+03 2026-03-19T11:29:02.832896+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.471382 0.989838 0.114220 0.040256 None None None None None
24 d33935fd57807be9f0772e4f554649ce lr-regularization-1.6e+04 2026-03-19T11:29:02.996194+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 0.796526 0.983169 0.085729 0.041525 None None None None None
25 0c3377471f7a3e6dfbde497665e0ca91 lr-regularization-4.6e+04 2026-03-19T11:29:03.175446+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 1.133167 0.984757 0.088447 0.076559 None None None None None
26 5ec03b27b88701c50598e4b28466218d lr-regularization-1.4e+05 2026-03-19T11:29:03.478329+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 1.229179 0.985551 0.167260 0.075758 None None None None None
27 77c6db8be7e4383c5d7cd412ec7d894b lr-regularization-4.0e+05 2026-03-19T11:29:03.771332+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 1.276041 0.985869 0.158239 0.079350 None None None None None
28 341340fb72e5d10fcce9fdd816f57c15 lr-regularization-1.2e+06 2026-03-19T11:29:04.084375+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 1.447319 0.975865 0.171593 0.080966 None None None None None
29 27fa00164b23e675cc06c812ff3791dc lr-regularization-3.4e+06 2026-03-19T11:29:04.367560+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 1.448698 0.976500 0.145326 0.081792 None None None None None
30 025ff8880ab31858b24252aeed9aee48 lr-regularization-1.0e+07 2026-03-19T11:29:04.675249+00:00 LogisticRegression binary-classification estimator a36fcd73fd752ec31662e617f0f6e127 None 1.897034 0.976183 0.168591 0.080410 None None None None None


Basically, our summary contains metadata related to various information that we need to quickly help filtering the reports.

<class 'skore._project._summary.Summary'>
MultiIndex: 31 entries, (0, '24adad00003213def2b5a9e93562f857') to (30, '025ff8880ab31858b24252aeed9aee48')
Data columns (total 16 columns):
 #   Column             Non-Null Count  Dtype
---  ------             --------------  -----
 0   key                31 non-null     object
 1   date               31 non-null     object
 2   learner            31 non-null     category
 3   ml_task            31 non-null     object
 4   report_type        31 non-null     object
 5   dataset            31 non-null     object
 6   rmse               0 non-null      object
 7   log_loss           31 non-null     float64
 8   roc_auc            31 non-null     float64
 9   fit_time           31 non-null     float64
 10  predict_time       31 non-null     float64
 11  rmse_mean          0 non-null      object
 12  log_loss_mean      0 non-null      object
 13  roc_auc_mean       0 non-null      object
 14  fit_time_mean      0 non-null      object
 15  predict_time_mean  0 non-null      object
dtypes: category(1), float64(4), object(11)
memory usage: 5.3+ KB

Filter reports by metric (e.g. keep only those above a given accuracy) and work with the result as a table.

summary.query("log_loss < 0.1")["key"].tolist()
['lr-regularization-1.2e-01', 'lr-regularization-3.4e-01', 'lr-regularization-1.0e+00', 'lr-regularization-2.9e+00']

Use reports() to load the corresponding reports from the project (optionally after filtering the summary).

reports = summary.query("log_loss < 0.1").reports(return_as="comparison")
len(reports.reports_)
4

Since we got a ComparisonReport, we can use the metrics accessor to summarize the metrics across the reports.

reports.metrics.summarize().frame()
Estimator LogisticRegression_1 LogisticRegression_2 LogisticRegression_3 LogisticRegression_4
Metric
Accuracy 0.947368 0.964912 0.964912 0.964912
Precision 0.942029 0.970149 0.970149 0.970149
Recall 0.970149 0.970149 0.970149 0.970149
ROC AUC 0.996189 0.995872 0.995554 0.994601
Brier score 0.027157 0.024990 0.025149 0.026218
Fit time (s) 0.089517 0.129153 0.130884 0.130450
Predict time (s) 0.063714 0.072876 0.074314 0.073086


reports.metrics.roc().plot(subplot_by=None)
ROC Curve Positive label: 1 Data source: Test set
project.delete("example-project", workspace=tmp_path)
tmp_dir.cleanup()

Total running time of the script: (0 minutes 9.262 seconds)

Gallery generated by Sphinx-Gallery