Skip to main content

Python library for in-depth profiling of model performance across overall and disparity dimensions

Project description

Virny Software Library

CI Pipeline documentation pypi Python Versions code_size last_commit bsd_3_license

📜 Description

Virny is a Python library for in-depth profiling of model performance across overall and disparity dimensions. In addition to its metric computation capabilities, the library provides an interactive tool called VirnyView to streamline responsible model selection and generate nutritional labels for ML models.

The Virny library was developed based on three fundamental principles:

  1. easy extensibility of model analysis capabilities;

  2. compatibility to user-defined/custom datasets and model types;

  3. simple composition of disparity metrics based on the context of use.

Virny decouples model auditing into several stages, including: subgroup metric computation, disparity metric composition, and metric visualization. This gives data scientists more control and flexibility to use the library for model development and monitoring post-deployment.

For quickstart, look at use case examples, an interactive demo, and a demonstrative Jupyter notebook.

🛠 Installation

Virny supports Python 3.9-3.12 and can be installed with pip:

pip install virny

📒 Documentation

😎 Why Virny

In contrast to existing fairness software libraries and model card generating frameworks, our system stands out in four key aspects:

  1. Virny facilitates the measurement of all normatively important performance dimensions (including fairness, stability, and uncertainty) for a set of initialized models, both overall and broken down by user-defined subgroups of interest.

  2. Virny enables data scientists to analyze performance using multiple sensitive attributes (including non-binary) and their intersections.

  3. Virny offers diverse APIs for metric computation, designed to analyze multiple models in a single execution, assessing stability and uncertainty on correct and incorrect predictions broken down by protected groups, and testing models on multiple test sets, including in-domain and out-of-domain.

  4. Virny implements streamlined flow design tailored for responsible model selection, reducing the complexity associated with numerous model types, performance dimensions, and data-centric and model-centric interventions.

💡 List of Features

  • Profiling of all normatively important performance dimensions: accuracy, stability, uncertainty, and fairness
  • Ability to analyze non-binary sensitive attributes and their intersections
  • Convenient metric computation interfaces: an interface for multiple models, an interface for multiple test sets, and an interface for saving results into a user-defined database
  • Interactive VirnyView visualizer that profiles dataset properties related to protected groups, computes comprehensive nutritional labels for individual models, compares multiple models according to multiple metrics, and guides users through model selection
  • Compatibility with pre-, in-, and post-processors for fairness enhancement from AIF360
  • An error_analysis computation mode to analyze model stability and confidence for correct and incorrect prodictions broken down by groups
  • Metric static and interactive visualizations
  • Data loaders with subsampling for popular fair-ML benchmark datasets
  • User-friendly parameters input via config yaml files
  • Integration with PyTorch Tabular

Check out our documentation for a comprehensive overview.

🤗 Affiliations

NYU-UCU-Logos

💬 Citation

If Virny has been useful to you, and you would like to cite it in a scientific publication, please refer to the paper published at SIGMOD:

@inproceedings{herasymuk2024responsible,
  title={Responsible Model Selection with Virny and VirnyView},
  author={Herasymuk, Denys and Arif Khan, Falaah and Stoyanovich, Julia},
  booktitle={Companion of the 2024 International Conference on Management of Data},
  pages={488--491},
  year={2024}
}

📝 License

Virny is free and open-source software licensed under the 3-clause BSD license.

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

virny-0.6.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

virny-0.6.0-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file virny-0.6.0.tar.gz.

File metadata

  • Download URL: virny-0.6.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for virny-0.6.0.tar.gz
Algorithm Hash digest
SHA256 8f1d447ffba20b525aa25b91b9b6edced6ba7d8e03ee7262e5d428490e9b4b10
MD5 fba6758aabd6aef4f19977aedc9b67d5
BLAKE2b-256 7088580ed407130243900f1d9bb7b83f415ac50af3c3a6bf5e0e5eeb89724fd2

See more details on using hashes here.

File details

Details for the file virny-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: virny-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for virny-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc8a2c293e36763b52e624fa4aa3613870b3a7a1153ec4973ff7123290ee2b6d
MD5 11539471f306ef4b09176834a40b0c12
BLAKE2b-256 7ad2ad22dd0ee7d31eb9fe223ca2b8fd898d77cc1d827c14477b5204d240fc3c

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