Skip to main content

Classification with rejection in Python.

Project description

PyPI Documentation Status DOI

reject is a Python library for classification with rejection. Neural networks are often confidently wrong when confronted with out-of-distribution data. When the prediction's uncertainty is too high, the model abstains from predicting and the observation is passed on to a human expert who takes the final decision. It is useful for applications where making an error can be more costly than asking a human expert for help.

Installation

$ pip install reject

Documentation

The documentation is deployed to reject.readthedocs.io.

Usage

from reject.reject import ClassificationRejector

y_pred  # Array of predictions. Shape (n_observations, n_classes) or (n_observations, n_samples, n_classes).
y_true  # Array of true labels. Shape (n_observations,).

# initialize the rejector
rej = ClassificationRejector(y_true_all, y_pred_all)
# single rejection point
rej.reject(threshold=0.5, unc_type="TU", relative=True, show=True)
             Non-rejected    Rejected
---------  --------------  ----------
Correct               891          20
Incorrect             109         980

  Non-rejected accuracy    Classification quality    Rejection quality
-----------------------  ------------------------  -------------------
                 0.8910                    0.9355              40.9908
# rejection curve
fig = rej.plot_reject(unc_type="TU", metric="NRA")
print(fig)

User guide notebooks are provided in the reject.readthedocs.io documentation.

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

reject-0.3.2.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

reject-0.3.2-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file reject-0.3.2.tar.gz.

File metadata

  • Download URL: reject-0.3.2.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.5 Linux/6.5.0-25-generic

File hashes

Hashes for reject-0.3.2.tar.gz
Algorithm Hash digest
SHA256 62eb32f81262b7172c58c9c4871889a2f3f79b12468d92139c6d685387c0b585
MD5 670f59b560e0384c7eb9d58ed6f141ec
BLAKE2b-256 5a2fe5fed73f8584390dc769adc6f8eeb25eb2bfc686789427c0712edba53ca1

See more details on using hashes here.

File details

Details for the file reject-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: reject-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.5 Linux/6.5.0-25-generic

File hashes

Hashes for reject-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1729b81cf031c4c92a2d984668e68e3531f997c22f6c2dd7cc5b00b8d1d28eb5
MD5 72337c75aaf70e1dd9dbfd305ea78def
BLAKE2b-256 c62b0622129895a46d06b4b6c883e70d5c6e6578deeb068c2c7913b17d79d766

See more details on using hashes here.

Supported by

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