Как изменить функции imporance в Xgboost - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть навязанная функция, которая оценивается 0 в значении важности функции XGBOOST. Тем не менее, я хотел бы, чтобы моя модель рассмотрела это. Есть ли решение, которое позволяет редактировать (грубой силой) важность функции? Иначе, есть ли теория, которая может решить мою проблему? Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Проблема в том, какую модель вы используете, XGBoost выбирает важность функции при подборе для улучшения оценки.

Вы можете использовать другую модель, такую ​​как KNN.Если вы используете StandardScaler для своих функций, они будут иметь одинаковое значение, даже если корреляция действительно плохая.Затем вы можете изменить стандартное отклонение любой функции, чтобы увеличить или уменьшить ее важность.

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

0 голосов
/ 13 ноября 2018

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

Попробуй еще раз взглянуть на эту переменную и подумай: почему ты хочешь использовать ее как предиктор? Может быть, это просто не та функция, которую стоит рассмотреть. Если значение равно нулю, вы можете также проверить, правильно ли вы реализовали эту функцию.

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

...