TypeError: __init__() missing 1 required positional argument: 'data'

TypeError: __init__() missing 1 required positional argument: 'data'

在Python中,我读入了一个名为flaml_lgbm.pmml的lightGBM pmml文件,像这样:

from pypmml import Model

model = Model.fromFile('flaml_lgbm.pmml')

然后我尝试用这些代码行生成 SHAP 图:

shap_values = shap.KernelExplainer(model).shap_values(X)
shap.summary_plot(shap_values, X, plot_type="bar")

# positive and negative relationships of the predictors with the target variable
shap.summary_plot(shap_values, X)  

但是我得到这个错误:

shap_values = shap.KernelExplainer(model).shap_values(X)

TypeError: __init__() missing 1 required positional argument: 'data'

代码有什么问题,我该如何解决?

您只需要在 shap.KernelExplainer() 中也包含数据,试试这个:

shap_values = shap.KernelExplainer(model, X).shap_values(X)