-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #18 from Oxid15/develop
v0.2.0
- Loading branch information
Showing
70 changed files
with
867 additions
and
561 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,24 @@ | ||
import setuptools | ||
|
||
|
||
with open("README.md", "r", encoding="utf-8") as fh: | ||
long_description = fh.read() | ||
|
||
setuptools.setup( | ||
name="xai-benchmark", | ||
version='0.2.0-alpha', | ||
author='Ilia Moiseev', | ||
author_email='[email protected]', | ||
license='MIT', | ||
version="0.2.0", | ||
author="Ilia Moiseev", | ||
author_email="[email protected]", | ||
license="MIT", | ||
description="Benchmark for Explainable AI methods", | ||
long_description=long_description, | ||
long_description_content_type="text/markdown", | ||
url="https://github.com/oxid15/xai-benchmark", | ||
classifiers=[ | ||
"Programming Language :: Python :: 3", | ||
"Operating System :: OS Independent" | ||
"Operating System :: OS Independent", | ||
], | ||
package_dir={"xaib": "./xaib"}, | ||
packages=setuptools.find_packages(), | ||
python_requires=">=3.8", | ||
install_requires=[ | ||
'cascade-ml>=0.7.2', | ||
'scikit-learn', | ||
'plotly', | ||
'kaleido' | ||
] | ||
) | ||
install_requires=["cascade-ml>=0.7.2", "scikit-learn", "plotly", "kaleido"], | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
__version__ = '0.2.0-alpha' | ||
__author__ = 'Ilia Moiseev' | ||
__author_email__ = '[email protected]' | ||
__version__ = "0.2.0" | ||
__author__ = "Ilia Moiseev" | ||
__author_email__ = "[email protected]" | ||
|
||
|
||
from .base import Dataset, Model, Explainer, Metric, Case, Factory | ||
from .base import Case, Dataset, Explainer, Factory, Metric, Model |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
from .base import Dataset, Model, Explainer, Metric, Case, Factory | ||
from .base import Case, Dataset, Explainer, Factory, Metric, Model |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
from .continuity_case import ContinuityCase | ||
from .contrastivity_case import ContrastivityCase | ||
from .covariate_complexity_case import CovariateComplexityCase | ||
from .correctness_case import CorrectnessCase | ||
from .covariate_complexity_case import CovariateComplexityCase |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,13 @@ | ||
from typing import Any | ||
from ...base import Dataset, Model, Case | ||
|
||
from ...base import Case, Dataset, Model | ||
from ...metrics.example_selection import SmallNoiseCheck | ||
|
||
|
||
class ContinuityCase(Case): | ||
def __init__(self, ds: Dataset, noisy_ds: Dataset, model: Model, *args: Any, **kwargs: Any) -> None: | ||
def __init__( | ||
self, ds: Dataset, noisy_ds: Dataset, model: Model, *args: Any, **kwargs: Any | ||
) -> None: | ||
super().__init__(ds, model, *args, **kwargs) | ||
self.name = 'continuity' | ||
self._metric_objs['small_noise_check'] = SmallNoiseCheck(ds, noisy_ds, model) | ||
self.name = "continuity" | ||
self._metric_objs["small_noise_check"] = SmallNoiseCheck(ds, noisy_ds, model) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,13 @@ | ||
from typing import Any | ||
from ...base import Dataset, Model, Case | ||
|
||
from ...base import Case, Dataset, Model | ||
from ...metrics.example_selection import TargetDiscriminativeness | ||
|
||
|
||
class ContrastivityCase(Case): | ||
def __init__(self, ds: Dataset, model: Model, *args: Any, **kwargs: Any) -> None: | ||
super().__init__(ds, model, *args, **kwargs) | ||
self.name = 'contrastivity' | ||
self._metric_objs['target_discriminativeness'] = TargetDiscriminativeness(ds, model) | ||
self.name = "contrastivity" | ||
self._metric_objs["target_discriminativeness"] = TargetDiscriminativeness( | ||
ds, model | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,15 @@ | ||
from typing import Any | ||
from ...base import Dataset, Model, Case | ||
|
||
from ...base import Case, Dataset, Model | ||
from ...metrics.example_selection import ParameterRandomizationCheck | ||
|
||
|
||
class CorrectnessCase(Case): | ||
def __init__(self, ds: Dataset, model: Model, noisy_model: Model, *args: Any, **kwargs: Any) -> None: | ||
def __init__( | ||
self, ds: Dataset, model: Model, noisy_model: Model, *args: Any, **kwargs: Any | ||
) -> None: | ||
super().__init__(ds, model, *args, **kwargs) | ||
self.name = 'correctness' | ||
self._metric_objs['parameter_randomization_check'] = ParameterRandomizationCheck(ds, model, noisy_model) | ||
self.name = "correctness" | ||
self._metric_objs[ | ||
"parameter_randomization_check" | ||
] = ParameterRandomizationCheck(ds, model, noisy_model) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,11 @@ | ||
from typing import Any | ||
from ...base import Dataset, Model, Case | ||
|
||
from ...base import Case, Dataset, Model | ||
from ...metrics.example_selection import CovariateRegularity | ||
|
||
|
||
class CovariateComplexityCase(Case): | ||
def __init__(self, ds: Dataset, model: Model, *args: Any, **kwargs: Any) -> None: | ||
super().__init__(ds, model, *args, **kwargs) | ||
self.name = 'covariate_complexity' | ||
self._metric_objs['covariate_regularity'] = CovariateRegularity(ds, model) | ||
self.name = "covariate_complexity" | ||
self._metric_objs["covariate_regularity"] = CovariateRegularity(ds, model) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
from .correctness_case import CorrectnessCase | ||
from .coherence_case import CoherenceCase | ||
from .compactness_case import CompactnessCase | ||
from .continuity_case import ContinuityCase | ||
from .contrastivity_case import ContrastivityCase | ||
from .coherence_case import CoherenceCase | ||
from .correctness_case import CorrectnessCase | ||
from .covariate_complexity_case import CovariateComplexityCase | ||
from .compactness_case import CompactnessCase |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,11 @@ | ||
from typing import Any | ||
from ...base import Dataset, Model, Case | ||
|
||
from ...base import Case, Dataset, Model | ||
from ...metrics.feature_importance import OtherDisagreement | ||
|
||
|
||
class CoherenceCase(Case): | ||
def __init__(self, ds: Dataset, model: Model, *args: Any, **kwargs: Any) -> None: | ||
super().__init__(ds, model, *args, **kwargs) | ||
self.name = 'coherence' | ||
self._metric_objs['other_disagreement'] = OtherDisagreement(ds, model) | ||
self.name = "coherence" | ||
self._metric_objs["other_disagreement"] = OtherDisagreement(ds, model) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,11 @@ | ||
from typing import Any | ||
from ...base import Dataset, Model, Case | ||
|
||
from ...base import Case, Dataset, Model | ||
from ...metrics.feature_importance import Sparsity | ||
|
||
|
||
class CompactnessCase(Case): | ||
def __init__(self, ds: Dataset, model: Model, *args: Any, **kwargs: Any) -> None: | ||
super().__init__(ds, model, *args, **kwargs) | ||
self.name = 'compactness' | ||
self._metric_objs['sparsity'] = Sparsity(ds, model) | ||
self.name = "compactness" | ||
self._metric_objs["sparsity"] = Sparsity(ds, model) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,13 @@ | ||
from typing import Any | ||
from ...base import Dataset, Model, Case | ||
|
||
from ...base import Case, Dataset, Model | ||
from ...metrics.feature_importance import SmallNoiseCheck | ||
|
||
|
||
class ContinuityCase(Case): | ||
def __init__(self, ds: Dataset, noisy_ds: Dataset, model: Model, *args: Any, **kwargs: Any) -> None: | ||
def __init__( | ||
self, ds: Dataset, noisy_ds: Dataset, model: Model, *args: Any, **kwargs: Any | ||
) -> None: | ||
super().__init__(ds, model, *args, **kwargs) | ||
self.name = 'continuity' | ||
self._metric_objs['small_noise_check'] = SmallNoiseCheck(ds, noisy_ds, model) | ||
self.name = "continuity" | ||
self._metric_objs["small_noise_check"] = SmallNoiseCheck(ds, noisy_ds, model) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,11 @@ | ||
from typing import Any | ||
from ...base import Dataset, Model, Case | ||
|
||
from ...base import Case, Dataset, Model | ||
from ...metrics.feature_importance import LabelDifference | ||
|
||
|
||
class ContrastivityCase(Case): | ||
def __init__(self, ds: Dataset, model: Model, *args: Any, **kwargs: Any) -> None: | ||
super().__init__(ds, model, *args, **kwargs) | ||
self.name = 'contrastivity' | ||
self._metric_objs['label_difference'] = LabelDifference(ds, model) | ||
self.name = "contrastivity" | ||
self._metric_objs["label_difference"] = LabelDifference(ds, model) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,15 @@ | ||
from typing import Any | ||
from ...base import Dataset, Model, Case | ||
|
||
from ...base import Case, Dataset, Model | ||
from ...metrics.feature_importance import ParameterRandomizationCheck | ||
|
||
|
||
class CorrectnessCase(Case): | ||
def __init__(self, ds: Dataset, model: Model, noisy_model: Model, *args: Any, **kwargs: Any) -> None: | ||
def __init__( | ||
self, ds: Dataset, model: Model, noisy_model: Model, *args: Any, **kwargs: Any | ||
) -> None: | ||
super().__init__(ds, model, *args, **kwargs) | ||
self.name = 'correctness' | ||
self._metric_objs['parameter_randomization_check'] = ParameterRandomizationCheck(ds, model, noisy_model) | ||
self.name = "correctness" | ||
self._metric_objs[ | ||
"parameter_randomization_check" | ||
] = ParameterRandomizationCheck(ds, model, noisy_model) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,11 @@ | ||
from typing import Any | ||
from ...base import Dataset, Model, Case | ||
|
||
from ...base import Case, Dataset, Model | ||
from ...metrics.feature_importance import CovariateRegularity | ||
|
||
|
||
class CovariateComplexityCase(Case): | ||
def __init__(self, ds: Dataset, model: Model, *args: Any, **kwargs: Any) -> None: | ||
super().__init__(ds, model, *args, **kwargs) | ||
self.name = 'covariate_complexity' | ||
self._metric_objs['covariate_regularity'] = CovariateRegularity(ds, model) | ||
self.name = "covariate_complexity" | ||
self._metric_objs["covariate_regularity"] = CovariateRegularity(ds, model) |
Oops, something went wrong.