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-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ccd37d22c60dc47a0159370338f5c3d995f694045a45b8bb5f7043401fd19ff |
|
MD5 | e6dbb170e724852f21295c009c74f555 |
|
BLAKE2b-256 | d082b25f7232e02e45482c3517445c23fcdae985ba76c1727a4def8e099c49fc |
Hashes for PiML-0.4.2-cp39-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3c02ea217c2d3b01c8ac82437b865c58f31c8cd0d326cfbeecdec60fe578a9b |
|
MD5 | 9e0c8de4ebbb696216f0598b9006d0e1 |
|
BLAKE2b-256 | 0c8f9aa3855b432f95708979228036cfe7336c551b04f8515e2e08ef440fc95e |
Hashes for PiML-0.4.2-cp39-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a39ab3ece992af5a0f5c112d3463654c18390f58be542f0973288e7770c0c27b |
|
MD5 | 98b3c7649bb75bbfa90561bddb3bfd7e |
|
BLAKE2b-256 | 38afca4b26e7259a62c17625ada2a0aa86c8bc26268d2ac9b242b35407398faf |
Hashes for PiML-0.4.2-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 518b48c0d88d3cc4618830302f867d57805aac951e0ca2147e36bd5bfd21a557 |
|
MD5 | 70b7c2a79460680c11f288e6c9920de5 |
|
BLAKE2b-256 | 3bd4a1ab1a4bc3a64469b990538b4e411a2367f314381cd15500e417793e4bc3 |
Hashes for PiML-0.4.2-cp38-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 827a88126f4cdead938468704be30294f7cdf5375f7a05a52dff8f13a2a984a3 |
|
MD5 | b88709a488343c009d85d203df072096 |
|
BLAKE2b-256 | 71c1a619ab0d6e1974055928f46c2e6823715941abf6c9acc5f142ebf1fa8f07 |
Hashes for PiML-0.4.2-cp38-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f01630fdda5a2cb181f7a02f8408b53c3ea6020f36cd07f1b53a57708ffc48a8 |
|
MD5 | f5189a3e0183be9e6da06baac5c634c9 |
|
BLAKE2b-256 | 6e363fe9d4b887ab6c7362b7fb02a5ad17f4f109ba97e1f52b818cefb9cb70fd |
Hashes for PiML-0.4.2-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ac01fb2768bec2cf2be3e00167ab50d11971abbe518351edf5edcbf5a7770d6 |
|
MD5 | 37be5b0e84391d2fa2ebcd9e432aee44 |
|
BLAKE2b-256 | 66b47c0136afa4d433f5caddd1031bc36bc20c9453a558b79a07078fa255277e |
Hashes for PiML-0.4.2-cp37-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93a5400189ed7758d07fd2e7ab8921a21ff532c251adfbeca9d95603d5f56221 |
|
MD5 | b6ed79c717a540de70bb4b02160a0915 |
|
BLAKE2b-256 | e41126a0b9595cbdde948a3464c0ffa00a8f9387c2e06be659acf564eb9014df |
Hashes for PiML-0.4.2-cp37-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fd45ebff9c2f8469d8f686b99e444a4072a95f462cc605a7cadbcd0f706aa56 |
|
MD5 | c810c8693c0ea77c92e20b22c50cb010 |
|
BLAKE2b-256 | e8e0b62a342cc4dacc2eb6d150e9b08c889648bd12ba4c866bf45090a7c27fa2 |