Получите индивидуальные особенности важности с XGBoost

Я обучил двоичный классификатор XGBoost, и я хотел бы выделить важность функций для каждого наблюдения, которое я даю модели (у меня уже есть важность глобальных функций).

Более конкретно, я ищу способ определить, для каждого экземпляра, данного модели, какие функции оказывают наибольшее влияние и делают входные данные принадлежащими тому или иному классу. Я хотел бы знать что-то вроде 5 лучших функций, которые делают наблюдение принадлежащим к какому-либо классу, и указания на то, как мне следует изменить эти 5 функций, чтобы вероятность принадлежности к этому классу уменьшалась или увеличивалась.

Например, скажем, моя модель предсказывает, стоит ли дом более 100000 долларов (это положительный класс), исходя из его местоположения, площади и количества спален. Я привожу следующие данные: Лондон, 400 квадратных футов, 4 спальни, и моя модель предсказывает вероятность того, что дом окажется в положительном классе 56%. Я ищу модуль Python или функцию, которая показала бы наиболее влиятельные функции для каждого наблюдения.

1 ответ

Есть несколько разных способов для этого. Вы можете использовать собственные меры важности из библиотеки xgboost. Проверьте этот ответ: /questions/26257155/kak-poluchit-vazhnost-funktsii-v-xgboost/26257162#26257162

Вы также можете искать альтернативные методы. Вот два из них, которые я могу рекомендовать:

Другие вопросы по тегам