2016-09-28 88 views
2

我跑在Python 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