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.776297 0.746857 0.784267 0.783763 0.784051
RMSE 13619.381266 15513.177641 13613.389746 13281.318343 13002.703167
MAE 8601.523398 9397.506502 9026.647868 8506.144682 8759.204565
MAPE 0.129606 0.130587 0.135157 0.129276 0.129315
Fit time (s) 0.891664 0.833773 0.865813 0.834918 0.852202
Predict time (s) 0.199696 0.199032 0.170102 0.179702 0.221106

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!