0

我拟合了一个 CatBoostClassifier 模型(在 Python 中),其参数monotone_constraints设置为一个值等于“-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 值。

4

1 回答 1

1

我在使用旧的 catboost 版本时也遇到了同样的问题。

0.24.4 版本中,基本问题已得到修复,因此我的建议是尝试上述版本。

于 2021-01-04T23:21:53.507 回答