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").

1 issue(s), 0 tip(s), 0 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.776853 0.746634 0.784309 0.779318 0.785009
RMSE 13602.459025 15519.986734 13612.072317 13417.143874 12973.811899
MAE 8623.545703 9381.423285 8988.196073 8591.141938 8729.533614
MAPE 0.130066 0.130240 0.134572 0.130904 0.128806
Fit time (s) 0.861814 0.888225 0.844246 0.845774 0.995070
Predict time (s) 0.204029 0.172158 0.174537 0.173577 0.174854

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!