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
File details
Details for the file PiML-0.6.0.post2-cp310-none-win_amd64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp310-none-win_amd64.whl
- Upload date:
- Size: 7.7 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed758c62dfb6f32ec7a82702461b32b8c9bd2f0570bb824b6fe8f18745d93201 |
|
MD5 | 20533cf25ee529383859574a409ec373 |
|
BLAKE2b-256 | c4323bf8e342a4ccb3c69f8b430da157da5a428422395fe3e51a4fd14a305246 |
File details
Details for the file PiML-0.6.0.post2-cp310-none-manylinux_2_17_x86_64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp310-none-manylinux_2_17_x86_64.whl
- Upload date:
- Size: 12.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8caaaa60b6dd4ab2632beeaf4ac4f741f3a38e8d18487b83262b2c7ac2e9748 |
|
MD5 | e55c60eb9e13d1d5ca621a8884093667 |
|
BLAKE2b-256 | 3f234327572fd2ac3bd1f6b78ed5b29f94ed4c425266c4e59f16505622295a20 |
File details
Details for the file PiML-0.6.0.post2-cp310-none-macosx_11_0_arm64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp310-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 9.2 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d798e4dac699495f6570b05ab0cc160881b9ef6de2b364bc2dc733a1174ac56 |
|
MD5 | ea3862571fb5a0049b124ea07ff8e8af |
|
BLAKE2b-256 | d5d49db624a323ae6f3ea1998e889a032491f23db75bee843e9acaf910545f28 |
File details
Details for the file PiML-0.6.0.post2-cp310-none-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp310-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 9.7 MB
- Tags: CPython 3.10, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f9d528d4ca0f468418248d081a6a494b131e72475c437510452063d572e000b |
|
MD5 | 278fe30499cf6733abc43c7a57404e22 |
|
BLAKE2b-256 | cba8c1f18f44195f0bf1cb3c7c90b20dcb9955506cde0aec56ca47c5b47afd52 |
File details
Details for the file PiML-0.6.0.post2-cp39-none-win_amd64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp39-none-win_amd64.whl
- Upload date:
- Size: 7.9 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d1ca81ffcfcfdde2f7509d3bc65143099b7c2707f097b4d185b7f24b5380305 |
|
MD5 | c606059b13861a7e6deaceecd88c2baf |
|
BLAKE2b-256 | b1bb59cf6d0292cbe652fcf6d883de59a56954808705863a23045bab8f21895d |
File details
Details for the file PiML-0.6.0.post2-cp39-none-manylinux_2_17_x86_64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp39-none-manylinux_2_17_x86_64.whl
- Upload date:
- Size: 12.2 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fa3fd6d7a30ca5c3aea8753c62abcdc2c9b8d65a3c8efaa11922b648b3022aa |
|
MD5 | f34fe54a3168edc6be9af9fc6bbcfb0e |
|
BLAKE2b-256 | 01fbad519fcc114a15b23e9e684b57ef86923388ae0b15933750e1c5c6280cb0 |
File details
Details for the file PiML-0.6.0.post2-cp39-none-macosx_11_0_arm64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp39-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 9.2 MB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58d6a2f4de8ee7f8f82fbf88f7037233e16e63889a07f13ca96cc8021b927ef4 |
|
MD5 | ad1fc47c0ff49b24ffba88b881e18c13 |
|
BLAKE2b-256 | 9782995afed4e67d5766a225aca894616e5d093f5d520819c587c0d00d27c917 |
File details
Details for the file PiML-0.6.0.post2-cp39-none-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp39-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 9.7 MB
- Tags: CPython 3.9, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9706e876d8b0341d82529977440e71c7899544e3534dea459e7d1d6fed6432f9 |
|
MD5 | 3a32322a25e6fd301943a50eae0fad3a |
|
BLAKE2b-256 | 1a7d18c8e67cd25ea3703b75b269f7040e538ecb3797f155879c5be3d3573083 |
File details
Details for the file PiML-0.6.0.post2-cp38-none-win_amd64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp38-none-win_amd64.whl
- Upload date:
- Size: 7.9 MB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55865fa3fead2d34d342df10aa3b14e8d2e7d57995c3ce34cd38e93b7dd1cfbd |
|
MD5 | 7c8de63cda037e1df6d9aadfaca9c165 |
|
BLAKE2b-256 | 034c289d7be939e37cf741a6e395fd4a8d41d061f33cbff0244ce3eb87b3bcee |
File details
Details for the file PiML-0.6.0.post2-cp38-none-manylinux_2_17_x86_64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp38-none-manylinux_2_17_x86_64.whl
- Upload date:
- Size: 12.2 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e532923792fba195545fa0c037e15423ea4fc57b8a4ff69397551f1ecc6420cd |
|
MD5 | 0dab48aa2a4058789d8834ed81d801bf |
|
BLAKE2b-256 | f3ce282f102a7c98343383db720b2ef4f7de39a8f4245dec41f10ea66a476735 |
File details
Details for the file PiML-0.6.0.post2-cp38-none-macosx_11_0_arm64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp38-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 9.6 MB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26935f0e75f9e2ee315dcadc83fd742f5e3802c4dfc07a2c14cf3e46aa717463 |
|
MD5 | b890e82b23a901c7b881332bb399ef3a |
|
BLAKE2b-256 | c7401363be8a0e119a0d2d62d6e1b21f913f5fd52132bc7c76eb2d21a54c050b |
File details
Details for the file PiML-0.6.0.post2-cp38-none-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp38-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 10.7 MB
- Tags: CPython 3.8, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e864e530ddf0396b940d3d8bae815b339fda29abf7be80a70fc811f2627a1e05 |
|
MD5 | 02d77aa230c357d68353880085f6a2ae |
|
BLAKE2b-256 | 287c9f4f7fb5563487197ba04f68a722ead94edadc0e0062d6795fe6592c65fd |
File details
Details for the file PiML-0.6.0.post2-cp37-none-win_amd64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp37-none-win_amd64.whl
- Upload date:
- Size: 7.5 MB
- Tags: CPython 3.7, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2da9d53d8d1acea1e6100fb5c8df3f0e32f41ad95e20fbffaa2ba4c95890fd5 |
|
MD5 | b32f8d9af6e67a2da4bcf8ef4a2fb928 |
|
BLAKE2b-256 | ab3aced7c8d1a20dab80296cbeb744f9f0ba840895a4cf6a7ab3b86e61d553ed |
File details
Details for the file PiML-0.6.0.post2-cp37-none-manylinux_2_17_x86_64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp37-none-manylinux_2_17_x86_64.whl
- Upload date:
- Size: 12.7 MB
- Tags: CPython 3.7, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7d1773fbb62445ab02f309591fb75b5f9ca3f170e0f4ce907955db07031038e |
|
MD5 | 3507ab2cf6937673c089f2925dcda50e |
|
BLAKE2b-256 | bf5b4f84cb76f235406decaaec4bdb296ca9d0d64874e8eaa97dd91266b3c1d3 |
File details
Details for the file PiML-0.6.0.post2-cp37-none-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: PiML-0.6.0.post2-cp37-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 10.4 MB
- Tags: CPython 3.7, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e09a59f6e53efe8ab2a3b0f653cdb2cf44b9a8dd1befd3eda1132d3d4c044c5d |
|
MD5 | 91100ce8a6d061af06104e599df1bb15 |
|
BLAKE2b-256 | 995f98f6488d436cc1987d4870101290c5001f76661c6b80787dc8ba53b62c20 |