slickml.visualization._shap
#
Module Contents#
Functions#
|
Visualizes shap beeswarm plot as summary of shapley values. |
|
Visualizes the Shapley values as a waterfall plot. pl |
- slickml.visualization._shap.plot_shap_summary(shap_values: numpy.ndarray, features: Union[pandas.DataFrame, numpy.ndarray], *, plot_type: Optional[str] = 'dot', figsize: Optional[Union[str, Tuple[float, float]]] = 'auto', color: Optional[str] = None, cmap: Optional[matplotlib.colors.LinearSegmentedColormap] = None, max_display: Optional[int] = 20, feature_names: Optional[List[str]] = None, layered_violin_max_num_bins: Optional[int] = 10, title: Optional[str] = None, sort: Optional[bool] = True, color_bar: Optional[bool] = True, class_names: Optional[List[str]] = None, class_inds: Optional[List[int]] = None, color_bar_label: Optional[str] = 'Feature Value', save_path: Optional[str] = None, display_plot: Optional[bool] = True) None [source]#
Visualizes shap beeswarm plot as summary of shapley values.
Notes
This is a helper function to plot the
shap
summary plot based on all types ofshap.Explainer
includingshap.LinearExplainer
for linear models,shap.TreeExplainer
for tree-based models, andshap.DeepExplainer
deep neural network models. More on details are available at [shap-api].- Parameters:
shap_values (np.ndarray) – Calculated SHAP values array. For single output explanations such as binary classification problems, this will be a matrix of SHAP values with a shape of
(n_samples, n_features)
. Additionally, for multi-output explanations this would be a list of such matrices of SHAP values (List[np.ndarray]
)features (Union[pd.DataFrame, np.ndarray]) – The feature matrix that was used to calculate the SHAP values. For the case of Numpy array it is recommened to pass the
feature_names
list as well for better visualization resultsplot_type (str, optional) – The type of summary plot where possible options are “bar”, “dot”, “violin”, “layered_violin”, and “compact_dot”. Recommendations are “dot” for single-output such as binary classifications, “bar” for multi-output problems, “compact_dot” for Shap interactions, by default “dot”
figsize (tuple, optional) – Figure size where “auto” is auto-scaled figure size based on the number of features that are being displayed. Passing a single float will cause each row to be that many inches high. Passing a pair of floats will scale the plot by that number of inches. If None is passed then the size of the current figure will be left unchanged, by default “auto”
color (str, optional) – Color of plots when
plot_type="violin"
andplot_type=layered_violin"
are “RdBl” color-map while color of the horizontal lines whenplot_type="bar"
is “#D0AAF3”, by default Nonecmap (LinearSegmentedColormap, optional) – Color map when
plot_type="violin"
andplot_type=layered_violin"
, by default “RdBl”max_display (int, optional) – Limit to show the number of features in the plot, by default 20
feature_names (List[str], optional) – List of feature names to pass. It should follow the order of features, by default None
layered_violin_max_num_bins (int, optional) – The number of bins for calculating the violin plots ranges and outliers, by default 10
title (str, optional) – Title of the plot, by default None
sort (bool, optional) – Flag to plot sorted shap vlues in descending order, by default True
color_bar (bool, optional) – Flag to show a color bar when
plot_type="dot"
orplot_type="violin"
class_names (List[str], optional) – List of class names for multi-output problems, by default None
class_inds (List[int], optional) – List of class indices for multi-output problems, by default None
color_bar_label (str, optional) – Label for color bar, by default “Feature Value”
save_path (str, optional) – The full or relative path to save the plot including the image format such as “myplot.png” or “../../myplot.pdf”, by default None
display_plot (bool, optional) – Whether to show the plot, by default True
References
- Returns:
None
- slickml.visualization._shap.plot_shap_waterfall(shap_values: numpy.ndarray, features: Union[pandas.DataFrame, numpy.ndarray], *, figsize: Optional[Tuple[float, float]] = (8, 5), bar_color: Optional[str] = '#B3C3F3', bar_thickness: Optional[Union[float, int]] = 0.5, line_color: Optional[str] = 'purple', marker: Optional[str] = 'o', markersize: Optional[Union[int, float]] = 7, markeredgecolor: Optional[str] = 'purple', markerfacecolor: Optional[str] = 'purple', markeredgewidth: Optional[Union[int, float]] = 1, max_display: Optional[int] = 20, title: Optional[str] = None, fontsize: Optional[Union[int, float]] = 12, save_path: Optional[str] = None, display_plot: Optional[bool] = True, return_fig: Optional[bool] = False) Optional[matplotlib.figure.Figure] [source]#
Visualizes the Shapley values as a waterfall plot. pl This function is a helper function to plot the shap summary plot based on all types of shap explainers including tree, linear, and dnn.
- Parameters:
shap_values (np.ndarray) – Calculated SHAP values array. For single output explanations such as binary classification problems, this will be a matrix of SHAP values with a shape of
(n_samples, n_features)
. Additionally, for multi-output explanations this would be a list of such matrices of SHAP values (List[np.ndarray]
)features (Union[pd.DataFrame, np.ndarray]) – The feature matrix that was used to calculate the SHAP values. For the case of Numpy array it is recommened to pass the
feature_names
list as well for better visualization resultsfigsize (Tuple[float, float], optional) – Figure size, by default (8, 5)
bar_color (str, optional) – Color of the horizontal bar lines, “#B3C3F3”
bar_thickness (Union[float, int], optional) – Thickness (hight) of the horizontal bar lines, by default 0.5
line_color (str, optional) – Color of the line plot, by default “purple”
marker (str, optional) – Marker style of the lollipops. More valid marker styles can be found at [markers-api], by default “o”
markersize (Union[int, float], optional) – Markersize, by default 7
markeredgecolor (str, optional) – Marker edge color, by default “purple”
markerfacecolor (str, optional) – Marker face color, by default “purple”
markeredgewidth (Union[int, float], optional) – Marker edge width, by default 1
max_display (int, optional) – Limit to show the number of features in the plot, by default 20
title (str, optional) – Title of the plot, by default None
fontsize (Union[int, float], optional) – Fontsize for xlabel and ylabel, and ticks parameters, by default 12
save_path (str, optional) – The full or relative path to save the plot including the image format such as “myplot.png” or “../../myplot.pdf”, by default None
display_plot (bool, optional) – Whether to show the plot, by default True
return_fig (bool, optional) – Whether to return figure object, by default False
References
- Returns:
Figure, optional