我是否可以使用设置为 "-1" 的单调约束来计算 CatBoost 模型拟合上的 SHAP 值?



我拟合了一个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中,基本问题已经解决,因此我的建议是试用上述版本。

最新更新