我拟合了一个CatBoostClassifier模型(在Python中(,其中参数monotone_constraints
设置为一个值等于"0"的字典-1〃;。
然而,当我尝试计算SHAP值时:
df_shap_vals = model.get_feature_importance(data=X_pooled,
type='ShapValues',
prettified=False,
thread_count=-1,
verbose=False)
我得到错误:
CatBoostError: c:/program files (x86)/go agent/pipelines/buildmaster/catboost.git/catboost/libs/fstr/shap_values.cpp:810: Cannot calc shap values, model contains non zero approx for zero-weight leaf
注意:以前,当我没有设置monotone_constraints
参数时,我可以使用上面的代码计算SHAP值。
我在使用旧的catboost版本时也遇到了同样的问题。
在版本0.24.4中,基本问题已经解决,因此我的建议是试用上述版本。