gpt4 book ai didi

decision-tree - XGBoost 修剪步骤在做什么?

转载 作者:行者123 更新时间:2023-12-03 18:34:31 27 4
gpt4 key购买 nike

当我使用 XGBoost 拟合模型时,它通常会显示一系列消息,例如“updater_prune.cc:74: tree pruning end, 1 个 root, 6 extra nodes, 0 pruned nodes, max_depth=5”。我想知道 XGBoost 是如何进行树修剪的?我找不到关于他们修剪过程的描述 in their paper .

注意:我确实了解决策树修剪过程,例如前修剪和后修剪。这里我很好奇XGBoost的实际剪枝过程。通常修剪需要验证数据,但即使我没有给它任何验证数据,XGBoost 也会执行修剪。

最佳答案

XGBoost把所有的树都长到 max_depth第一的。

这允许快速训练,因为您不必评估每个节点的所有正则化参数。

每棵树都长到 max_depth ,你从步行树底 (递归一直到顶部)并确定是否拆分和 child 有效 基于您选择的超参数。如果拆分或节点无效,则将它们从树中删除。

model dumpXGBoost模型你可以观察到实际深度会小于max_depth如果发生了修剪,则在训练期间。

修剪不需要验证数据。它只是问一个简单的问题,即 split 或结果子节点是否是 有效 ,基于 hyper-parameters you have set在训练中。

  • more info on pruning the original XGB slides from 2014
  • 关于decision-tree - XGBoost 修剪步骤在做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52672116/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com