SHAP部分相关图(散点图+回归线+直方图)



我想用回归线+和直方图绘制形状偏相关图。

代表SHAP偏相关图(散点图和以线和阴影表示的回归线)+右上方直方图为SHAP分布和变量值

参考文章https://www.nature.com/articles/s41598 - 021 - 99920 - 7

这是一个可视化的图表。问候:Junaid[在这里输入图片描述](https://i.stack.imgur.com/bfbCJ.jpg)

我尝试了如何在SHAP散点图中使用ax=ax。但是我不会画这样的图。

这个适合我:

import matplotlib.gridspec as gridspec
import matplotlib.pyplot as plt
import shap
import numpy as np
fig = plt.figure(figsize=(12, 12))
gs = gridspec.GridSpec(5, 5)
ax_main = plt.subplot(gs[1:5, :4])
ax_xDist = plt.subplot(gs[0, :4])
ax_yDist = plt.subplot(gs[1:5, 4])

# lowess
idx = np.where(X.columns==var_one)[0][0]
x = X.iloc[:,idx]
y_sv = shap_values[:,idx]
lowess = sm.nonparametric.lowess(y_sv, x, frac=.3)
ax_main.plot(*list(zip(*lowess)), color="#312D2C", linestyle="dashed", )
# shap
shap.dependence_plot(var_one,
shap_values,
X,
interaction_index=var_two,
alpha=0.5,
dot_size=10,
show=False,
ax=ax_main)
# histplots
ax_xDist.hist(X[var_one], bins=50, edgecolor="black", color="gray")
ax_yDist.hist(X[var_two], orientation="horizontal", bins=50, edgecolor="black", color="gray")
plt.show()

最新更新