xai_compare.abstract.comparison

Classes

Comparison(model, data, target[, mode, ...])

Base class for model comparison that handles various explainer analyses.

class xai_compare.abstract.comparison.Comparison(model, data: DataFrame, target: DataFrame | Series | ndarray, mode: str = 'regression', random_state: int = 42, verbose: bool = True, default_explainers: List[str] = ['shap', 'lime', 'permutations'], custom_explainer: Type[Explainer] | List[Type[Explainer]] | None = None)

Base class for model comparison that handles various explainer analyses.

This abstract class provides a framework for comparing explanation methods to assess feature importance and explainer consistency.

Attributes:
model (Model):

The input machine learning model.

data (pd.DataFrame):

The feature dataset used for model training and explanation.

target (Union[pd.DataFrame, pd.Series, np.ndarray]):

The target variables associated with the data.

mode (str, default ‘REGRESSION’):

The mode of operation from config.py.

random_state (int, default 42):

Seed used by the random number generator for reproducibility.

verbose (bool, default True):

Enables verbose output during operations.

default_explainers (List[str], default EXPLAINERS):

List of default explainers from config.py.

custom_explainer (Union[Type[Explainer], List[Type[Explainer]], None], optional):

Custom explainer classes to be added to the default explainers.

Methods:
apply():

Abstract method to generate a comparison report based on the explainer outputs.

display():

Abstract method to plot and display the result from the comparison analysis.

create_list_explainers(custom_explainer: Type[Explainer] | List[Type[Explainer]] | None) List[Explainer]

Creates a list of explainer classes from default and custom explainers.

Attributes:
custom_explainer (Union[Type[Explainer], List[Type[Explainer]], None]):

Custom explainer or a list of custom explainer classes.

Returns:
List[Explainer]:

A list of initialized explainer classes.