Есть ли способ рассчитать важность функций на основе получения информации в catboost?

#python #feature-selection #catboost #boosting

Вопрос:

Есть ли способ получить значения функций на основе увеличения информации для классификатора градиентного повышения с catboost библиотекой python?

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

Я провожу параллельные исследования , используя sklearn lightgbm и catboost библиотеки одновременно, и поскольку первые два реализуют значения функций, основанные на получении информации, с .feature_importances_ .feature_importance(importance_type="gain") атрибутами и, соответственно, я полагаю, что было бы вероятно, чтобы значения функций catboost вычислялись таким же образом. Конечно, я понимаю, что точные цифры, полученные с разных ускорителей, в любом случае несравнимы, но тем не менее.

Заранее спасибо за любой ответ!