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.1.post0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c940b6522434888c742f56141c7d5613687723874fc54c87de01a41e08fe26d4 |
|
MD5 | 57b64b2a7d1c6a153fc6fd77cc1b9585 |
|
BLAKE2b-256 | cb67269ddc202fdefbc36087bd1171568859ae478b66d1bb6fc589a163457729 |
Hashes for PiML-0.5.1.post0-cp310-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e42cabb9bfced37bb0817f932dd56a5c5cbeba820d9e7ae623e56c2947807239 |
|
MD5 | 2cbe49a90a7196d629e61cd8c34a80f7 |
|
BLAKE2b-256 | 93fb01e94b0a616f80328ba400deadea43cb7d55c1acddc99950cafe62e60a2d |
Hashes for PiML-0.5.1.post0-cp310-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b846ef10d8ea22373e2d0c76561e783e4a57eed89291cc3f65398334c1a46b8a |
|
MD5 | e73929bfe2dd0a7ae45774df3ace94ab |
|
BLAKE2b-256 | 3f24f777c36b2afe8b1b7ee5fbf501a43752fd76bae6339e373f42f6a4e7d1e1 |
Hashes for PiML-0.5.1.post0-cp310-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42e948c59321e0a512881f7e7d3094b4d5775e8257c00d5a31147d7574fdb775 |
|
MD5 | 72464e951c900a9cf7f8e429dec3ee54 |
|
BLAKE2b-256 | 86722ee01debb325aaddbedcd3c70ec7e96ae169626f98f84e3633d9f63b2b98 |
Hashes for PiML-0.5.1.post0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb34c66a9401344c3a781e97450ec3092f6ef4dc3314727d9a4165cf506416da |
|
MD5 | 3b4e0e4e9307cfc94b0bd20ed0d1d8b3 |
|
BLAKE2b-256 | 73aaa87d37626e1a3da20724020b56e1498aba69caa648bf24dd8ce536d47faf |
Hashes for PiML-0.5.1.post0-cp39-none-manylinux_2_5_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc02843df0bd5ccc2a65b64d24ee85bdc6dd49624490b97703e23ac925f98494 |
|
MD5 | 0fb812659c71b1b749c7bee92c6bd576 |
|
BLAKE2b-256 | 5ef1b77b720dd2aca2ef656d13515c6ac1af2581b281c6de5dec2361eb2cd222 |
Hashes for PiML-0.5.1.post0-cp39-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f07d20c5ded8bf49ae2c952ebb29ef7b8d0ffe5f1be4950368834911c3dde008 |
|
MD5 | f485e49cbfc09b4f06b7cd1412f5083a |
|
BLAKE2b-256 | c7d5a9029b99b6d589450b79796071623c876a13bd360b90f0fe2b4f8207541f |
Hashes for PiML-0.5.1.post0-cp39-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cacae2731b2034f1c6cd6326b282139fca3ce75348f5f437201c17d7305dd5a1 |
|
MD5 | 461959cd32a28028ffd6e56e991340a8 |
|
BLAKE2b-256 | 06ae613dbffce73593aa8a19a86e4fda440e861f9d25db4e1411580bfcf79e7a |
Hashes for PiML-0.5.1.post0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fedee03f25f78224cd33a987d5b5dcd57c7c694fb55d19960d7c87f7a463583f |
|
MD5 | fa16ca109d3393995db41d135eb50a70 |
|
BLAKE2b-256 | 702669b8ba447e675129d60ac5e0e4010b9eb93a3a371bcd3f617b3720c573ab |
Hashes for PiML-0.5.1.post0-cp38-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfe6f15c1a1e596968d5791b12c8fe9f59c3b433a2734748612bd302163eb8df |
|
MD5 | cf438fbe60e8df1114185f7bcd729a1a |
|
BLAKE2b-256 | d6c120fccacdbf71fb88d70a81d3a3630af9eadfb27ad65220254fd6881703e5 |
Hashes for PiML-0.5.1.post0-cp38-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3591723d3ad2e58f316a7d7ce74d2bf01e3a6a1ad59dee2a024880b018f314c0 |
|
MD5 | 27edceeb905700d062b2e4082edf6eb2 |
|
BLAKE2b-256 | 6fbc1c9cd5d6771bb58678a893e3bb3936e550e07a2bb8be84135ac22ad49219 |
Hashes for PiML-0.5.1.post0-cp38-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fce5fc1893553af03730c6db9ccc4172acc25552ea009d668e5f92c1fa622fe |
|
MD5 | 94cd8077a9221d65608528c071226497 |
|
BLAKE2b-256 | 0aff048c0cc7a2a80d24befe1d776c5fab0deb8ebc357b66871e1a1a5a839848 |
Hashes for PiML-0.5.1.post0-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6400e3cb1e1c6039a67573cafe1360d2c0dfc6d0047e406f1b4a6f5cf289dcbf |
|
MD5 | bf2c504125358db55edc6b3e4baff7fa |
|
BLAKE2b-256 | c7f4565faa459e9f250c5f2a29fa78874c4d9c31610b95f16ff0e9848ac84c1f |
Hashes for PiML-0.5.1.post0-cp37-none-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10f7406cf445cd6e980b2b4ccf6c2a6c16a7404ab7979eb15bd562cd248310b4 |
|
MD5 | db974ba69e87572adccb7f9ba7721978 |
|
BLAKE2b-256 | 702b85be826f3a87a077f780699f65c17dc43e14d1aa57b2821297cb4c3a9681 |
Hashes for PiML-0.5.1.post0-cp37-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71629d1a2c52e281b558d374eae06a27714fecb8f99a4296e1a835a07b522a5d |
|
MD5 | dbe5679d83f1093e893f6353bb922b03 |
|
BLAKE2b-256 | d498b80d2a0c83119869eb5f459fb28e17db4af9e79cd23e98a06c506eeab0f1 |