Я подбираю модель 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
Примечание. Раньше мне удавалось вычислять значения SHAP с помощью приведенного выше кода, когда я не устанавливал аргумент monotone_constraints
.
catboost
, которые, похоже, не работают. Вы можете попробоватьKernelExplainer
, который должен работать для любой функции, илиTreeExplainer
из пакетаshap
и посмотреть, проходит ли ваш классификатор [через последний]. - person Sergey Bushmanov   schedule 03.12.2020