通过减少n_estimators
棵树来结束训练的提前停止工作when and if最后增加的early_stopping_rounds
棵树并没有提高判断集的性能.
当有多个评价集时,最后一个用于提前停止,当有多个评价指标时,再次使用最后一个.因此,在这里,我们需要注意您的曲线图中的AUC测试曲线.由于它会一直增加到100
(n_estimators
的默认设置),所以无论您为它设置多少次迭代以等待改进,提前停止都不会起作用.
此外,从the docs:
请注意,
xgboost.train()
将返回上次迭代的模型,而不是最好的模型.
这是来自原生API文档,我不确定这条注释是否同样适用于SCRICKIT-LEARN API.