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 # 特征)。如果这是一维数组,则将绘制单个力图。如果是二维数组,则将绘制堆叠力图。
- featuresnumpy.array
特征值矩阵(# 特征)或(# 样本 x # 特征)。这提供了所有特征的值,并且应与
shap_values
参数的形状相同。- feature_nameslist
特征名称列表(# 特征)。
- out_namesstr
模型输出的名称(复数形式,以支持未来多输出绘图)。
- link“identity” 或 “logit”
绘制刻度线标签时使用的转换。“logit” 将对数几率数字更改为概率。
- plot_cmapstr 或 list[str]
要使用的颜色图。它可以是字符串(默认为
RdBu
)或十六进制颜色字符串列表。- matplotlibbool
是否使用默认的 Javascript 输出,还是(不太成熟的)matplotlib 输出。在渲染 Javascript/HTML 不方便的情况下,使用 matplotlib 可能会有所帮助。默认为 False。
- showbool
是否在返回之前调用
matplotlib.pyplot.show()
。 将此设置为False
允许在创建绘图后进一步自定义它。 仅当matplotlib
设置为 True 时适用。- figsize
matplotlib 输出的图形大小。
- contribution_thresholdfloat
控制力图上显示的特征名称/值。 仅显示 shap 值幅度大于 min_perc *(所有绝对 shap 值之和)的特征。