我在python Jupyter笔记本上运行以下代码:
import xgboost as xgb
bst_dx=xgb.train(paramMap,dset,num_round,verbose_eval=True)由于某些原因,我从来没有看到过实际的详细评估,它应该打印上次评估的提升时的当前损失。我尝试将verbose_eval设置为1、2、3、4等,但仍然没有效果。我只得到一个静默输出。是否需要在Jupyter中启用某些设置?
发布于 2017-04-05 02:58:20
您还需要提供您的评估数据集和未改善的轮次数,在此之后,您希望调用提前停止。例如:
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 roundshttps://stackoverflow.com/questions/39757947
复制相似问题