shap.plots.scatter
- shap.plots.scatter(shap_values: ~shap._explanation.Explanation, color: str | ~shap._explanation.Explanation | None = '#1E88E5', hist: bool = True, axis_color='#333333', cmap=<matplotlib.colors.LinearSegmentedColormap object>, dot_size=16, x_jitter: float | ~typing.Literal['auto'] = 'auto', alpha: float = 1.0, title: str | None = None, xmin: ~shap._explanation.Explanation | str | float | None = None, xmax: ~shap._explanation.Explanation | str | float | None = None, ymin: ~shap._explanation.Explanation | str | float | None = None, ymax: ~shap._explanation.Explanation | str | float | None = None, overlay: dict[str, ~typing.Any] | None = None, ax: ~matplotlib.axes._axes.Axes | None = None, ylabel: str = 'SHAP value', show: bool = True)
- 创建一个 SHAP 依赖散点图,可选择按交互特征着色。 - 该图在 x 轴上绘制特征值,在 y 轴上绘制同一特征的 SHAP 值。这显示了模型如何依赖于给定特征,并且是经典局部依赖图的更丰富扩展。数据点的垂直离散度表示交互效应。y 轴上的灰色刻度线是特征值为 NaN 的数据点。 - 请注意,如果您想更改显示的数据,可以更新 - shap_values.display_features属性,之后它将用于绘图,而不是- shap_values.data。- 参数:
- shap_valuesshap.Explanation
- 通常是 - Explanation对象的一列(即- shap_values[:, "Feature A"])。- 或者,传递多列来创建多个子图(即 - shap_values[:, ["Feature A", "Feature B"]])。
- color字符串或 shap.Explanation,可选
- 如何为散点图的点着色。这可以是一个固定的颜色字符串,也可以是一个 - Explanation对象。- 如果它是一个 - Explanation对象,那么散点图的点将根据似乎与- shap_values参数给出的特征具有最强交互效应的特征进行着色。这是使用- shap.utils.approximate_interactions()计算的。- 如果只传递 - Explanation对象的单列,则该特征列将用于为数据点着色。
- hist布尔值
- 是否在 x 轴上显示一个浅色直方图以显示数据密度。请注意,直方图经过归一化,如果所有点都在一个箱体中,则该箱体将占据图表的整个高度。默认为 - True。
- x_jitter‘auto’ 或浮点数
- 通过指定 0 到 1 之间的浮点数,为特征值添加随机抖动。当特征是离散的时,这可能会增加图表的可读性。默认情况下, - x_jitter的值是基于对分类特征的自动检测来选择的。
- title: str,可选
- 图表标题。 
- alphafloat
- 数据点的透明度(介于 0 和 1 之间)。在使用大数据集时,这对于显示数据点的密度很有用。 
- xmin, xmax, ymin, ymax浮点数、字符串、聚合的 Explanation 或 None
- 期望的坐标轴限制。可以是一个浮点数来指定固定限制。 - 可以是一个格式为 - "percentile(float)"的字符串,表示特征值的百分位数。- 它也可以是 - Explanation对象单列的聚合列,例如- explanation[:, "feature_name"].percentile(20)。
- overlay: dict,可选
- 可选字典,包含最多三个要作为线图叠加的额外曲线。 - 该字典将曲线名称映射到一个 (xvalues, yvalues) 对的列表,其中每个要绘制的特征都有一对。 
- axmatplotlib Axes,可选
- 可选地指定一个现有的 - matplotlib.axes.Axes对象,图表将被绘制到该对象中。- 仅在绘制单个特征时支持。 
- showbool
- 在返回前是否调用 - matplotlib.pyplot.show()。- 将其设置为 - False允许在图表创建后对其进行进一步的自定义。
 
- 返回:
- axmatplotlib Axes 对象
- 返回绘制了图表的 - Axes对象。仅在- show=False时返回。
 
 - 示例 - 请参阅散点图示例。