【问题标题】:caret: using random forest and include cross-validation插入符号:使用随机森林并包括交叉验证
【发布时间】:2015-06-15 05:30:08
【问题描述】:

我使用 caret 包训练了一个随机森林,包括重复的交叉验证。我想知道是否使用了如 Breiman 的原始 RF 中的 OOB,或者它是否被交叉验证所取代。如果它被替换,我是否具有与 Breiman 2001 中描述的相同的优势,例如通过减少输入数据之间的相关性来提高准确性?由于 OOB 是带替换绘制的,而 CV 是不带替换绘制的,这两个过程是否具有可比性?错误率的OOB估计是多少(基于CV)?

树木是如何生长的?是否使用了 CART?

由于这是我的第一个主题,如果您需要更多详细信息,请告诉我。非常感谢。

【问题讨论】:

    标签: random-forest cross-validation r-caret


    【解决方案1】:

    我最近也对此感到有些困惑,但阅读 Max Kuhn 的应用预测建模中的第 4 章帮助我理解了其中的区别。

    如果您在 R 中使用 randomForest,您可以通过对 N 个带放回的案例进行抽样来增长许多决策树(N 是训练集中的案例数)。然后,您在 m 小于预测变量数的每个节点对 m 个变量进行采样。然后每棵树都完全生长,并且根据该节点中的案例模式将终端节点分配给一个类。新病例通过将它们发送到所有树上然后进行投票来分类;多数票获胜。

    这里要注意的重点是:

    • 树木是如何生长的 - 带替换采样(引导程序)。这意味着某些情况将在您的引导示例中多次表示,而其他情况可能根本不表示。引导样本将与您的训练数据集大小相同。

    • 未选择用于构建树的案例称为 OOB 样本 - 通过对构建树时未选择的案例进行分类来计算 OOB 误差估计。 bootstrap 样本中大约 63% 的数据点至少表示一次。

    如果你在 R 中使用 caret,你通常会使用 caret::train(....) 并将方法指定为 "rf" 和 trControl="repeatedcv"。如果您想摆脱困境,可以将 trControl 更改为“oob”。其工作方式如下(我将使用 10 倍 cv 重复 5 次的简单示例):训练数据集被分成大小大致相等的 10 倍,将仅使用 9 次构建许多树样本 - 所以省略了第一个折叠(被保留)。通过在树中运行案例来预测保留的样本,并用于估计绩效指标。第一个子集返回到训练集,并在保留第二个子集的情况下重复该过程,依此类推。该过程重复 10 次。整个过程可以重复多次(在我的示例中,我这样做了 5 次);对于 5 次运行中的每一次,训练数据集被分成 10 个略有不同的折叠。需要注意的是,我们使用了50个不同的保留样本来计算模型功效。

    需要注意的关键点是:

    • 这涉及无替换抽样 - 您拆分训练数据并在 9 个样本上构建模型并预测保留的样本(10 个样本中的剩余 1 个)并重复上述过程

    • 使用小于训练数据集的数据集构建模型;这与上面讨论的引导方法不同

    您正在使用 2 种不同的重采样技术,它们会产生不同的结果,因此它们不具有可比性。 k 倍重复的 cv 往往具有低偏差(对于 k 大);其中 k 为 2 或 3,偏差很高,与 bootstrap 方法相当。 K fold cv 往往具有高方差...

    【讨论】:

      【解决方案2】:

      这里有很多基本问题,最好阅读一本关于机器学习或预测建模的书。这可能是你没有得到太多回应的原因。

      对于caret,您还应该咨询package website,其中部分问题已得到解答。

      这里有一些注意事项:

      • RF 的 CV 和 OOB 估计有些不同。 This post 可能有助于解释如何。对于此应用程序,在构建模型时计算随机森林的 OOB 率,而 CV 使用在计算随机森林模型后预测的保留样本。
      • 原始随机森林模型(此处使用)使用未修剪的 CART 树。同样,这是在许多教科书和论文中。

      最大

      【讨论】:

        猜你喜欢
        • 2018-06-12
        • 2014-04-16
        • 2018-09-03
        • 2015-10-16
        • 1970-01-01
        • 1970-01-01
        • 2016-04-10
        • 2019-09-15
        • 1970-01-01
        相关资源
        最近更新 更多