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

Create structured reports to quickly evaluate and inspect your predictive models by using EstimatorReport or CrossValidationReport and even compare them by using ComparisonReport.

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
df
import sklearn
import skore
import skrub

report_ridge = skore.CrossValidationReport(
    skrub.tabular_pipeline(sklearn.linear_model.Ridge()), df, y
)
report_ridge.help()
╭───────────────── Tools to diagnose estimator Ridge ──────────────────╮
│ CrossValidationReport                                                │
│ ├── .data                                                            │
│ │   └── .analyze(...)                  - Plot dataset statistics.    │
│ ├── .metrics                                                         │
│ │   ├── .prediction_error(...)         - Plot the prediction error.  │
│ │   ├── .rmse(...)             (↘︎)     - Compute the RMSE.           │
│ │   └── .summarize(...)                - Summarize all metrics.      │
│ ├── .feature_importance                                              │
│ │   └── .coefficients(...)             - Retrieve the coefficients.  │
│ └── Attributes                                                       │
│     ├── .X                             - The data to fit.            │
│     ├── .y                             - The target variable.        │
│     └── .estimator                     - Estimator to train.         │
│                                                                      │
│ Legend:                                                              │
│ (↗︎) higher is better (↘︎) lower is better                             │
╰──────────────────────────────────────────────────────────────────────╯

Get Insights that Matter

Quickly generate beautiful visualizations with display.plot()

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

Ridge
Split #0 Split #1 Split #2 Split #3 Split #4
Metric
R² 0.774937 0.744296 0.784270 0.783010 0.784780
RMSE 13660.714770 15591.443907 13613.323131 13304.428806 12980.739263
Fit time (s) 0.713305 0.497816 0.465607 0.457793 0.465061
Predict time (s) 0.338140 0.123142 0.122565 0.118819 0.117716

Store and Retrieve your Reports

Store your reports by using Project. Retrieve the most important reports to revisit your insights or compare with new experiments later.

project = skore.Project(name="adult_census_survey")
project.put("ridge", report_ridge)
project.put(
    "hgbdt", CrossValidationReport(
        skrub.tabular_pipeline("regressor", df, y)
    )
)
project.summarize()

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!