Track your Data Science

skore is a Python library to evaluate and get insights from your predictive models.
We structure and store your experiments so that you can easily retrieve them later.

Reports for your Experiments

Evaluate one or several estimators, with a single train-test split or by cross-validation and get a structured report with the evaluate function.


It returns an EstimatorReport, a CrossValidationReport, or a ComparisonReport, all with the same API to discover all facets of your predictive models while experimenting.

Given some data df: (expand for full code)
from skrub.datasets import fetch_employee_salaries
dataset = fetch_employee_salaries()
df = dataset.X
y = dataset.y
import sklearn
import skore
import skrub

model = skrub.tabular_pipeline(sklearn.linear_model.Ridge())
report_ridge = skore.evaluate(model, df, y, splitter=5)
report_ridge
Pipeline(steps=[('tablevectorizer',
                 TableVectorizer(datetime=DatetimeEncoder(periodic_encoding='spline'))),
                ('simpleimputer', SimpleImputer(add_indicator=True)),
                ('squashingscaler', SquashingScaler(max_absolute_value=5)),
                ('ridge', Ridge())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.

Please enable javascript

The skrub table reports need javascript to display correctly. If you are displaying a report in a Jupyter notebook and you see this message, you may need to re-execute the cell or to trust the notebook (button on the top right or "File > Trust notebook").

0 issue(s), 0 tip(s), 1 passed, 0 ignored.

Get Insights that Matter

Quickly generate beautiful visualizations with display.plot()

error = report_ridge.metrics.prediction_error()
error.plot(kind="actual_vs_predicted")
and access the raw data with display.frame()
report_ridge.metrics.summarize().frame(
    aggregate=None
)

Ridge
Split #0 Split #1 Split #2 Split #3 Split #4
Metric
0.774781 0.748426 0.783489 0.782219 0.783918
RMSE 13665.461991 15465.002681 13637.931564 13328.657262 13006.688132
MAE 8658.913950 9406.923030 9009.469584 8513.148523 8746.845351
MAPE 0.130813 0.130837 0.135013 0.129182 0.129185
Fit time (s) 0.804070 0.805748 0.847061 0.803290 0.798558
Predict time (s) 0.184998 0.194900 0.169318 0.167736 0.214357

Store and Retrieve your Reports, Locally or on Skore Hub

Project stores and retrieves your reports so you can revisit insights or compare with new experiments later.

project = skore.Project(
    name="adult_census_survey", mode="local"
)
project.put("ridge", report_ridge)

Store everything locally on disk, or on Skore Hub to enhance your exploration and search for the impactful insights.

Our Community

The skore project is driven by Probabl together with a world-wide community of contributors. Here we display a randomly selected group of 30 contributors.

Try it yourself!

Ready to write less code, focus on what matters, and store your experiments to retrieve them later? Dive into skore now and be part of our growing community!