Как узнать номер дерева, созданного в Xgboost - PullRequest
0 голосов
/ 19 мая 2018

У меня есть вопросы о Xgboost.

Знаете ли вы, как узнать количество деревьев, созданных в Xgboost?В отличие от Randomforest, который производитель моделей решает, сколько деревьев будет создано, Xgboost в основном продолжает создавать деревья, пока функция потерь не достигнет определенной величины.Поэтому я хочу знать это.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Это немного криво, но в данный момент я делаю dump -ing модель (XGBoost создает список, где каждый элемент является строковым представлением одного дерева), а затем подсчитывает, сколько элементов всписок:

# clf is a XGBoost model fitted using the sklearn API
dump_list = clf.get_booster().get_dump()
num_trees = len(dump_list)
0 голосов
/ 20 мая 2018

Это контролируется вами как пользователем.Используете ли вы собственный обучающий API, тогда это контролируется num_boost_round (по умолчанию 10), см. Документы здесь :

num_boost_round (int) - Количество повторений повышения.

Если вы используете API sklearn, то это контролируется n_estimators (по умолчанию 100), см. Документ здесь :

n_estimators: int Количество увеличенных деревьев для подгонки.

Единственное предостережение в том, что это максимальное количество деревьев для размещения . , фитинг может остановиться, если вы установите критерий ранней остановки.,Я не уверен, что вы используете это.

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