logml.model_search.shap
Functions
Aggregate shap values from (samples, columns) to (columns,) |
|
|
Creates explainer for a given model class. |
Classes
|
Defines model explainer subsystems. |
Implemented by BaseModels to provide model-specific shap parameters. |
|
|
Context shared between shap invoker and model |
|
Internal shap explainer state, updated each fold iteration. |
|
Container for shap explanation and metrics weights. |
Wrapper around default shap.Explainer class. |
Exceptions
Exception risen in case if explanation module cannot find or identify suitable explainer for a given model |
- class logml.model_search.shap.ShapExplainerContext(estimator: Optional[object] = None, dataset: Optional[logml.data.datasets.cv_dataset.ModelingDataset] = None, train_idx: Optional[list] = None, test_idx: Optional[list] = None)
Bases:
object
Context shared between shap invoker and model
- estimator: object = None
- dataset: logml.data.datasets.cv_dataset.ModelingDataset = None
- train_idx: list = None
- class logml.model_search.shap.ShapExplainerState(estimator: Optional[object] = None, data: Optional[numpy.array] = None, masker: Optional[object] = None, explainer: Optional[shap.explainers._explainer.Explainer] = None, explainer_invoke_params: Optional[dict] = None)
Bases:
object
Internal shap explainer state, updated each fold iteration.
- estimator: object = None
- data: numpy.array = None
- masker: object = None
- explainer: shap.explainers._explainer.Explainer = None
- explainer_invoke_params: dict = None
- class logml.model_search.shap.ShapExplainable
Bases:
object
Implemented by BaseModels to provide model-specific shap parameters.
- validate_shap_run(dataset: Optional[logml.data.datasets.cv_dataset.ModelingDataset] = None, **kwargs)
Validate specific data before calculating shap values. Raise ModelException to fail validation.
- get_shap_init_params(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) dict
Define shap explainer initialization parameters
- Returns
Dictionary to be passed to estimator constructor. use_predict_method: if true, then estimator.predict method is passed to explainer.
- get_shap_invoke_params(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) dict
Define shap explainer invocation parameters Return dictionary to be passed to estimator function.
- set_shap_invoke_params(params: dict)
Set shap explainer invocation parameters
- create_explainer(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) shap.explainers._explainer.Explainer
Create shap explainer. Note: override in model class to create model-specific explainer type.
- get_explanation_data(ctx: Optional[logml.model_search.shap.ShapExplainerContext] = None) numpy.array
Get data to generate shap values. By default uses training subset.
- prepare_shap_state(state: logml.model_search.shap.ShapExplainerState, ctx: logml.model_search.shap.ShapExplainerContext)
Initialize state before invoke.
- class logml.model_search.shap.ShapExplanationWrapper(shap_exp: Optional[shap._explanation.Explanation] = None, metrics: Optional[logml.models.base.MetricsResult] = None)
Bases:
object
Container for shap explanation and metrics weights.
- shap_exp: shap._explanation.Explanation = None
- metrics: logml.models.base.MetricsResult = None
- class logml.model_search.shap.ShapModelExplainer
Bases:
object
Wrapper around default shap.Explainer class.
- cals_shap_values(model: Union[logml.models.base.BaseModel, logml.model_search.shap.ShapExplainable], dataset: logml.data.datasets.cv_dataset.ModelingDataset) Optional[List[logml.model_search.shap.ShapExplanationWrapper]]
Calculate shap values for a given fit Mode instance and dataset.
- logml.model_search.shap.create_shap_explainer(model_cls: type) Optional[logml.model_search.shap.ShapModelExplainer]
Creates explainer for a given model class.
- logml.model_search.shap.aggregate_shap_values_to_columns(exp: shap._explanation.Explanation) numpy.array
Aggregate shap values from (samples, columns) to (columns,)
- exception logml.model_search.shap.MissingExplainerException
Bases:
Exception
Exception risen in case if explanation module cannot find or identify suitable explainer for a given model