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.0.post0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49ff3f7d70e71c5e1e680ac33b7ef3d834aea2774047645efd4bc42f333459a0 |
|
MD5 | a64836054c7b740f7b2309d18a60378a |
|
BLAKE2b-256 | 4aa34f5acfa992ff70e0dc74d8f6900c64405c53c7e7b0720b9c762804e1f0ff |
Hashes for PiML-0.5.0.post0-cp310-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 049658ce16fdf4b1026a333937de34629d377fac0ad4afe515ae461f0e9c2cf1 |
|
MD5 | 39f31793e77b2e405c3a77a92dfb3fe4 |
|
BLAKE2b-256 | dda231d2d86884325f786ffc736ee98a39f1910102ff7cc14611b3bb806dcf2d |
Hashes for PiML-0.5.0.post0-cp310-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26e3be2ba8a9342e9021b795215de74d10206c8b91d0c5acfc39738750264edd |
|
MD5 | 11751f8986e772958f498d96994d6d9c |
|
BLAKE2b-256 | ae986def363935e72f6a535b984b36777a18151ded6fcb667421403e348b8e54 |
Hashes for PiML-0.5.0.post0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01588195c3a05a76c7e857f9a47afce2ea5dad8972a1cd6f0ac89e9129d6f39b |
|
MD5 | 1de63a7a464ff851af7d0ea3095c649c |
|
BLAKE2b-256 | dc56ecaaf529eb61b109dda717a1f598e2d99d688e96baf60e3976264985a3ff |
Hashes for PiML-0.5.0.post0-cp39-none-manylinux_2_5_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb5322994610de3f51f52593a3e66c37f4ecc7d07c4707ccf07a06bc3f6c587a |
|
MD5 | cb38ad191653461269b1027a8d20b474 |
|
BLAKE2b-256 | 3fed3e4141585fea924e25346e7c4f8a3b860da29ac16ea799d11e6f340052a4 |
Hashes for PiML-0.5.0.post0-cp39-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4413bb1d69d8f5280e4e4d29faac118ab47bf495e374b27877b9dda83c033ec5 |
|
MD5 | 708a0bc528f4981b26ab0d54fe0093c0 |
|
BLAKE2b-256 | b552d6b2a9a053e6e42a695f6b85135a99a94139d973024cb4cd1288f049b8e6 |
Hashes for PiML-0.5.0.post0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1200737c27cc2092e0069a97f462c1a0f4e70b58eebebce1bbc4e74297c23dbc |
|
MD5 | fb598072dbdc12b4709621764a402672 |
|
BLAKE2b-256 | 7a0cd2a4a86708d0779f38f0a9466fec1591e41dfdaafc52269e6f5daf53353c |
Hashes for PiML-0.5.0.post0-cp38-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7780f14ca4146d97652a912befa53689608eb7e2efbcfe9fa258446d94e0b15a |
|
MD5 | dc432ebefc9694db23b77f2c75d2d948 |
|
BLAKE2b-256 | 5038f7649d81878adcdc65f7ed6dde4685494a263107b3ba0f1424ecb52ac19f |
Hashes for PiML-0.5.0.post0-cp38-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e94c46691599243db15b7d1e13d10d7b75bafe4d5af5841d400ed38a413da1c |
|
MD5 | 40f635a7b96328369b880d5a0938b54d |
|
BLAKE2b-256 | 3704b019d9c597e6cd3ef4b46dff485355c8e915f1253407a0254ba7b52eb56e |
Hashes for PiML-0.5.0.post0-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b899ea4e325bfaae22139d02a6726200088a33695868015516d513e62db721fe |
|
MD5 | 27b6a11114014ada29837f86016eb97e |
|
BLAKE2b-256 | af16a46aa994bd3fc21a79e9e45790d920628ab660792edb8dad3e58320f3167 |
Hashes for PiML-0.5.0.post0-cp37-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3a2076982a34bd94da9091f1926eeb4de70714c65edfa6490fbcb0ae24960a2 |
|
MD5 | 2401f131de0598030cfa6f5dcd9ab38d |
|
BLAKE2b-256 | 87a60470b80670d8d79ec23e1302179dc9739c2549d82f129fd5ffb29dd6a3f6 |
Hashes for PiML-0.5.0.post0-cp37-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caa9ad92865398bd08d38d077a297099f569bc7546f9c58496b54fb00d1a2aa4 |
|
MD5 | dac8d2981c4750878e6575051b63e222 |
|
BLAKE2b-256 | 20938517cdc6acba5d84c0fa0ae90a4491ef0aba7da06c025793e0cc79b101da |