shap.plots.force
- shap.plots.force(base_value, shap_values=None, features=None, feature_names=None, out_names=None, link='identity', plot_cmap='RdBu', matplotlib=False, show=True, figsize=(20, 3), ordering_keys=None, ordering_keys_time_format=None, text_rotation=0, contribution_threshold=0.05)[源代码]
使用加性力布局可视化给定的 SHAP 值。
- 参数:
- base_valuefloat 或 shap.Explanation
如果传递了一个浮点数,这是特征贡献开始时的参考值。对于SHAP值,它应该是
explainer.expected_value
的值。然而,建议传递一个SHAPExplanation
对象(在这种情况下不需要shap_values
)。- shap_valuesnumpy.array
SHAP 值的矩阵(# 特征)或(# 样本 x # 特征)。如果这是一个一维数组,则将绘制一个单一的力图。如果它是一个二维数组,则将绘制一个堆叠的力图。
- 功能numpy.array
特征值矩阵(# 特征)或(# 样本 x # 特征)。这提供了所有特征的值,并且应与
shap_values
参数的形状相同。- 特征名称列表
功能名称列表(# 功能)。
- out_namesstr
模型输出的名称(复数形式以支持未来的多输出绘图)。
- 链接“identity” 或 “logit”
绘制刻度标签时使用的变换。使用“logit”会将对数几率数字转换为概率。
- plot_cmapstr 或 list[str]
要使用的颜色映射。它可以是一个字符串(默认为
RdBu
)或一个十六进制颜色字符串列表。- matplotlib布尔
是否使用默认的Javascript输出,还是使用(开发程度较低的)matplotlib输出。在渲染Javascript/HTML不方便的场景中,使用matplotlib可能会有帮助。默认为False。
- 显示布尔
是否在返回之前调用
matplotlib.pyplot.show()
。将其设置为False
允许在创建图表后进一步自定义图表。仅在matplotlib
设置为 True 时适用。- figsize
matplotlib 输出的图形大小。
- 贡献阈值浮动
控制显示在力图上的特征名称/值。只有SHAP值的幅度大于 min_perc * (所有SHAP值的绝对值之和) 的特征才会被显示。