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.post3-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68b460fa72903f70c8392fa4d6726515b2f0708cb10d815e18cae0bfed4e1eba |
|
MD5 | b01255213930132d632896f671f5b936 |
|
BLAKE2b-256 | a7a603e173136519b331db4085a7c04697bf42b23e2a996b12ee67085f78d813 |
Hashes for PiML-0.4.2.post3-cp39-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed74e350d179599208993cbc1892be8439a2e83e17d3ac849c9d4aa0bf04ec9d |
|
MD5 | 410b535e7b8f3ab031e93db112b3656f |
|
BLAKE2b-256 | 5e09b76427ad789d5a30b38e6625420629f551e8c3ad139b44b95d7fe15a9627 |
Hashes for PiML-0.4.2.post3-cp39-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0e97504b1755401fbd5920d0c2ed3e79b6db286b6dc3b4b50f860e89493e37f |
|
MD5 | 9a8ee831d293ea900d049b4d9ac2ed28 |
|
BLAKE2b-256 | 3264bddd74c299e51aabcc3f20d030918718df43d0c1b475f4bce2ed58c1e09a |
Hashes for PiML-0.4.2.post3-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47a7290b04259c963dadc6f14102a6dbb91adab29e5715627361ad48f5327720 |
|
MD5 | f01dbb8fde92ec5a51226802f452b2e7 |
|
BLAKE2b-256 | 6659347221a22445642c7a6f9b2ce301cacd9e5d6c6d306bdf3e7e6dff5af3b1 |
Hashes for PiML-0.4.2.post3-cp38-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24099aa073b63707c3b62d649732c606aec9d8ea255a0290c0e8a6def9254af7 |
|
MD5 | 22c591bd7b407e82ebdc0d5d6469dcc7 |
|
BLAKE2b-256 | c4dfcb5519d298a7a7ba5e3ec8f52153b7c999742caddfe7400a1f982d0f4be4 |
Hashes for PiML-0.4.2.post3-cp38-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 298f076f0a6840cbb562f77775a032c4f26f94194fc4a317438c937a08ef9d9a |
|
MD5 | 39692263ed27bc4f2f277faa2a3886d5 |
|
BLAKE2b-256 | f71131fd25230a4b617222fa11be8d4181f78b8b38d80c4fd4ad6cc5e38d68bd |
Hashes for PiML-0.4.2.post3-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14de570e84eba011e509afa2983a86d97f4fe3775eb15805a82b6336d33baa83 |
|
MD5 | 66c4c23bfe14e8c892749fd933115042 |
|
BLAKE2b-256 | 37b8c620b0f7d477ac4819bba1242b77bd534078a3146c8f73d6da5bd9826e19 |
Hashes for PiML-0.4.2.post3-cp37-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccd16bb4263d657b35e87b144c76b013a9556a6c9661f7a87b1037460d9ceedb |
|
MD5 | 1b51a7cd3dd7c5094205af6d51bca214 |
|
BLAKE2b-256 | 061fc6df147c1ac6d5d6cf911cffbccfe9993737599d32917daf1e88cd64cb24 |
Hashes for PiML-0.4.2.post3-cp37-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81831c78efd060ce34acfcec9459af47db962743768826685a12d002e58e3b6e |
|
MD5 | a59ea4cf4374b8220dfa73c54e2d5d9a |
|
BLAKE2b-256 | ae5c987ed04c0bbe99fc12798bee1baaa932583c5e9ea8e81b8eccf7837c5190 |