Introduction
UNIQUE provides methods for quantifying and evaluating the uncertainty of Machine Learning (ML) models predictions. The library allows to combine and benchmark multiple uncertainty quantification (UQ) methods simultaneously, generates intuitive visualizations, evaluates the goodness of the UQ methods against established metrics, and in general enables the users to get a comprehensive overview of their ML model's performances from an uncertainty quantification perspective.
UNIQUE is a model-agnostic tool, meaning that it does not depend on any specific ML model building platform or provides any ML model training functionality. It is lightweight, because it only requires the user to input their model's inputs and predictions.
UNIQUE's components.Installation
UNIQUE is currently compatible with Python 3.8 through 3.12.1. To install the latest release and use the package as is, run the following in a compatible environment of choice:
pip install unique-uncertainty
or:
conda install -c conda-forge unique-uncertainty
# mamba install -c conda-forge unique-uncertainty
Check out the docs for more installation instructions.
Getting Started
Check out the docs for a complete set of instructions on how to prepare your data and the possible configurations offered by UNIQUE.
Usage
Finally, once the data and configuration files have been prepared, you can run UNIQUE in the following way:
from unique import Pipeline
# Prepare UNIQUE pipeline
pipeline = Pipeline.from_config("/path/to/config.yaml")
# Run UNIQUE pipeline
uq_methods_outputs, uq_evaluation_outputs = pipeline.fit()
# Returns: (Dict[str, np.ndarray], Dict[str, pd.DataFrame])
Fitting the Pipeline will return two dictionaries:
uq_methods_outputs: contains each UQ method's name (as in "UQ_Method_Name[Input_Name(s)]") and computed UQ values.uq_evaluation_outputs: contains, for each evaluation type (ranking-based, proper scoring rules, and calibration-based), the evaluation metrics outputs for all the corresponding UQ methods organized inpd.DataFrame.
Additionally, UNIQUE also generates graphical outputs in the form of tables and evaluation plots (if display_outputs is enabled and the code is running in a JupyterNotebook cell).
Examples
For more hands-on examples and detailed usage, check out some of the examples in the docs.
Deep Dive
Check out the docs for an in-depth overview of UNIQUE's concepts, functionalities, outputs, and references.
Contributing
Any and all contributions and suggestions from the community are more than welcome and highly appreciated. If you wish to help us out in making UNIQUE even better, please check out our contributing guidelines.
Please note that we have a Code of Conduct in place to ensure a positive and inclusive community environment. By participating in this project, you agree to abide by its terms.
License
UNIQUE is licensed under the BSD 3-Clause License. See the LICENSE file.
Cite Us
If you find UNIQUE helpful for your work and/or research, please consider citing our work:
@misc{lanini2024unique,
title={UNIQUE: A Framework for Uncertainty Quantification Benchmarking},
author={Lanini, Jessica and Huynh, Minh Tam Davide and Scebba, Gaetano and Schneider, Nadine and Rodr{\'\i}guez-P{\'e}rez, Raquel},
year={2024},
doi={https://doi.org/10.26434/chemrxiv-2024-fmbgk},
}
Contacts & Acknowledgements
For any questions or further details about the project, please get in touch with any of the following contacts:
Metadata
Release files for unique-uncertainty 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| unique_uncertainty-0.2.2.tar.gz | 4.3 MB | Without provenance | Details for unique_uncertainty-0.2.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| unique_uncertainty-0.2.2-py3-none-any.whl | Python 3 | none | any | Details for unique_uncertainty-0.2.2-py3-none-any.whl |
Total release size: 4.4 MB
Release files / unique_uncertainty-0.2.2.tar.gz
| Download URL | unique_uncertainty-0.2.2.tar.gz |
|---|---|
| Size | 4.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0709f5d11366a9eb47f1dc6a0dc0216e5bd35858fe1528076f1c0a5bb10935d7
|
|
BLAKE2b-256 checksum How to use checksums |
70824cbe842af5e3d13efd989398d6b4461fecc2bc87b2e8e554fdf4494638cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
Release files / unique_uncertainty-0.2.2-py3-none-any.whl
| Download URL | unique_uncertainty-0.2.2-py3-none-any.whl |
|---|---|
| Size | 87.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f315eac6806d011194922a51115ebc3630e9a80be03f30f0e8e79a7ea6ef7b2d
|
|
BLAKE2b-256 checksum How to use checksums |
cd1bebad3a820a64ba7e8bbec40d8a1bc7f484ef1316d20e716218074d6e24a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
Security for unique-uncertainty 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.