sktime/skpro

A unified framework for tabular probabilistic regression, time-to-event prediction, and probability distributions in python

What it solves

skpro is a library for supervised probabilistic prediction in Python. It addresses the need for models that don't just provide a single point estimate (like a mean), but instead provide a range of possible outcomes, intervals, quantiles, or full probability distributions. This is particularly useful for risk assessment and uncertainty quantification in tabular data and survival analysis.

How it works

The library provides scikit-learn-like interfaces to several key components:

  • Probabilistic Regressors: Tools to generate interval, quantile, and distribution predictions for tabular data.
  • Survival Prediction: Tools for probabilistic time-to-event prediction, providing instance-individual survival distributions.
  • Reductions: Mechanisms to convert standard scikit-learn regressors into probabilistic ones using techniques like bootstrap or conformal prediction.
  • Evaluation Metrics: Specialized metrics such as pinball loss, empirical coverage, and Continuous Rank Probability Score (CRPS) to evaluate the quality of probabilistic forecasts.
  • Distributions: Symbolic probability distributions with a pandas-like interface.

Who it’s for

Data scientists and machine learning practitioners who need to quantify uncertainty in their predictions rather than relying on a point estimate, and those working with survival analysis (time-to-event prediction).

Highlights

  • Scikit-learn Compatibility: Fully compatible with scikit-learn and sktime, allowing it to be integrated into existing ML pipelines.
  • Composite Models: Supports building pipelines and composite models with tuning via probabilistic performance metrics.
  • Interoperability: Interfaces with other popular packages like MAPIE, ngboost, and cyclic-boosting.
  • Comprehensive Metrics: Includes a dedicated suite of tools for evaluating probabilistic predictions.

Related

  • Project
  • Project
  • Project
  • Project
  • Project