rtichoke
rtichoke is a Python library for visualizing the performance of predictive models. It provides a flexible and intuitive way to create a variety of common evaluation plots, including:
- ROC Curves
- Precision-Recall Curves
- Gains and Lift Charts
- Calibration Curves
- Decision Curves
The library is designed to be easy to use while still offering a high degree of control over the final plots.
For some reproducible examples please visit rtichoke blog!
Installation
For a project managed with uv, add rtichoke with:
uv add rtichoke
Alternatively, install rtichoke from PyPI with pip:
pip install rtichoke
Getting Started
To use rtichoke, you'll usually need two main inputs:
probs: A dictionary containing model-predicted probabilities.reals: Observed outcomes, provided either as one array or as a dictionary keyed by population.
Here's a quick example of creating a ROC curve for a single model:
import numpy as np
import rtichoke as rk
probs = {
"Model A": np.array([0.1, 0.9, 0.4, 0.8, 0.3, 0.7, 0.2, 0.6])
}
reals = {
"Population": np.array([0, 1, 0, 1, 0, 1, 0, 1])
}
fig = rk.create_roc_curve(
probs=probs,
reals=reals,
)
fig.show()
Compare populations
When predictions and outcomes are both dictionaries with the same keys, rtichoke pairs them population-by-population. The populations do not need to have the same sample size.
probs = {
"Train": np.array([0.10, 0.90, 0.20, 0.80, 0.30, 0.70]),
"Test": np.array([0.15, 0.85, 0.25, 0.75]),
}
reals = {
"Train": np.array([0, 1, 0, 1, 0, 1]),
"Test": np.array([0, 1, 0, 0]),
}
fig = rk.create_calibration_curve(
probs=probs,
reals=reals,
)
fig.show()
Here, Train contains six observations and Test contains four. Each probability vector only needs to match the outcome vector for its own population.
Key Features
- Simple API: Create complex visualizations with a small amount of code.
- Time-to-Event Analysis: Support for time-dependent outcomes, including censoring and competing risks.
- Interactive Plots: Plotly-based interactive visualizations.
- Flexible Data Handling: Works with common Python array/data-frame workflows, including NumPy and Polars.
Documentation
The official documentation, including the Getting Started guide and API reference, is published at:
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rtichoke-0.1.29.tar.gz.
File metadata
- Download URL: rtichoke-0.1.29.tar.gz
- Upload date:
- Size: 219.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11521ef6736a2b434bdeb7fe4c3fa92fd2ec15a08779c7078f1f768c33ba719f
|
|
| MD5 |
4f0d764f721959f9e675b7bf3f2f1a80
|
|
| BLAKE2b-256 |
59bbbf9376f04c04544e1533eebe34544cbc35cd136830552d21ac6c78ef721b
|
File details
Details for the file rtichoke-0.1.29-py3-none-any.whl.
File metadata
- Download URL: rtichoke-0.1.29-py3-none-any.whl
- Upload date:
- Size: 234.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be77d21e4ca80d0179435ead2fab14c1fa35e78448b6b078d409930660652801
|
|
| MD5 |
919b3d29af85bac992cd81261cb40e4f
|
|
| BLAKE2b-256 |
4115310457ea804157cf6c6f0c98de295f5e8ea4229569663df93f68139fa965
|