Trustworthiness metrics and calibration tools for predictive models
Project description
TrustPy - Trustworthiness Python
Python package for validating AI/ML model reliability and uncertainty during development and before deployment. Distributed via Conda-Forge and PyPI.
The implementation is flexible and works out-the-box with any AI/ML library.
Installation
Recommended 1: Install via Conda-Forge
The easiest way to install trustpy-tools is via Conda-Forge, which handles all dependencies automatically. Run the following command:
conda install -c conda-forge trustpy-tools
Recommended 2: Install via PyPI (pip install)
If you prefer using pip (PyPI), you can install directly:
pip install trustpy-tools
Alternative: Manual Installation
If you prefer to install the package manually or are not using Conda, you can install the required dependencies and clone the repository.
Install Dependencies
- NumPy: For numerical calculations.
- Matplotlib: For plotting the trust spectrum.
- Scikit-learn: For Kernel Density Estimation (KDE) in trust density estimation.
Install them via conda:
conda install numpy matplotlib scikit-learn
or
Install them via pip:
pip install numpy matplotlib scikit-learn
Clone the Repository
git clone https://github.com/yaniker/TrustPy.git
cd TrustPy
You can verify installation by running:
python -c "from trustpy import NTS, CNTS; print('TrustPy is ready.')"
Example Usage
from trustpy import NTS, CNTS #This is how the package is imported.
import numpy as np
# Example oracle and predictions
oracle = np.array([0, 0, 1, 2, 2, 0, 1]) # True labels
predictions = np.array([
[0.8, 0.1, 0.1], # Correct, high confidence
[1.0, 0.0, 0.0], # Correct, high confidence
[0.2, 0.7, 0.1], # Correct, high confidence
[0.1, 0.2, 0.7], # Correct, high confidence
[0.1, 0.4, 0.5], # Correct, lower confidence
[0.1, 0.8, 0.1], # Incorrect, high confidence
[0.3, 0.3, 0.4] # Incorrect, low confidence
]
) #Replace this with your model's predictions (`predictions = model.predict()`)
# FOR NETTRUSTSCORE #
# Initialize with default parameters
nts = NTS(oracle, predictions, show_summary=True, export_summary=True, trust_spectrum=True)
nts_scores_dict = nts.compute() # Computes trustworthiness for each class and overall.
# FOR CONDITIONAL NETTRUSTSCORE #
# Initialize with default parameters
cnts = CNTS(oracle, predictions, show_summary=True, export_summary=True, trust_spectrum=True)
cnts_scores_dict = cnts.compute() # Computes trustworthiness for each class and overall.
# Sets show_summary=True to print the results table.
# Sets export_summary=True to save the results.
# Sets trust_spectrum=True to generate trust_spectrum.png
Example Plot for Trust Spectrum (trust_spectrum = True)
Example Plot for Conditional Trust Spectrum (trust_spectrum = True)
I shared the codes for the plots Python scripts for plots for users to modify as needed.
Unit Testing
All unit tests were run using pytest with full coverage prior to release to ensure reliability and correctness.
Licence
This project is licensed under the MIT License. See LICENSE for details.
Citations
For scholarly references and the origins of the techniques used in this package, please refer to the CITATION file.
Project details
Release history Release notifications | RSS feed
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 trustpy_tools-2.0.6.tar.gz.
File metadata
- Download URL: trustpy_tools-2.0.6.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e80dc2b0af2b4d982f44f7a7372e3f5a4d73bc1ed2252d5191b083f8a0d6cbf7
|
|
| MD5 |
ae415b002515562c317d6465527d443c
|
|
| BLAKE2b-256 |
2683e15f8ba2e988e11bd32592e14bd22d56b0b7200be0c6e7b77536dbfc4600
|
File details
Details for the file trustpy_tools-2.0.6-py3-none-any.whl.
File metadata
- Download URL: trustpy_tools-2.0.6-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cd9cfa246b442f097e2c475374a7935c3b503228bc894504439d3652c67bf6f
|
|
| MD5 |
848aa9b3a9550ed8ed1cd13fb83898e0
|
|
| BLAKE2b-256 |
3e2519aa0f01d62d0d73648167ef3d99496a0fe817e3b176054627841df19329
|