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.6.0.post2-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed758c62dfb6f32ec7a82702461b32b8c9bd2f0570bb824b6fe8f18745d93201 |
|
MD5 | 20533cf25ee529383859574a409ec373 |
|
BLAKE2b-256 | c4323bf8e342a4ccb3c69f8b430da157da5a428422395fe3e51a4fd14a305246 |
Hashes for PiML-0.6.0.post2-cp310-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8caaaa60b6dd4ab2632beeaf4ac4f741f3a38e8d18487b83262b2c7ac2e9748 |
|
MD5 | e55c60eb9e13d1d5ca621a8884093667 |
|
BLAKE2b-256 | 3f234327572fd2ac3bd1f6b78ed5b29f94ed4c425266c4e59f16505622295a20 |
Hashes for PiML-0.6.0.post2-cp310-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d798e4dac699495f6570b05ab0cc160881b9ef6de2b364bc2dc733a1174ac56 |
|
MD5 | ea3862571fb5a0049b124ea07ff8e8af |
|
BLAKE2b-256 | d5d49db624a323ae6f3ea1998e889a032491f23db75bee843e9acaf910545f28 |
Hashes for PiML-0.6.0.post2-cp310-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f9d528d4ca0f468418248d081a6a494b131e72475c437510452063d572e000b |
|
MD5 | 278fe30499cf6733abc43c7a57404e22 |
|
BLAKE2b-256 | cba8c1f18f44195f0bf1cb3c7c90b20dcb9955506cde0aec56ca47c5b47afd52 |
Hashes for PiML-0.6.0.post2-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d1ca81ffcfcfdde2f7509d3bc65143099b7c2707f097b4d185b7f24b5380305 |
|
MD5 | c606059b13861a7e6deaceecd88c2baf |
|
BLAKE2b-256 | b1bb59cf6d0292cbe652fcf6d883de59a56954808705863a23045bab8f21895d |
Hashes for PiML-0.6.0.post2-cp39-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fa3fd6d7a30ca5c3aea8753c62abcdc2c9b8d65a3c8efaa11922b648b3022aa |
|
MD5 | f34fe54a3168edc6be9af9fc6bbcfb0e |
|
BLAKE2b-256 | 01fbad519fcc114a15b23e9e684b57ef86923388ae0b15933750e1c5c6280cb0 |
Hashes for PiML-0.6.0.post2-cp39-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58d6a2f4de8ee7f8f82fbf88f7037233e16e63889a07f13ca96cc8021b927ef4 |
|
MD5 | ad1fc47c0ff49b24ffba88b881e18c13 |
|
BLAKE2b-256 | 9782995afed4e67d5766a225aca894616e5d093f5d520819c587c0d00d27c917 |
Hashes for PiML-0.6.0.post2-cp39-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9706e876d8b0341d82529977440e71c7899544e3534dea459e7d1d6fed6432f9 |
|
MD5 | 3a32322a25e6fd301943a50eae0fad3a |
|
BLAKE2b-256 | 1a7d18c8e67cd25ea3703b75b269f7040e538ecb3797f155879c5be3d3573083 |
Hashes for PiML-0.6.0.post2-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55865fa3fead2d34d342df10aa3b14e8d2e7d57995c3ce34cd38e93b7dd1cfbd |
|
MD5 | 7c8de63cda037e1df6d9aadfaca9c165 |
|
BLAKE2b-256 | 034c289d7be939e37cf741a6e395fd4a8d41d061f33cbff0244ce3eb87b3bcee |
Hashes for PiML-0.6.0.post2-cp38-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e532923792fba195545fa0c037e15423ea4fc57b8a4ff69397551f1ecc6420cd |
|
MD5 | 0dab48aa2a4058789d8834ed81d801bf |
|
BLAKE2b-256 | f3ce282f102a7c98343383db720b2ef4f7de39a8f4245dec41f10ea66a476735 |
Hashes for PiML-0.6.0.post2-cp38-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26935f0e75f9e2ee315dcadc83fd742f5e3802c4dfc07a2c14cf3e46aa717463 |
|
MD5 | b890e82b23a901c7b881332bb399ef3a |
|
BLAKE2b-256 | c7401363be8a0e119a0d2d62d6e1b21f913f5fd52132bc7c76eb2d21a54c050b |
Hashes for PiML-0.6.0.post2-cp38-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e864e530ddf0396b940d3d8bae815b339fda29abf7be80a70fc811f2627a1e05 |
|
MD5 | 02d77aa230c357d68353880085f6a2ae |
|
BLAKE2b-256 | 287c9f4f7fb5563487197ba04f68a722ead94edadc0e0062d6795fe6592c65fd |
Hashes for PiML-0.6.0.post2-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2da9d53d8d1acea1e6100fb5c8df3f0e32f41ad95e20fbffaa2ba4c95890fd5 |
|
MD5 | b32f8d9af6e67a2da4bcf8ef4a2fb928 |
|
BLAKE2b-256 | ab3aced7c8d1a20dab80296cbeb744f9f0ba840895a4cf6a7ab3b86e61d553ed |
Hashes for PiML-0.6.0.post2-cp37-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7d1773fbb62445ab02f309591fb75b5f9ca3f170e0f4ce907955db07031038e |
|
MD5 | 3507ab2cf6937673c089f2925dcda50e |
|
BLAKE2b-256 | bf5b4f84cb76f235406decaaec4bdb296ca9d0d64874e8eaa97dd91266b3c1d3 |
Hashes for PiML-0.6.0.post2-cp37-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e09a59f6e53efe8ab2a3b0f653cdb2cf44b9a8dd1befd3eda1132d3d4c044c5d |
|
MD5 | 91100ce8a6d061af06104e599df1bb15 |
|
BLAKE2b-256 | 995f98f6488d436cc1987d4870101290c5001f76661c6b80787dc8ba53b62c20 |