Заглянув в библиотеку shap, я наткнулся на этот вопрос, в ответе на который показан график водопада, отлично! Рассмотрим некоторые официальные примеры здесь и здесь я заметил, что графики также демонстрируют значение особенностей.
Пакет shap содержит как shap.waterfall_plot
, так и shap.plots.waterfall
, попытка обоих в случайном лесу, обученном набору данных Iris, дала одинаковые результаты (см. один пример кода и изображения ниже).
for which_class in y.unique():
display(
shap.waterfall_plot(shap.Explanation(values=shap_values[int(which_class)][idx],
base_values=explainer.expected_value[int(which_class)],
feature_names=X_test.columns.tolist())
)
)
В котором idx
указывает на образец в тестовом наборе, который я пытаюсь объяснить. Код генерирует следующий график для одного из классов:
Как я могу заставить график также отображать значения функций? Я не видел никаких дополнительных аргументов, которые я мог бы передать методу plot
Любая помощь приветствуется!