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.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2cf168b69ec354dd010dd1df105b20ed9ec841cc2b4357841ffa08b30b10485 |
|
MD5 | 53feec161217c963fd39010f7d5afafb |
|
BLAKE2b-256 | 2a172d2d31d6435d4f8b2a2859f5b0418ef4bbb1d491faac8aaa5a28e616e598 |
Hashes for PiML-0.4.1-cp39-none-manylinux_2_5_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 393621a06b9914ff8da59bf1f0464ee0faeeb4a279989fd6df0a3da7ed4abf3f |
|
MD5 | 3db3a743df35ac1f0eacf9906f6df758 |
|
BLAKE2b-256 | 90de37390dcc9547ab25e1f810a2b807ab7223180786413edcde3c2ab2aede7b |
Hashes for PiML-0.4.1-cp39-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b0302f4a593709c6278d81681a9eb4e401299ddc23269f38301720202e5a79d |
|
MD5 | 6f40dcecf75c09baecc0ad786a8f4c73 |
|
BLAKE2b-256 | 8d261f50a85254f5acc1b94c6665aab836a5001bdc13e86d03f7fe8495d43dc6 |
Hashes for PiML-0.4.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c38cae51255a29abec18bb7c349c4f16104b758d1721c360227fb6cee2bd8597 |
|
MD5 | f3a618689b39d71ba4bcea671784b884 |
|
BLAKE2b-256 | 5533df130401cf75581bbc490bf77a63f405c4f761084e5c352983b8b692a802 |
Hashes for PiML-0.4.1-cp38-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c877fe8a988b424e4abeb620cd852c7139eab82636c3c38f112cb2fbc1319b15 |
|
MD5 | 3ed0ae4190d5aac057ccaaa4d3a02572 |
|
BLAKE2b-256 | 646bbace9eaf853e0619638681039f71b587821accde2a4877f9e4b87c9e9d6c |
Hashes for PiML-0.4.1-cp38-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb030c84dc08e9c8438f33ed5c2e3e05474975b16975fc59084b609b0b78762b |
|
MD5 | 9a5a5b47b191adb5a5ed3a1cea7e05f0 |
|
BLAKE2b-256 | 473cc8c4cc8565bad4597e2daf6f6cd27e32cdceda23916441da8deb15d0e03d |
Hashes for PiML-0.4.1-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53b656d1bb697bfa158162ab878f3069ae92e3a58bd430c94920fffcb0359ed4 |
|
MD5 | 56ef5b203986409eefd5bed79f33e6d7 |
|
BLAKE2b-256 | 62ac8326428d34f9c37bdf490ec1adde31899d37c31b56376dad70cb967c0b6a |
Hashes for PiML-0.4.1-cp37-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5af58927ab0b2f9e560c5b944b59b24906e6a7969e8478d9e7fac1f08a4d1b9 |
|
MD5 | 4027f2600c2bbf1ab85c89867f661462 |
|
BLAKE2b-256 | 8cea8063be0414b41ed0a48eb9b3849db836f032ec202c69b2bf7224fbbd00ce |
Hashes for PiML-0.4.1-cp37-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8911cc38116457bdbd637ac236f5d84d07d80731b7c6dc0565f8e1744fdfefb9 |
|
MD5 | 582a377ab9355bbbf7a28c2620908abd |
|
BLAKE2b-256 | 719119eaf1eb9d089babb21760e92b2903687352b7c8991763e2e3b1666f5807 |