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.post0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2229e310855862c613ba3352e6b44847f81f57d9c03f21f644e180ff0f3fd2c4 |
|
MD5 | fa175323b9ba0e2a1fc3a756d0dab976 |
|
BLAKE2b-256 | e57a45a0a00b10e72c4088e700956723d0165b0f24264c5de965b3954876c122 |
Hashes for PiML-0.4.2.post0-cp39-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb04a220e50a7ca3e38240cfe3916edbec6de5d9840abee9212b6ccad424b7f7 |
|
MD5 | 6f12f53493276030107ccccbdd0ef368 |
|
BLAKE2b-256 | 5a9a3d62723b0afdaf99abb395922ed083b4af4181750b0b274bee8c909eb0f3 |
Hashes for PiML-0.4.2.post0-cp39-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b87aa28f6cd0c9fcfda376496c23a0b017b6a2e3c7a04d2d1c473597ed663e48 |
|
MD5 | 26bb59668b60b5b4cae5de641bf48b77 |
|
BLAKE2b-256 | d6c820b01988856e3a55f048cfd1050300d61e1efb091555ea9a8d83fa675b54 |
Hashes for PiML-0.4.2.post0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19f370a7abddbf0da988e47c6702f37caeaa479e05e149f562f68f09b29eb159 |
|
MD5 | 86e2be366e8199f3f5d5f096e1ed1e81 |
|
BLAKE2b-256 | dd633f26deee49681de21f8088fa9429414e9100b397d37b85fc2ee5ff272b8f |
Hashes for PiML-0.4.2.post0-cp38-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e66cd0345b69e241000bcf4fd31242e1e9e8bdd209f759bed86ceab289205e75 |
|
MD5 | 79db972d6f2d11666a04805d1d9923db |
|
BLAKE2b-256 | bd1c82b006afcd50cb5fbb0ca939cce2ec133d76b8c10061ec342e51e345bcec |
Hashes for PiML-0.4.2.post0-cp38-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69b1338d065ac9dc5a7059316dc1752163704a3b2a4f39d5ef7c051f70bad21b |
|
MD5 | 46af66b57a79c81114436673530252b4 |
|
BLAKE2b-256 | 5f18e2a3a6646ededa08377ddaf0033f926a69a45934e482ace509f6530c9910 |
Hashes for PiML-0.4.2.post0-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36e2d0351d032b2e59abe1290bcae769e82da270bd5f39a60fddd078fb75f4bf |
|
MD5 | aef81bb12fcb62ec9e7a5ac7746db7b6 |
|
BLAKE2b-256 | 90a6b708cde6457cff853fc20730c0bb6b67cf7df81555ed1c18b69efcc79314 |
Hashes for PiML-0.4.2.post0-cp37-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bda8d36c3fc371c742ab3638250143540bcf02908d5710b28392ac8bd74787fb |
|
MD5 | 78316b0651972f2e45932545321b3de8 |
|
BLAKE2b-256 | 14024be6e612ee0c434829ae347feea1fa5223c99fc9037c5b56c1e864ab1f1b |
Hashes for PiML-0.4.2.post0-cp37-none-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d69bc0bc1e196ba5a21a9e9c6b0353532d86548685da54286e5e533282d7ce45 |
|
MD5 | c18e72fd588ee1f514ccf3fa54d8d3e1 |
|
BLAKE2b-256 | ad906e05896009eb2c0d03fd07eee09155323251f2df0ebef178c76cec175055 |