A low-code interpretable machine learning toolbox in Python.
Project description
An integrated Python toolbox for interpretable machine learning
pip install PiML
🚀 October 31, 2022: V0.4.0 is released with enriched models and enhanced diagnostics.
🚀 July 26, 2022: V0.3.0 is released with classic statistical models.
🚀 June 26, 2022: V0.2.0 is released with high-code APIs.
📢 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.2.post4-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e68db82220b685d482dd98c6f598aa40fa37ddd9b4d4d616ba8ddd3142790e7 |
|
MD5 | 748c5ab880a48b85999c2d36cc715ca9 |
|
BLAKE2b-256 | 4c65b904d65ca11cacee27ce58421a4587abbd11fec71a8ef286d6eb7e1bdbd0 |
Hashes for PiML-0.4.2.post4-cp39-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f6eefb92ae63cc35816b1d73bba4637612425986ba85241fb21e80fd73e06b8 |
|
MD5 | ef0946c9a81877dd2df8a2c97a8c2472 |
|
BLAKE2b-256 | 0ba922db688cea03635c88a7621fea32e5f971e532b962ecd97dd35309db4db2 |
Hashes for PiML-0.4.2.post4-cp39-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eeb869877cafb1a694b2a80efcd29e3fede4f694b5aebfe5dc37828c7837f1d0 |
|
MD5 | 2e1f1befed0f654082b2588e915a45f3 |
|
BLAKE2b-256 | fa221366ee66654993c1e24888d21ac5dcb48ecee183e1cbf5f76a4473749f42 |
Hashes for PiML-0.4.2.post4-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d513b77cb6732af9a7a1e49cf93e722c45da5affdea626d8773a5cc92bb8f56 |
|
MD5 | 260b9e90e55e6cd3167a18ecbc35488a |
|
BLAKE2b-256 | 645b72298dd52eb8a0b70bde081214c23b29ef45f70a14f70b4d037ca4f3c852 |
Hashes for PiML-0.4.2.post4-cp38-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b4a73ec276701c219d5d81734520001d665f8bcfc40955f78035183ac69dcb6 |
|
MD5 | 98fb2ce5dbfeb768392ac68beedc6566 |
|
BLAKE2b-256 | 4bde7283bb016229051654be21d330b3d472cbaeb0574cc1d174ffbfb83f54a2 |
Hashes for PiML-0.4.2.post4-cp38-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 505d9fcd843df6e195120ea7aa85cc33c3d646b92f9962dacb7a52f9c7d05c72 |
|
MD5 | 6b3be5272a81d69f5445fddc6bdc197d |
|
BLAKE2b-256 | 1fc606286981f81fb6fad9328ff2ba559fd8f8bf235c7d3d15e879c13dce8485 |
Hashes for PiML-0.4.2.post4-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c440e5f8904f93f7bec5b405d8096491df3779704a2f1eb04fde07ee5e3b77b4 |
|
MD5 | 52956ff9da872dbd68b6498af1109ee7 |
|
BLAKE2b-256 | 28f69ad32763493887062fd55f3236a8f2615ea3d72e2a86b9b63e9255b97574 |
Hashes for PiML-0.4.2.post4-cp37-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f9bb3ed7d8cc6d849ee112706af8a1f0a31622d5a5935388f6fe9f45445a0d8 |
|
MD5 | 0a3ee2f776e8093c3850b34898b95e90 |
|
BLAKE2b-256 | 2125849988dc47843c77a6a269e794d7796daa5abd89b113d64b7ad107cacff7 |
Hashes for PiML-0.4.2.post4-cp37-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce2d0fb17491a1972fdf7f536f29dd4e3140e1bf138ee69e738e6e2ebacdca46 |
|
MD5 | afb29ee432ba011636dd67c6574bf606 |
|
BLAKE2b-256 | 0679c5a2582e1ff33b98a109e9c155f475b323c28c62de23a5a4ea2f50de0b15 |