Как построить топ k переменных по значимости переменных в xgboost в python? - PullRequest
0 голосов
/ 27 апреля 2018

В Python, как я могу построить верхние k переменных по значению variableI?

Когда я использую xgb.plot_importance, он всегда отображает все переменные, обученные в модели.

Однако у меня более 3000 объектов, и я не хочу изображать их все; Я забочусь только о 100 лучших переменных с сильным влиянием.

Я знаю, что могу извлечь значение переменной из xgb_model.get_score(), которое возвращает словарь, хранящий пары (особенности, важность). Может быть, это направление, в котором я могу извлечь из словаря лучшие k важных переменных.

Но я не знаю, как создавать рисунки (гистограммы) в том же стиле, что и xgb.plot_importance, если я вручную строю графики в соответствии со словарем верхнего k.

Или есть ли способ, с помощью которого я могу построить топ k переменных, зависит от встроенного API xgboost?

1 Ответ

0 голосов
/ 27 апреля 2018

Просто используйте параметр 'max_num_features' в xgb.plot_importance().

С документация :

max_num_features (int, по умолчанию None) - максимальное количество основных функций отображается на участке. Если Нет, все функции будут отображаться.

Так что используйте это так:

xgb.plot_importance(..., ..., ..., max_num_features = 100)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...