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.post0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ef17575ae59720914c2dc536050cc58eda3f88919823bcebdf9178deab3ecec |
|
MD5 | 84307eae33933ce046a59262255cd059 |
|
BLAKE2b-256 | 0e4a7d1e9ee349c46ddeac7a36998a2e6de478dd1088de54b74c630a5ed0fcd2 |
Hashes for PiML-0.4.1.post0-cp39-none-manylinux_2_5_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61bb7cc9f6870e85c38f8976b2ff2e91603a2d6aed2102fbf052d8cb7f7f195c |
|
MD5 | e2b154082d2e2d143f8f6ac51d85db15 |
|
BLAKE2b-256 | 02d98b12a36407137c0c83fc4857d0765cb44e0f8632aff225f7c1c7d2efe94a |
Hashes for PiML-0.4.1.post0-cp39-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa162779daa45df5d950a3de32e9f5e5b88241074dfd76b5057a77bff62d0334 |
|
MD5 | 2e857327783cd5cd8de429b8ba7272ad |
|
BLAKE2b-256 | 9922e56bb1cedcee9da8b764782a072070daa0090112135df7ff9b9dbc09ea2a |
Hashes for PiML-0.4.1.post0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8429447fe3dc96ed012e487f91f989779b77b6fafa7768db653856ab28273ca |
|
MD5 | acccb2c6b9bb2dda0d7284a9597c5da8 |
|
BLAKE2b-256 | 582a12780eaf5bb957307969b3daf23496d919a4267ef45ea829e1d4abaa2b77 |
Hashes for PiML-0.4.1.post0-cp38-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59ff609532d6269e0b51db7c0889c0d0f5a0c41eb2e409144be703ca07d5d53d |
|
MD5 | b8847405917618063a4d4e620e9611f5 |
|
BLAKE2b-256 | d17275136a2a93f68245448c391ca94b8d6e2e03d684b006d30cfa369e41627f |
Hashes for PiML-0.4.1.post0-cp38-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3c03ae06a2f86e9f41af27cc26746f3d2da89848d7ea17ceb9b89a49c98f24f |
|
MD5 | cad7669d2321aec25f60012bb1cb31cb |
|
BLAKE2b-256 | 0a83182acb4143f324791e210818b0f79cd1d1a1993e5c60b927d5a2a346b73a |
Hashes for PiML-0.4.1.post0-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4adf9956086994c4f6a5e590f93a4da17cb44037099a1bdd208c54d994d05a05 |
|
MD5 | 077ab2b9a60377d7e4faf0efc0d9f9f6 |
|
BLAKE2b-256 | b835a99ddd0f5c6e2db5988c676b1ad84d5bef72aebb3aadbe0af7e85a2e4c07 |
Hashes for PiML-0.4.1.post0-cp37-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7ed251f30cfe37116e43a236132346edbae5e1aaa717252adc0a44b3ca3e5cb |
|
MD5 | 981dcd67edb220b3e8c6a60bf54b8769 |
|
BLAKE2b-256 | f68bc094baa36c8ede30e0512c3da372189d2f5c471a98f9e2fa537f9e670703 |
Hashes for PiML-0.4.1.post0-cp37-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 058420517b47f265ede435d4848b03a461cf28dd5068e161f473feffcdec0ab2 |
|
MD5 | c68a7202c19b44d2d4a01add6870e08a |
|
BLAKE2b-256 | 69352eaa085adbe5299a0f52b1b0ee83f96c0c1c6929b555e07450cf66f7ffdc |