XG boost CV和树数

2024-09-30 01:30:44 发布

您现在位置:Python中文网/ 问答频道 /正文

{xcv}关于“gboost”函数的详细信息,请不要完全理解。在

假设我们从特性和目标值的数据帧开始。CV在每轮比赛中都做些什么?如果CV结果有500行(即有500棵决策树),那么每棵树是如何构造的?这500棵树是如何组合在一起的?在

如果我们能从CV函数得到一个单一的预测,为什么我们需要XGBClassifier.fit这也产生了一个模型(因此是损失数)?在

谢谢。在


Tags: 数据函数模型决策树详细信息特性cvfit
2条回答

Xgboost是一种梯度增强方法,它在每次迭代中加入树来提高预测精度。请参阅本文的介绍,以了解梯度提升是如何工作的:https://www.analyticsvidhya.com/blog/2016/02/complete-guide-parameter-tuning-gradient-boosting-gbm-python/。这应该可以解释树木是如何建造的。在

当添加越来越多的树时,预测精度会提高,直到开始过度拟合,此时预测精度会降低。所以你需要找到最佳的树数。在

从一开始就猜不出这个数字。那是什么xgboost.cv是为了。它将训练数据分为两个子集。第一个子集用于训练xgboost,第二个子集用作验证集。在每次迭代(添加一个额外的树)之后,xgboost计算新的验证错误。有了它,xgboost能够检测何时开始过度拟合(当验证错误开始增加时)。这将为您提供给定超参数集的最佳树数。在

注意xgboost.cv返回评估历史记录(列表),而XG列车返回增压器。在

还要注意XG增压配合是sklearn包装器的一部分(所以最好不要进行比较xgboost.cv它是xgboost学习api的一部分)。在

最后一句话:你不需要xgboost.cv找到最佳的树数。你也可以跑步XG列车设置了“提前停止子弹”。在

如果你有任何问题,请在评论中告诉我。在

{validating{andvalidating{cd2>在训练期间返回

相关问题 更多 >

    热门问题