显示summary_plot时,色条未显示。
shap.summary_plot(shap_values, X_train)
我尝试更改plot_size。当绘图较高时,色条出现了,但非常小-看起来不像应该的样子。
shap.summary_plot(shap_values, X_train, plot_size=0.7)
这是一个合适的颜色条的示例。
有人知道是否可以解决这个问题吗?
如何重现:
import pandas as pd
import shap
import sklearn
from sklearn.ensemble import RandomForestRegressor
# a classic housing price dataset
X,y = shap.datasets.boston()
# a simple linear model
model = RandomForestRegressor(max_depth=6, random_state=0, n_estimators=10)
model.fit(X, y)
shap_values = shap.TreeExplainer(model).shap_values(X)
shap.summary_plot(shap_values, X)
在这种情况下,颜色条被显示出来,但是非常小。我选择了这样一个例子,以便更容易地检索数据。
在此情况下,虽然会显示颜色条,但其大小很小。我选择此示例以使检索数据更加轻松。
pl.colorbar(..., aspect=1000)
的调用。这似乎不是一个现实的值。也许在新的matplotlib版本中它的工作方式不同?你可以尝试一下import matplotlib.pyplot as plt; plt.gcf().axes[-1].set_aspect(30)
来改变它的纵横比。 - JohanC