Distribution-free simultaneous confidence bands for ROC curves
Project description
rocci
Distribution-free simultaneous confidence bands for ROC curves.
rocci is a simple interface to easily add uncertainty estimates to your ROC
curve that are very likely to be correct in nearly all use cases. It draws a
simultaneous confidence band, which maintains the specified confidence of
capturing the entire true (population) ROC.
rocci is designed to:
- just work. It should do the right thing off the shelf for nearly any data set.
- drop in to your workflow. It natively integrates with sklearn, torch, statsmodels, PyMC/arviz, and pandas/polars data.
- be fast. Core operations are implemented in rust for speed (invisible to the user).
- have a lightweight footprint. Minimal runtime dependencies (just numpy and scipy).
- support an open ecosystem. Permissive MIT license, easy extensibility.
By default, rocci uses a distribution-free method that provides informative
bands without burdensome assumptions about the data. It maintains nominal
coverage in a huge variety of contexts and the rare violations tend to be small
misses. If you are comfortable adding a normality assumption to get tighter
bands, rocci yields a "Working-Hotelling" band, but also carefully checks the
normality assumption and warns you when it looks dicey.
Installation
pip install rocci # prebuilt wheels — no Rust toolchain needed
pip install 'rocci[plot]' # + matplotlib for band.plot() and diagnostics
uv add rocci # in uv-managed projects
Wheels cover Linux (glibc x86-64/aarch64 and musl), macOS (Intel and Apple
silicon), and Windows, for every Python ≥ 3.10; runtime dependencies are
numpy and scipy only. On any other platform pip falls back to the sdist
(requires a Rust toolchain), and if no compiled kernel
is present at runtime a pure-NumPy backend with identical statistical
semantics takes over automatically. A conda-forge package
(conda install -c conda-forge rocci) follows the first PyPI release.
Details: installation guide.
Quickstart
from rocci import roc_band
band = roc_band(y_true, y_score)
band.plot()
print(band.summary())
Docs: https://ndelaneybusch.github.io/rocci · Changelog: CHANGELOG.md · Contributing (including the release process): CONTRIBUTING.md
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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 rocci-0.1.0.tar.gz.
File metadata
- Download URL: rocci-0.1.0.tar.gz
- Upload date:
- Size: 44.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a02e62cd82f6deefb383e100b978f6a0dba3452d72b777a5e293be129860dc80
|
|
| MD5 |
23e7298f010991a0245fe3e0a4429f5d
|
|
| BLAKE2b-256 |
ea3c9a9c05a28a5a7f76511b4a213d63987005c5c384931f319a9be039d7c377
|
Provenance
The following attestation bundles were made for rocci-0.1.0.tar.gz:
Publisher:
wheels.yml on ndelaneybusch/rocci
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rocci-0.1.0.tar.gz -
Subject digest:
a02e62cd82f6deefb383e100b978f6a0dba3452d72b777a5e293be129860dc80 - Sigstore transparency entry: 2073250437
- Sigstore integration time:
-
Permalink:
ndelaneybusch/rocci@a9b9167f52d5e2e707e9382d53d91cf9b80377b5 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ndelaneybusch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@a9b9167f52d5e2e707e9382d53d91cf9b80377b5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rocci-0.1.0-cp310-abi3-win_amd64.whl.
File metadata
- Download URL: rocci-0.1.0-cp310-abi3-win_amd64.whl
- Upload date:
- Size: 230.9 kB
- Tags: CPython 3.10+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c76d52abd30470eef974882f5f0b99172260f7247b17d6950c6f660b60fd70c
|
|
| MD5 |
4b01698471620d28c0b98affca72d4ac
|
|
| BLAKE2b-256 |
46af67b6f780c96e360cf9e8ee8e9a351f3dd07347658276a032f02edd49e06d
|
Provenance
The following attestation bundles were made for rocci-0.1.0-cp310-abi3-win_amd64.whl:
Publisher:
wheels.yml on ndelaneybusch/rocci
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rocci-0.1.0-cp310-abi3-win_amd64.whl -
Subject digest:
0c76d52abd30470eef974882f5f0b99172260f7247b17d6950c6f660b60fd70c - Sigstore transparency entry: 2073238094
- Sigstore integration time:
-
Permalink:
ndelaneybusch/rocci@925b3159fc2548d92f9b4fae499db7487f193025 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ndelaneybusch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@925b3159fc2548d92f9b4fae499db7487f193025 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rocci-0.1.0-cp310-abi3-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: rocci-0.1.0-cp310-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 583.1 kB
- Tags: CPython 3.10+, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b098f9c41e1e3aba4585fdb40ad29e71f938da95c9942e4cb0db8d6d8aae881
|
|
| MD5 |
cffe68a56e72708382813d53e9626b92
|
|
| BLAKE2b-256 |
aef9e5d1e1144b53f72e6e72837faba5c5a2bd605dfc08637be47ea68cc167cf
|
Provenance
The following attestation bundles were made for rocci-0.1.0-cp310-abi3-musllinux_1_2_x86_64.whl:
Publisher:
wheels.yml on ndelaneybusch/rocci
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rocci-0.1.0-cp310-abi3-musllinux_1_2_x86_64.whl -
Subject digest:
8b098f9c41e1e3aba4585fdb40ad29e71f938da95c9942e4cb0db8d6d8aae881 - Sigstore transparency entry: 2073238234
- Sigstore integration time:
-
Permalink:
ndelaneybusch/rocci@925b3159fc2548d92f9b4fae499db7487f193025 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ndelaneybusch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@925b3159fc2548d92f9b4fae499db7487f193025 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rocci-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: rocci-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 370.5 kB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea767bd3a5c9270a44214760e71714821ea3672f81f10face32ed9d0a4628419
|
|
| MD5 |
53607ff65458e90eeae55bd220447028
|
|
| BLAKE2b-256 |
d634b38af2ac337b99817e4d26bc4fd4028ed552a8137b94cde66e687c51f8c3
|
Provenance
The following attestation bundles were made for rocci-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheels.yml on ndelaneybusch/rocci
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rocci-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
ea767bd3a5c9270a44214760e71714821ea3672f81f10face32ed9d0a4628419 - Sigstore transparency entry: 2073238171
- Sigstore integration time:
-
Permalink:
ndelaneybusch/rocci@925b3159fc2548d92f9b4fae499db7487f193025 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ndelaneybusch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@925b3159fc2548d92f9b4fae499db7487f193025 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rocci-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: rocci-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 371.1 kB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf4b8ff45056150a57af2e6572eedbefc92807b14f9fbf96f654b1a3e75a003f
|
|
| MD5 |
1f4ae8e0163203db63edd50f7a87cc2f
|
|
| BLAKE2b-256 |
2568c85cd3ea252a6c215d377b2b6fcbe2ffa185c2981a3ba0024157fd665c91
|
Provenance
The following attestation bundles were made for rocci-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
wheels.yml on ndelaneybusch/rocci
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rocci-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
bf4b8ff45056150a57af2e6572eedbefc92807b14f9fbf96f654b1a3e75a003f - Sigstore transparency entry: 2073238199
- Sigstore integration time:
-
Permalink:
ndelaneybusch/rocci@925b3159fc2548d92f9b4fae499db7487f193025 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ndelaneybusch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@925b3159fc2548d92f9b4fae499db7487f193025 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rocci-0.1.0-cp310-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: rocci-0.1.0-cp310-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 331.5 kB
- Tags: CPython 3.10+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b54316c216560fec8a630c7331d1266f19961cdb2a77f6421073cc4bcf67230f
|
|
| MD5 |
43768d4e66a63da206d5ca54137361bc
|
|
| BLAKE2b-256 |
a939e3e49014c349cb0e981ef40d9ee147e5af78bb19ed86705db0dd11f23e77
|
Provenance
The following attestation bundles were made for rocci-0.1.0-cp310-abi3-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on ndelaneybusch/rocci
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rocci-0.1.0-cp310-abi3-macosx_11_0_arm64.whl -
Subject digest:
b54316c216560fec8a630c7331d1266f19961cdb2a77f6421073cc4bcf67230f - Sigstore transparency entry: 2073238272
- Sigstore integration time:
-
Permalink:
ndelaneybusch/rocci@925b3159fc2548d92f9b4fae499db7487f193025 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ndelaneybusch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@925b3159fc2548d92f9b4fae499db7487f193025 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rocci-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: rocci-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 334.6 kB
- Tags: CPython 3.10+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3dbcbefca594059e4844d35061da4b39e3297337c7b74a357c55e1c7053155ba
|
|
| MD5 |
660db76d26faaeb6af136dcb88db6bac
|
|
| BLAKE2b-256 |
17eedfe142bb72ed4fb9d193e76c47bfab03eb8d1f15b7ea67a53ce78ec78fc6
|
Provenance
The following attestation bundles were made for rocci-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl:
Publisher:
wheels.yml on ndelaneybusch/rocci
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rocci-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl -
Subject digest:
3dbcbefca594059e4844d35061da4b39e3297337c7b74a357c55e1c7053155ba - Sigstore transparency entry: 2073238128
- Sigstore integration time:
-
Permalink:
ndelaneybusch/rocci@925b3159fc2548d92f9b4fae499db7487f193025 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ndelaneybusch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@925b3159fc2548d92f9b4fae499db7487f193025 -
Trigger Event:
push
-
Statement type: