2016-09-28 5 views
2

Я бег следующего питона Jupyter ноутбук:XGBOOST verbose_eval в Jupyter не работает

import xgboost as xgb 
bst_dx=xgb.train(paramMap,dset,num_round,verbose_eval=True) 

По некоторым причинам я никогда не увидеть фактические многословные оценки, которая, как предполагается печатать текущие потери в последнем оцененный импульс. Я пробовал устанавливать verbose_eval в 1,2,3,4 и т. Д., Но это все равно ничего не делает. Я просто получаю тихий вывод. Есть ли какая-то настройка, которую мне нужно включить в Jupyter?

ответ

1

Вам также необходимо предоставить набор оценочных данных/с и количество раундов без каких-либо улучшений, после которых вы хотите вызвать раннюю остановку. Например:

xgb_params = {"objective": "multi:softprob", "max_depth": 8, "silent": 1, "num_class":5} 
num_rounds = 1000 
dtrain = xgb.DMatrix(trainX, trainY) #training data 
dvalid = xgb.DMatrix(validX, validY) #validation data 
thisxgb = xgb.train(xgb_params, dtrain, num_rounds, \ 
        [(dtrain,'train'),(dvalid,'test')], \ 
        early_stopping_rounds=10\ 
        ) #stop if no improvement in 10 rounds