【发布时间】:2023-01-21 07:34:34
【问题描述】:
我使用这段代码训练了一个 lightGBM 模型:
from flaml import AutoML
#Select Hyper-Parameters
automl_final = AutoML()
automl_final.fit(
X_train,
y_train,
estimator_list=["lgbm"],#,"xgboost"],
task="classification",
metric="roc_auc",
eval_method="cv",
n_splits=3,
time_budget=30,
sample=True,
append_log=True,
log_type="all",
model_history=True,
log_training_metric=True,
verbose=3,
seed=1234,
early_stop=True
)
然后我使用这段代码生成了一个 SHAP 条形图:
lgbm = automl_final.model.estimator
explainer = shap.TreeExplainer(lgbm)
shap_values = explainer.shap_values(X_test)
shap.summary_plot(shap_values, X_test,plot_type="bar")
我得到了这个情节(如预期的那样):
现在,我希望看到如下所示的 SHAP 图:
所以我改用了这段代码:
shap.summary_plot(shap_values, X_test)
我仍然得到与以前相同的 SHAP 条形图图:
有谁知道如何生成类似于这个的图(对于 lightgbm - 对于 xgboost,代码工作正常):
【问题讨论】: