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.5.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0bf583e40697338bb56515ecaf32388ac3ae4ac5df553cc7da3c6057c63e654 |
|
MD5 | 5cd773f04631967270906969f919d941 |
|
BLAKE2b-256 | 379ab861439216f68ec09fbd495dc359aced9df2f32ab6200f27e61659de242d |
Hashes for PiML-0.5.1-cp310-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea1cf869310dfb6206eb1299eae60656e2dbf0f3301c60d66cf5d4852b0af7d5 |
|
MD5 | 0b53b099a4c99fbcfc337a509c91a675 |
|
BLAKE2b-256 | 7d60a26b1d3fe9f36d658894ebb90b80b93af44e898eccc160022a6b9e95b0c3 |
Hashes for PiML-0.5.1-cp310-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52b6ffc5087fdf66b3dae2bcf7a8816724b67e23c0d5626184f606634f933d6c |
|
MD5 | 0982c0cc2ea5feb1c21bba55e907f851 |
|
BLAKE2b-256 | ae6f2e1a7db3bbbfa2d0d84287968d4373321492612a2422d7c62e971108dfcd |
Hashes for PiML-0.5.1-cp310-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec53993e54410c80e8d327e48964468fa3c75c5f7debdf86a398ece249d4585f |
|
MD5 | 50ee17935d051c4c9c3713b94215e54c |
|
BLAKE2b-256 | 620b9c4f1e9d72bd44ef6b45c1c42a8aa7589bb19d59f1e77cf5460af8d3dcc0 |
Hashes for PiML-0.5.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0f6bfcc2f29a8cab4313dd8c67a7529e79c6d9e1a13070f02a9cca898d35700 |
|
MD5 | 1eb6b07d757717fd69d4d59a07fcecc0 |
|
BLAKE2b-256 | 52edffa798db5fdfded73f47c658d2f8e502fc27f1ee6fb562ebcf62b2e87601 |
Hashes for PiML-0.5.1-cp39-none-manylinux_2_5_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 251dbab3270293dafb4ffc7b876f0a816a006adfdd1759b27962cd054d8fec11 |
|
MD5 | 5ea849172b1497001e87dd96f80e255b |
|
BLAKE2b-256 | 104c48ae3dd54eb4d44a968d458f9f4489e2137151668ebfa7f869df5122116d |
Hashes for PiML-0.5.1-cp39-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2a3d7caed55f3ed638f160a285e4659277fe641b9cb69f1004d4def7121b506 |
|
MD5 | 20eaf94817b3e1746e0641d2cabff3ac |
|
BLAKE2b-256 | 87254963a4e3af0154d788d9791d36a48a363869d5eb2c9af9eb9f2ad0820ea4 |
Hashes for PiML-0.5.1-cp39-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec53b9f85754452e43811e11d6350ceb217f31cd43938a8ede4c2d608f93cab1 |
|
MD5 | 961f753ea579e6ae1b82fdfcf1f58a18 |
|
BLAKE2b-256 | 2f2c3850180c7549bedb6a4997fc797481a9b7f6b960e38f243a20137de10ae2 |
Hashes for PiML-0.5.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65e541dc9f88b644ddbf3b017a0acaa6e1c1a2b99018b64e5ac13cfe36c2d63a |
|
MD5 | 939b13487557ce3698757ea73e081356 |
|
BLAKE2b-256 | 6974350738551a520f8c8c36eef0e1291ff2a33a12a5cc1a34927a604e2e82ee |
Hashes for PiML-0.5.1-cp38-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72e5416fea22a82fa85bce8e168a348ea32ef2e197cae964e5c441ad83334694 |
|
MD5 | f1efedfe3daaa880cf95fe6d22ad837c |
|
BLAKE2b-256 | 1cae691010fc601f3b83aaf45bc7f25ccff85811ec004a579377fe9d6fa1ea38 |
Hashes for PiML-0.5.1-cp38-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5efcb6c22fd9fb6df531c78810f56c4d127be7b2f36be0e85a3c92329ada79a4 |
|
MD5 | 1b4c5626788b01add073fba8d8646694 |
|
BLAKE2b-256 | b8fca79efde7ba6096e1e7d640fe921e41865dad797617949e2c5dc7906d1283 |
Hashes for PiML-0.5.1-cp38-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1db2d599ea669d612f26bcb29b4e057e5b22e9f7a1aa85a0f2046469e1e28628 |
|
MD5 | c151b29bf5a879bea9ed1c7aa642e4ad |
|
BLAKE2b-256 | bdc8272e28620a247a4dc1621fbef2ca77f96298cd9acd33b564317539ef702d |
Hashes for PiML-0.5.1-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d10cb55d403f9647cbb4e483226c3b38b3e0aa1d29c4a025de78c408bba5ac44 |
|
MD5 | 25d031d5acee996ac05a6b214c795d1e |
|
BLAKE2b-256 | 4072db8b041e249a0335e0aaa312b0d981e3be3090849ba3ce9bbbc7a107cdf3 |
Hashes for PiML-0.5.1-cp37-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15132a5566aa93a4f62d8b7542becffc3635a1fc35a2fe16c59fb14c9e26d931 |
|
MD5 | 87662d20d5f062e7564fe2de40a47f96 |
|
BLAKE2b-256 | 13792af2fbe3d675daff7ec89bd372807443f3d2e4da2cd3cc0c726abba12cbc |
Hashes for PiML-0.5.1-cp37-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4c6067f884716c184502c4ab506b0cbbb54c4a7c4537e8d7f3d335ec85afe3a |
|
MD5 | cd8d21a6a9c8b698a15f3f6d80101394 |
|
BLAKE2b-256 | 00f3ed591e57faee6d8c5ebcee0a3cf9ade718a7ad295c7ea289024e5f57d16b |