Skip to content

plot_shap_scatter


method plot_shap_scatter(models=None, rows="test", columns=0, target=1, title=None, legend=None, figsize=(900, 600), filename=None, display=True)[source]
Plot SHAP's scatter plot.

Plots the value of the feature on the x-axis and the SHAP value of the same feature on the y-axis. This shows how the model depends on the given feature, and is like a richer extension of the classical partial dependence plots. Vertical dispersion of the data points represents interaction effects. Read more about SHAP plots in the user guide.

Parametersmodels: 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., atom.lr.plot_shap_scatter().

rows: hashable, segment, sequence or dataframe, default="test"
Selection of rows to plot. The plot_shap_scatter method does not support plotting a single sample.

columns: int, str, segment, sequence or dataframe, default=0
Feature to plot. Only a single feature can be selected.

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, 600)
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 filename has no file type, the plot is saved as png. If None, the plot is not saved.

display: bool or None, default=True
Whether to render the plot. If None, it returns the figure.

Returnsplt.Figure or None
Plot object. Only returned if display=None.


See Also

plot_shap_beeswarm

Plot SHAP's beeswarm plot.

plot_shap_decision

Plot SHAP's decision plot.

plot_shap_force

Plot SHAP's force 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_scatter(columns="symmetry error")
8bff0be9-3bc8-4b3a-b892-868d50a35abd.png