Skip to main content

Distribution-free simultaneous confidence bands for ROC curves

Project description

rocci

PyPI Python versions CI Merge gates coverage Docs License

Distribution-free simultaneous confidence bands for ROC curves.

rocci is a simple interface to easily add uncertainty estimates to your ROC curve. It draws a simultaneous confidence band, which maintains the specified confidence of capturing the entire true (population) ROC. rocci uses a new nonparametric method by default that is likely to work with nearly all common data distributions.

from rocci import roc_band

band = roc_band(y_true, y_score)
band.plot()
print(band.summary())

Why rocci

rocci is designed to:

  • just work. It does 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. A rust backend blazes through the algorithm.
  • make a minimal footprint. The only hard dependency is numpy.
  • clear an unreasonably high bar of rigor. Method is validated with millions of simulations across diverse data sets, implementation is verified with exacting tests.
  • support an open ecosystem. Permissive MIT license, easy extensibility.

If you are comfortable adding a normality assumption to get tighter bands, rocci yields the tighter "Working-Hotelling" band, but also carefully checks the normality assumption and warns you when it looks dicey.

Installation

pip install rocci            # prebuilt wheels (no need for rust toolchain)

# optional plotting support
pip install 'rocci[plot]'

Details in the installation guide.

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

rocci-0.3.0.tar.gz (55.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rocci-0.3.0-cp310-abi3-win_amd64.whl (244.4 kB view details)

Uploaded CPython 3.10+Windows x86-64

rocci-0.3.0-cp310-abi3-musllinux_1_2_x86_64.whl (596.6 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

rocci-0.3.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (383.9 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

rocci-0.3.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (384.6 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

rocci-0.3.0-cp310-abi3-macosx_11_0_arm64.whl (344.9 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

rocci-0.3.0-cp310-abi3-macosx_10_12_x86_64.whl (348.1 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file rocci-0.3.0.tar.gz.

File metadata

  • Download URL: rocci-0.3.0.tar.gz
  • Upload date:
  • Size: 55.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rocci-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9a2c9c375c0c89e8e17285b881a90b141413ecfd758b6b537efdfada068f019d
MD5 9e00626f432107eaa67336ea3ddfd064
BLAKE2b-256 7b6f68559db988ec8616beeb4d4ea1502c297a85c99cbd0d8d213bf3b9ce26be

See more details on using hashes here.

Provenance

The following attestation bundles were made for rocci-0.3.0.tar.gz:

Publisher: wheels.yml on ndelaneybusch/rocci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rocci-0.3.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: rocci-0.3.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 244.4 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

Hashes for rocci-0.3.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bb5cf69f7f19c472e3e074ba8243bc6122c0cf887b12356771ef9157574dc547
MD5 1b23cd023d8df351ede5ed901a05b6e3
BLAKE2b-256 ef94e770e384f6da28a266ce26e3f1cb785d8c4d88e499a0063bce731581e887

See more details on using hashes here.

Provenance

The following attestation bundles were made for rocci-0.3.0-cp310-abi3-win_amd64.whl:

Publisher: wheels.yml on ndelaneybusch/rocci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rocci-0.3.0-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rocci-0.3.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f5490b3fc1a056a2e4d3cbe8a8366d54be399da387736e0544e02ae6bc4b62c2
MD5 d2d0de49b894092fa9c3b8f9550046ff
BLAKE2b-256 ae9c73fa4428199c16589fc8b6242a5863fdc356b65215cb3afd4a0e24b1646c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rocci-0.3.0-cp310-abi3-musllinux_1_2_x86_64.whl:

Publisher: wheels.yml on ndelaneybusch/rocci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rocci-0.3.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rocci-0.3.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 00a44545a0dd121ab3d63bc70fa6ebb2aa771c233723698e6ff2c5a26ee06a4b
MD5 4ec1cca4afcbd0d7cbfd5fb80982df3b
BLAKE2b-256 478d2a01e4261d0f32643c8f8b1202071da93fac59e4e69d5511fd7c4ad70ec0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rocci-0.3.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on ndelaneybusch/rocci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rocci-0.3.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rocci-0.3.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b8f63568120afa247d9dab528ac911fd3f79471cadc92f1c16d274514677c0de
MD5 f3af6822d36087b6e0378bde2d6f0259
BLAKE2b-256 a7080b53ff86817dfd67aba9642f2f96c8d705c62c50a4d436a367b1c1277c69

See more details on using hashes here.

Provenance

The following attestation bundles were made for rocci-0.3.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: wheels.yml on ndelaneybusch/rocci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rocci-0.3.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: rocci-0.3.0-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 344.9 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

Hashes for rocci-0.3.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44c678ef917fc808a054fcf9967eb3c6367e2662f24e4dea305cfd7480511ddf
MD5 e237ed559d951f1a7b2770725c57c36a
BLAKE2b-256 491ee11e8e5b69c3c2888c576ad852468aa17e5c0f62144df6bd84abc9e3b08f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rocci-0.3.0-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: wheels.yml on ndelaneybusch/rocci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rocci-0.3.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rocci-0.3.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a05d0562da044f0c95fd1f679d3d9835b90e7e8f4593e4a3a55d6edc59b43c31
MD5 7e1806a429b10f1568c11b8b499352da
BLAKE2b-256 25f0a4301178b2b3d2f3f160a4b65c0133c15d76b19c903fd483ca2b597ff4df

See more details on using hashes here.

Provenance

The following attestation bundles were made for rocci-0.3.0-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on ndelaneybusch/rocci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page