plot_shap_force
method plot_shap_force(models=None, rows="test", target=1, title=None, legend=None, figsize=(900, 300), filename=None, display=True, **kwargs)[source]
Plot SHAP's force plot.
Visualize the given SHAP values with an additive force layout.
Note that by default this plot will render using javascript.
For a regular figure use matplotlib=True
(this option is
only available when only a single sample is plotted). Read more
about SHAP plots in the user guide.
Parameters |
models: int, str, Model or None, default=None
Model to plot. If None, all models are selected. Note that
leaving the default option could raise an exception if there
are multiple models. To avoid this, call the plot directly
from a model, e.g.,
rows: hashable, segment, sequence or dataframe, default="test"atom.lr.plot_shap_force() .
Selection of rows to plot.
target: int, str or tuple, default=1
Class in the target column to target. For multioutput tasks,
the value should be a tuple of the form (column, class).
Note that for binary and multilabel tasks, the selected
class is always the positive one.
title: str, dict or None, default=None
Title for the plot.
legend: str, dict or None, default=None
Do nothing. Implemented for continuity of the API.
figsize: tuple or None, default=(900, 300)
Figure's size in pixels, format as (x, y).
filename: str, Path or None, default=None
Save the plot using this name. Use "auto" for automatic
naming. The type of the file depends on the provided name
(.html, .png, .pdf, etc...). If
display: bool or None, default=Truefilename has no file type,
the plot is saved as png. If None, the plot is not saved.
Whether to render the plot. If None, it returns the figure
(only if
**kwargsmatplotlib=True in kwargs ).
Additional keyword arguments for shap.plots.force.
|
Returns | {#plot_shap_force-plt.Figure or None}
plt.Figure or None
Plot object. Only returned if display=None .
|
See Also
Plot SHAP's beeswarm plot.
Plot SHAP's scatter plot.
Plot SHAP's decision plot.
Example
>>> from atom import ATOMClassifier
>>> from sklearn.datasets import load_breast_cancer
>>> X, y = load_breast_cancer(return_X_y=True, as_frame=True)
>>> atom = ATOMClassifier(X, y, random_state=1)
>>> atom.run("LR")
>>> atom.plot_shap_force(rows=-2, matplotlib=True, figsize=(1800, 300))