facet.inspection.shap.sklearn.RegressorShapCalculator#
- class facet.inspection.shap.sklearn.RegressorShapCalculator(model, *, output_names, explainer_factory, interaction_values, n_jobs=None, shared_memory=None, pre_dispatch=None, verbose=None)[source]#
Calculates SHAP (interaction) values for regression models.
- Bases
LearnerShapCalculator
[~T_Regressor]- Generic types
~T_Regressor(bound=
RegressorMixin
)- Metaclasses
- Parameters
model (
RegressorShapCalculator
) – the model for which to calculate SHAP valuesoutput_names (
List
[str
]) – the names of the outputs of the regressorexplainer_factory (
ExplainerFactory
[RegressorShapCalculator
]) – the explainer factory used to create the SHAP explainer for this calculatorinteraction_values (
bool
) – ifTrue
, calculate SHAP interaction values, otherwise calculate SHAP valuesn_jobs (
Optional
[int
]) – number of jobs to use in parallel; ifNone
, use joblib default (default:None
)shared_memory (
Optional
[bool
]) – ifTrue
, use threads in the parallel runs; ifFalse
orNone
, use multiprocessing (default:None
)pre_dispatch (
Union
[int
,str
,None
]) – number of batches to pre-dispatch; ifNone
, use joblib default (default:None
)verbose (
Optional
[int
]) – verbosity level used in the parallel computation; ifNone
, use joblib default (default:None
)
Method summary
Calculate the SHAP values.
Check that the given feature matrix is valid for this calculator.
Attribute summary
IDX_FEATURE
Name for the feature index (= column index) of the resulting SHAP data frame.
Multi-output SHAP values are determined by target.
The names of the inputs explained by this SHAP calculator, or
None
if no names are defined.[see superclass]
The main effects per observation and featuren (i.e., the diagonals of the interaction matrices), with shape \((n_\mathrm{observations}, n_\mathrm{outputs} \cdot n_\mathrm{features})\).
The names of the outputs explained by this SHAP calculator.
The SHAP interaction values per observation and feature pair, with shape \((n_\mathrm{observations} \cdot n_\mathrm{features}, n_\mathrm{outputs} \cdot n_\mathrm{features})\)
The SHAP values per observation and feature, with shape \((n_\mathrm{observations}, n_\mathrm{outputs} \cdot n_\mathrm{features})\)
n_jobs
Number of jobs to use in parallel; if
None
, use joblib default.shared_memory
If
True
, use threads in the parallel runs; ifFalse
orNone
, use multiprocessing.pre_dispatch
Number of batches to pre-dispatch; if
None
, use joblib default.verbose
Verbosity level used in the parallel computation; if
None
, use joblib default.model
The model for which to calculate SHAP values.
explainer_factory
The explainer factory used to create the SHAP explainer for this calculator.
shap_
The SHAP values for all observations this calculator has been fitted to.
feature_index_
The names of the features for which SHAP values were calculated.
Definitions
- fit(__X, **fit_params)#
Calculate the SHAP values.
- Parameters
- Return type
- Returns
self
- Raises
ValueError – if the observations are not a valid feature matrix for this calculator
- validate_features(features)#
Check that the given feature matrix is valid for this calculator.
- Parameters
features (
DataFrame
) – the feature matrix to validate- Raises
ValueError – if the feature matrix is not compatible with this calculator
- Return type
- MULTI_OUTPUT_INDEX_NAME = 'target'#
Multi-output SHAP values are determined by target.
- property input_names: Optional[List[str]]#
The names of the inputs explained by this SHAP calculator, or
None
if no names are defined.
- property main_effects: pandas.DataFrame#
The main effects per observation and featuren (i.e., the diagonals of the interaction matrices), with shape \((n_\mathrm{observations}, n_\mathrm{outputs} \cdot n_\mathrm{features})\).
- Raises
AttributeError – this SHAP calculator does not support interaction values
- Return type
- property shap_interaction_values: pandas.DataFrame#
The SHAP interaction values per observation and feature pair, with shape \((n_\mathrm{observations} \cdot n_\mathrm{features}, n_\mathrm{outputs} \cdot n_\mathrm{features})\)
- Raises
AttributeError – this SHAP calculator does not support interaction values
- Return type
- property shap_values: pandas.DataFrame#
The SHAP values per observation and feature, with shape \((n_\mathrm{observations}, n_\mathrm{outputs} \cdot n_\mathrm{features})\)
- Return type