【问题标题】:Implement random forest without bootstrap实现无引导的随机森林
【发布时间】:2019-08-25 06:01:03
【问题描述】:

我想使用我所有的训练集来实现 Breiman (2001) 的随机森林算法来种植树木。换句话说,我想在每个节点上保持随机选择输入并删除引导阶段。这是因为我正在处理很少有表现出自相关的观察结果。

我浏览了 randomForestrangerRborist 包的文档,但没有找到答案。我还尝试使用getAnywhere(randomForest.default) 查看函数randomForest 的源代码;但我不得不承认,我的R级太低了,无法从中得到任何东西。

提前谢谢你。

编辑。以后的读者注意:如果要修改引导步骤,请确保在使用randomForest时设置keep.inbag=T

【问题讨论】:

    标签: r random-forest


    【解决方案1】:

    randomForest 中的 sampsize 参数控制用于每棵树的样本数量,而 replace 参数控制您是否在引导。因此,在您的情况下,设置 sampsize=N(样本数)和 replace=FALSE。

    【讨论】:

    • 我刚刚尝试使用replace=Fsampsize=N 实现森林,这导致predictedmse 的NaN 值。怎么解释?
    • 我假设您将 N 替换为您拥有的实际样本数?
    • 你在使用strata选项吗?
    • 我将 N 替换为 nrow(data.train)。我没有使用分层选项。
    • 你能粘贴你的代码吗?如果通过预测的 NaN 值表示您调用了预测(模型),那么这是有道理的,因为这些是使用袋外样本计算的,因为每个观察值都在每棵树中使用,所以您有 0 个样本。
    猜你喜欢
    • 2017-01-22
    • 2013-06-26
    • 2016-06-22
    • 2022-01-18
    • 2014-10-26
    • 2017-12-24
    • 1970-01-01
    • 2012-12-10
    • 2021-05-20
    相关资源
    最近更新 更多