我在python Jupyter笔记本中运行以下内容:
import xgboost as xgb
bst_dx=xgb.train(paramMap,dset,num_round,verbose_eval=True)
出于某种原因,我从未看到实际的详细评估,它应该在最后评估的提升时打印当前损失。我已经尝试将verbose_eval设置为1,2,3,4等,但仍然没有做任何事情。我只是得到一个静音输出。我需要在Jupyter中启用一些设置吗?
答案 0 :(得分:2)
您还需要提供您的评估数据集以及在您希望调用提前停止之后没有改进的轮次数。例如:
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