Skip to content

probabl-ai/skore

Repository files navigation

license python downloads pypi Discord

skore logo

the scikit-learn sidekick

Elevate ML Development with Built-in Recommended Practices
DocumentationCommunity


What is skore?

skore is a Python open-source library designed to help data scientists apply recommended practices and avoid common methodological pitfalls in scikit-learn.

Key features

  • Diagnose: catch methodological errors before they impact your models.
    • train_test_split supercharged with methodological guidance: the API is the same as scikit-learn's, but skore displays warnings when applicable. For example, it warns you against shuffling time series data or when you have class imbalance.
  • Evaluate: automated insightful reports.
    • EstimatorReport: feed your scikit-learn compatible estimator and dataset, and it generates recommended metrics and plots to help you analyze your estimator. All these are computed and generated for you in 1 line of code. Under the hood, we use efficient caching to make the computations blazing fast.
    • CrossValidationReport: get a skore estimator report for each fold of your cross-validation.
    • ComparisonReport: benchmark your skore estimator reports.

What's next?

Skore is just at the beginning of its journey, but we’re shipping fast! Frequent updates and new features are on the way as we work toward our vision of becoming a comprehensive library for data scientists.

⭐ Support us with a star and spread the word - it means a lot! ⭐

🚀 Quick start

Installation

With pip

We recommend using a virtual environment (venv). You need python>=3.9.

Then, you can install skore by using pip:

pip install -U skore

With conda

skore is available in conda-forge:

conda install conda-forge::skore

You can find information on the latest version here.

Get assistance when developing your ML/DS projects

  1. Evaluate your model using skore.CrossValidationReport:

    from sklearn.datasets import make_classification
    from sklearn.linear_model import LogisticRegression
    
    from skore import CrossValidationReport
    
    X, y = make_classification(n_classes=2, n_samples=100_000, n_informative=4)
    clf = LogisticRegression()
    
    cv_report = CrossValidationReport(clf, X, y)
    
    # Display the help tree to see all the insights that are available to you
    cv_report.help()
    # Display the report metrics that was computed for you:
    df_cv_report_metrics = cv_report.metrics.report_metrics()
    df_cv_report_metrics
    # Display the ROC curve that was generated for you:
    roc_plot = cv_report.metrics.roc()
    roc_plot.plot()
  2. Store your results for safe-keeping.

    # Create and load a skore project
    import skore
    my_project = skore.Project("my_project")
    # Store your results
    my_project.put("df_cv_report_metrics", df_cv_report_metrics)
    my_project.put("roc_plot", roc_plot)
    # Get your results
    df_get = my_project.get("df_cv_report_metrics")
    df_get

Learn more in our documentation.

Contributing

Thank you for considering contributing to skore! Join our mission to promote open-source and make machine learning development more robust and effective. Please check the contributing guidelines here.

Feedback & Community

  • Join our Discord to share ideas or get support.
  • Request a feature or report a bug via GitHub Issues.


Brought to you by

Probabl logo