Explainer
Explainer
- class Explainer.Explainer(hierarchical_model: HierarchicalClassifier, data: None, n_jobs: int = 1, algorithm: str = 'auto', mode: str = '')
Explainer class for returning shap values for each of the three hierarchical classifiers.
- __init__(hierarchical_model: HierarchicalClassifier, data: None, n_jobs: int = 1, algorithm: str = 'auto', mode: str = '')
Initialize the SHAP explainer for a hierarchical model.
- Parameters
hierarchical_model (HierarchicalClassifier) – The hierarchical classification model to explain.
data (array-like or None, default=None) – The dataset used for creating the SHAP explainer.
n_jobs (int, default=1) – The number of jobs to run in parallel.
algorithm (str, default="auto") – The algorithm to use for SHAP explainer. Possible values are ‘linear’, ‘tree’, ‘auto’, ‘permutation’, or ‘partition’
mode (str, default="") – The mode of the SHAP explainer. Can be ‘tree’, ‘gradient’, ‘deep’, ‘linear’, or ‘’ for default SHAP explainer.
Examples
>>> from sklearn.ensemble import RandomForestClassifier >>> import numpy as np >>> from hiclass import LocalClassifierPerParentNode, Explainer >>> rfc = RandomForestClassifier() >>> lcppn = LocalClassifierPerParentNode(local_classifier=rfc, replace_classifiers=False) >>> x_train = np.array([[1, 3], [2, 5]]) >>> y_train = np.array([[1, 2], [3, 4]]) >>> x_test = np.array([[4, 6]]) >>> lcppn.fit(x_train, y_train) >>> explainer = Explainer(lcppn, data=x_train, mode="tree") >>> explanations = explainer.explain(x_test) <xarray.Dataset> Dimensions: (class: 3, sample: 1, level: 2, feature: 2) Coordinates: * class (class) <U1 '1' '3' '4' * level (level) int64 0 1 Dimensions without coordinates: sample, feature Data variables: node (sample, level) <U13 'hiclass::root' '3' predicted_class (sample, level) <U1 '3' '4' predict_proba (sample, level, class) float64 0.29 0.71 nan nan nan 1.0 classes (sample, level, class) object '1' '3' nan nan nan '4' shap_values (level, class, sample, feature) float64 -0.135 ... 0.0
- explain(X)
Generate SHAP values for each node in the hierarchy for the given data.
- Parameters
X (array-like) – Training data to fit the SHAP explainer.
- Returns
explanation – An xarray.Dataset object representing the explanations for each sample passed.
- Return type
xarray.Dataset