A low-code interpretable machine learning toolbox in Python.
Project description
An integrated Python toolbox for interpretable machine learning
pip install PiML
:rocket: October 31, 2022: V0.4.0 is released with enriched models and enhanced diagnostics.
:rocket: July 26, 2022: V0.3.0 is released with classic statistical models.
:rocket: June 26, 2022: V0.2.0 is released with high-code APIs.
:loudspeaker: May 4, 2022: V0.1.0 is launched with low-code UI/UX.
PiML (or π-ML, /ˈpaɪ·ˈem·ˈel/) is a new Python toolbox for interpretable machine learning model development and validation. Through low-code interface and high-code APIs, PiML supports a growing list of inherently interpretable ML models:
- GLM: Linear/Logistic Regression with L1 ∨ L2 Regularization
- GAM: Generalized Additive Models using B-splines
- Tree: Decision Tree for Classification and Regression
- FIGS: Fast Interpretable Greedy-Tree Sums (Tan, et al. 2022)
- XGB2: Extreme Gradient Boosted Trees of Depth 2 (Chen and Guestrin, 2016; Lengerich, et al. 2020)
- EBM: Explainable Boosting Machine (Nori, et al. 2019; Lou, et al. 2013)
- GAMI-Net: Generalized Additive Model with Structured Interactions (Yang, Zhang and Sudjianto, 2021)
- ReLU-DNN: Deep ReLU Networks using Aletheia Unwrapper and Sparsification (Sudjianto, et al. 2020)
PiML also works for arbitrary supervised ML models under regression and binary classification settings. It supports a whole spectrum of outcome testing, including but not limited to, the following:
- Accuracy: popular metrics like MSE, MAE for regression tasks and ACC, AUC, Recall, Precision, F1-score for binary classification tasks.
- Explainability: post-hoc global explainers (PFI, PDP, ALE) and local explainers (LIME, SHAP).
- Fairness: disparity test and segmented analysis by integrating the solas-ai package.
- WeakSpot: identification of weak regions with high residuals by slicing techniques.
- Overfit: identification of overfitting regions according ot train-test performance gap.
- Reliability: assessment of prediction uncertainty by split conformal prediction techniques.
- Robustness: evaluation of performance degradation under covariate noise perturbation.
- Resilience: evaluation of performance degradation under different out-of-distribution scenarios.
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 Distributions
Built Distributions
Hashes for PiML-0.4.0.post1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da845c300e9be861a7edb30a7993bc1fdec43610af74608f7c99b9fac326121a |
|
MD5 | d87ae4919daabc77b7bc5355c28bd9e1 |
|
BLAKE2b-256 | 1d1ede39ff2647d97c3728d3777c48d633aa660562c3e2bc902c2e966c6746c0 |
Hashes for PiML-0.4.0.post1-cp39-none-manylinux_2_5_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43d3577c644cdeb562fa1a4eee89a8b0cae4597a396f3320fc78d4d97e1ab1e9 |
|
MD5 | 8d5c76c3a08e60374d2b745fd3791f77 |
|
BLAKE2b-256 | 1a6c4e13fff07c8e2ce3d6b9c193f93f6519b20cfa604902aced9a5367489aa9 |
Hashes for PiML-0.4.0.post1-cp39-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a50dc0a09ef9acae60355a5e5212199de38522ef48c3b3976f9a27a5e0a20a86 |
|
MD5 | ee04e3968e7ab387184a72aa7314f722 |
|
BLAKE2b-256 | ad9205e5b621e76fbfce4d8a879144e50eebbabb8ca1e2e9babfe25b3265a051 |
Hashes for PiML-0.4.0.post1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e1db9066ebc04120e7ea3ac63a9eed4dd4e9f69143eaa935bfbe6935b5acdda |
|
MD5 | 2c0d345ab3e448d86e68fb0033842992 |
|
BLAKE2b-256 | e57e7b3208dad8973d8a2bc26e7578e8cc25e63df3a0b07778996ab5abc2cb21 |
Hashes for PiML-0.4.0.post1-cp38-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edf6c1f1ba45ad64c8769341f2216a4c651da574356e18fe2271a7ed9af77296 |
|
MD5 | fe49ed3d0a172a0a19edc47c72ba27b1 |
|
BLAKE2b-256 | 6a4ec04d08b27dc8f7aaf8b4b03723874517f015f0c6ba6311495ae149cf3a37 |
Hashes for PiML-0.4.0.post1-cp38-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b4e325c2d7abebbcf3c71d0d627eb3047cf6a3b359ca5609bd25d95e312462f |
|
MD5 | 090d966baf6e51a24d91b0ff0ab29457 |
|
BLAKE2b-256 | 46a269662df5747545573526f6bd5e8410f12f35a49853b4cb2c4640b29d2336 |
Hashes for PiML-0.4.0.post1-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6103893625bc37482e88c547cd0a4e0c2bacac5ba94b1b9323420f0e15e9e98 |
|
MD5 | a3c8b435743ee9002407219b2bfcdae0 |
|
BLAKE2b-256 | 845857b0619f121f6a3e27fa4fb7fd6c1677a55262918c3297eb17e387008152 |
Hashes for PiML-0.4.0.post1-cp37-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 059091d66bef8d641efc9ec4c15d316d07e97c0a9c9455ed921e46c3caba986e |
|
MD5 | 6ac3edec1b0bfaf092585949b1775ecf |
|
BLAKE2b-256 | 09cb4016b5dfd696f55f0c07bc4bc51ddc0b0ee417f973789c93b172587fd83c |
Hashes for PiML-0.4.0.post1-cp37-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85f28246d8c66b14f65d4fcf78c1b9ee5bf57197e49e64321df5d4ff0bcff02a |
|
MD5 | e60c0b180c3994f1e1a10360c3d090b4 |
|
BLAKE2b-256 | e0b9f33c2edee01994ae52750108ab86c8736118656003d15f143213c8dbd3a5 |