explainiverse 0.1.1a0__py3-none-any.whl → 0.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- explainiverse/__init__.py +45 -1
- explainiverse/adapters/__init__.py +9 -0
- explainiverse/adapters/base_adapter.py +25 -25
- explainiverse/adapters/sklearn_adapter.py +32 -32
- explainiverse/core/__init__.py +22 -0
- explainiverse/core/explainer.py +31 -31
- explainiverse/core/explanation.py +24 -24
- explainiverse/core/registry.py +545 -0
- explainiverse/engine/__init__.py +8 -0
- explainiverse/engine/suite.py +142 -142
- explainiverse/evaluation/__init__.py +8 -0
- explainiverse/evaluation/metrics.py +232 -232
- explainiverse/explainers/__init__.py +38 -0
- explainiverse/explainers/attribution/__init__.py +9 -0
- explainiverse/explainers/attribution/lime_wrapper.py +90 -63
- explainiverse/explainers/attribution/shap_wrapper.py +89 -66
- explainiverse/explainers/counterfactual/__init__.py +8 -0
- explainiverse/explainers/counterfactual/dice_wrapper.py +302 -0
- explainiverse/explainers/global_explainers/__init__.py +23 -0
- explainiverse/explainers/global_explainers/ale.py +191 -0
- explainiverse/explainers/global_explainers/partial_dependence.py +192 -0
- explainiverse/explainers/global_explainers/permutation_importance.py +123 -0
- explainiverse/explainers/global_explainers/sage.py +164 -0
- explainiverse/explainers/rule_based/__init__.py +8 -0
- explainiverse/explainers/rule_based/anchors_wrapper.py +350 -0
- explainiverse-0.2.0.dist-info/METADATA +264 -0
- explainiverse-0.2.0.dist-info/RECORD +29 -0
- explainiverse-0.1.1a0.dist-info/METADATA +0 -84
- explainiverse-0.1.1a0.dist-info/RECORD +0 -19
- {explainiverse-0.1.1a0.dist-info → explainiverse-0.2.0.dist-info}/LICENSE +0 -0
- {explainiverse-0.1.1a0.dist-info → explainiverse-0.2.0.dist-info}/WHEEL +0 -0
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: explainiverse
|
|
3
|
-
Version: 0.1.1a0
|
|
4
|
-
Summary: Unified, extensible explainability framework supporting LIME, SHAP, and custom adapters
|
|
5
|
-
Home-page: https://github.com/jemsbhai/explainiverse
|
|
6
|
-
License: MIT
|
|
7
|
-
Author: Muntaser Syed
|
|
8
|
-
Author-email: jemsbhai@gmail.com
|
|
9
|
-
Requires-Python: >=3.10,<3.13
|
|
10
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
-
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
-
Requires-Dist: lime (>=0.2.0.1,<0.3.0.0)
|
|
16
|
-
Requires-Dist: numpy (==1.24.4)
|
|
17
|
-
Requires-Dist: scikit-learn (>=1.1,<1.4)
|
|
18
|
-
Requires-Dist: shap (>=0.48.0,<0.49.0)
|
|
19
|
-
Requires-Dist: xgboost (>=3.0.2,<4.0.0)
|
|
20
|
-
Project-URL: Repository, https://github.com/jemsbhai/explainiverse
|
|
21
|
-
Description-Content-Type: text/markdown
|
|
22
|
-
|
|
23
|
-
# Explainiverse
|
|
24
|
-
|
|
25
|
-
Explainiverse is a unified, extensible, and testable Python framework for explainable AI (XAI).
|
|
26
|
-
It provides a consistent API and support for post-hoc explainers like LIME and SHAP, model adapters, and rigorous evaluation strategies.
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Features
|
|
31
|
-
|
|
32
|
-
- Standardized Explainer interface (`BaseExplainer`)
|
|
33
|
-
- Support for classification, regression, and multi-class models
|
|
34
|
-
- Integrated explainers:
|
|
35
|
-
- LIME (Local surrogate models)
|
|
36
|
-
- SHAP (KernelExplainer with per-class and global support)
|
|
37
|
-
- Adapter layer for scikit-learn models
|
|
38
|
-
- Explanation object with structured output and future extensibility for `.plot()`
|
|
39
|
-
- Full unit test suite covering classification, regression, global/cohort SHAP, and adapter behavior
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Installation
|
|
44
|
-
|
|
45
|
-
This package will soon be available on PyPI.
|
|
46
|
-
|
|
47
|
-
For development use:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
git clone https://github.com/YOUR_USERNAME/explainiverse.git
|
|
51
|
-
cd explainiverse
|
|
52
|
-
poetry install
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Running Tests
|
|
58
|
-
|
|
59
|
-
All tests can be run using:
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
poetry run python tests/test_all.py
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
For individual component testing:
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
poetry run python tests/test_shap_explainer.py
|
|
69
|
-
poetry run python tests/test_lime_explainer.py
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## Documentation
|
|
75
|
-
|
|
76
|
-
Documentation is currently in development.
|
|
77
|
-
Until then, test files (especially `test_shap_explainer.py`) demonstrate usage and structure.
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## License
|
|
82
|
-
|
|
83
|
-
This project is licensed under the MIT License.
|
|
84
|
-
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
explainiverse/__init__.py,sha256=bucmhjkOeGG8OigJFQscb0FSTLIyek52y1Jp8ZF_a4M,20
|
|
2
|
-
explainiverse/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
explainiverse/adapters/base_adapter.py,sha256=QANRbTFxrESM3ReT2kWR3c_CcWMDfKdl9fEbYZzzTuw,628
|
|
4
|
-
explainiverse/adapters/sklearn_adapter.py,sha256=WQC-i4OIaR0M-AILXV5OvNo9H2JA0dVMBYioalFOCu0,990
|
|
5
|
-
explainiverse/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
explainiverse/core/explainer.py,sha256=8vI_Paj1cpbhLK6GP1Ckq2SzW4FyjUgxOpuLKE12ddI,815
|
|
7
|
-
explainiverse/core/explanation.py,sha256=Gxz-0lU4YVZfV1Bsrzma7uvfze127aCmqDaVK1dg-hI,905
|
|
8
|
-
explainiverse/engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
explainiverse/engine/suite.py,sha256=brBQNCHMBobaOjSVpoBBsbo3gep9qbEcT0NSdU6SPxw,5056
|
|
10
|
-
explainiverse/evaluation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
explainiverse/evaluation/metrics.py,sha256=N_EucJ8Ud1Wa3IU6ZxzKKILF7UkQDLKEyhAvUaDHIGM,7685
|
|
12
|
-
explainiverse/explainers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
explainiverse/explainers/attribution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
explainiverse/explainers/attribution/lime_wrapper.py,sha256=hFd6tQ7uE6R3ORHTuT-w2vW9JkvFuYbEZDpGqRLRNto,2107
|
|
15
|
-
explainiverse/explainers/attribution/shap_wrapper.py,sha256=yAQDZNPFbn_H0AMFhWKMEoQb8IG05Tg6oRBcWRw4CP8,2378
|
|
16
|
-
explainiverse-0.1.1a0.dist-info/LICENSE,sha256=28rbHe8rJgmUlRdxJACfq1Sj-MtCEhyHxkJedQd1ZYA,1070
|
|
17
|
-
explainiverse-0.1.1a0.dist-info/METADATA,sha256=gNDqhbbQHqCkQyt6by0Pz_ws0bUWlsPw6ijOGpWw5o0,2262
|
|
18
|
-
explainiverse-0.1.1a0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
19
|
-
explainiverse-0.1.1a0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|