Python Open-source package for ensuring robust and reliable ML models deployments
Project description
MED3pa: Predictive Performance Precision Analysis in Medicine
Table of Contents
- Overview
- Key Functionalities
- Subpackages
- Getting Started with the Package
- Acknowledgement
- References
- Authors
- Statement
- Supported Python Versions
Overview
The MED3pa package is specifically designed to address critical challenges in deploying machine learning models, particularly focusing on the robustness and reliability of models under real-world conditions. It provides comprehensive tools for evaluating model stability and performance in the face of covariate shifts, uncertainty, and problematic data profiles.
Key Functionalities
-
** Model Confidence Estimation**: Through the MED3pa subpackage, the package measures the predictive confidence at both individual and group (profile) levels. This helps in understanding the reliability of model predictions and in making informed decisions based on model outputs.
-
Identification of Problematic Profiles: MED3pa analyzes data profiles for whom the BaseModel consistently leads to poor model performance. This capability allows developers to refine training datasets or retrain models to handle these edge cases effectively.
Subpackages
The package is structured into four distinct subpackages:
- datasets: Stores and manages the dataset.
- models: Handles ML models operations.
- med3pa: Evaluates the model’s performance & extracts problematic profiles.
This modularity allows users to easily integrate and utilize specific functionalities tailored to their needs without dealing with unnecessary complexities.
Getting Started with the Package
To get started with MED3pa, follow the installation instructions and usage examples provided in the documentation.
Installation
pip install MED3pa
A simple exemple
We have created a simple example of using the MED3pa package. See the full example here
from MED3pa.datasets import DatasetsManager
from MED3pa.med3pa import Med3paExperiment
from MED3pa.models import BaseModelManager
from MED3pa.visualization.mdr_visualization import visualize_mdr
from MED3pa.visualization.profiles_visualization import visualize_tree
...
# Initialize the DatasetsManager
datasets = DatasetsManager()
datasets.set_from_data(dataset_type="testing",
observations=x_evaluation.to_numpy(),
true_labels=y_evaluation,
column_labels=x_evaluation.columns)
# Initialize the BaseModelManager
base_model_manager = BaseModelManager(model=clf)
# Execute the MED3PA experiment
results = Med3paExperiment.run(
datasets_manager=datasets,
base_model_manager=base_model_manager,
**med3pa_params
)
# Save the results to a specified directory
results.save(file_path='results/oym')
# Visualize results
visualize_mdr(result=results, filename='results/oym/mdr')
visualize_tree(result=results, filename='results/oym/profiles')
Acknowledgement
MED3pa is an open-source package developed at the MEDomicsLab laboratory. We welcome any contribution and feedback.
Authors
- Olivier Lefebvre: Student (Ph. D. Computer science) at Université de Sherbrooke
- Lyna Chikouche: Research intern at MEDomics-Udes laboratory.
- Ludmila Amriou: Research intern at MEDomics-Udes laboratory.
- Martin Vallières: Associate professor, Department of Oncology at McGill University
Statement
This package is part of https://www.medomics.ai/, a package providing research utility tools for developing precision medicine applications.
Copyright (C) 2024 MEDomics consortium
GPLV3 LICENSE SYNOPSIS
Here's what the license entails:
1. Anyone can copy, modify and distribute this software.
2. You have to include the license and copyright notice with each and every distribution.
3. You can use this software privately.
4. You can use this software for commercial purposes.
5. If you dare build your business solely from this code, you risk open-sourcing the whole code base.
6. If you modify it, you have to indicate changes made to the code.
7. Any modifications of this code base MUST be distributed with the same license, GPLv3.
8. This software is provided without warranty.
9. The software author or license can not be held liable for any damages inflicted by the software.
More information about the LICENSE can be found here
Supported Python Versions
The MED3pa package is developed and tested with Python 3.12.3.
Additionally, it is compatible with the following Python versions:
- Python 3.11.x
- Python 3.10.x
- Python 3.9.x
While the package may work with other versions of Python, these are the versions we officially support and recommend.
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 med3pa-1.0.0.tar.gz.
File metadata
- Download URL: med3pa-1.0.0.tar.gz
- Upload date:
- Size: 3.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18ade43f7b5f889c79b807e5f1c50baf20cef37ac238a0fe19f92b41a69aa1f6
|
|
| MD5 |
2b003562c86c9415c84717f8abd289b1
|
|
| BLAKE2b-256 |
a9f8894bd9b7d7a052c5c1d9cea989385a77b285e504e51f27d60a48327bd46f
|
Provenance
The following attestation bundles were made for med3pa-1.0.0.tar.gz:
Publisher:
publish.yml on MEDomics-UdeS/MED3pa
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
med3pa-1.0.0.tar.gz -
Subject digest:
18ade43f7b5f889c79b807e5f1c50baf20cef37ac238a0fe19f92b41a69aa1f6 - Sigstore transparency entry: 474331300
- Sigstore integration time:
-
Permalink:
MEDomics-UdeS/MED3pa@1ce97a8bf60c70403f2ea96531c1211fcba7b488 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/MEDomics-UdeS
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1ce97a8bf60c70403f2ea96531c1211fcba7b488 -
Trigger Event:
release
-
Statement type:
File details
Details for the file med3pa-1.0.0-py3-none-any.whl.
File metadata
- Download URL: med3pa-1.0.0-py3-none-any.whl
- Upload date:
- Size: 73.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b12baa4bec4c76dda021d821ef4d5f1d9d26077a8e15d13a2702eb990b99ac5
|
|
| MD5 |
c3f2932cd558489f3b71d941f30314f1
|
|
| BLAKE2b-256 |
ad9fea2c4b8f8007b599a5f2500334094a976924d0cfeb052db299b5159d1036
|
Provenance
The following attestation bundles were made for med3pa-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on MEDomics-UdeS/MED3pa
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
med3pa-1.0.0-py3-none-any.whl -
Subject digest:
3b12baa4bec4c76dda021d821ef4d5f1d9d26077a8e15d13a2702eb990b99ac5 - Sigstore transparency entry: 474331308
- Sigstore integration time:
-
Permalink:
MEDomics-UdeS/MED3pa@1ce97a8bf60c70403f2ea96531c1211fcba7b488 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/MEDomics-UdeS
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1ce97a8bf60c70403f2ea96531c1211fcba7b488 -
Trigger Event:
release
-
Statement type: