【问题标题】:What does Random Forest do with unseen data?随机森林如何处理看不见的数据?
【发布时间】:2016-12-23 03:53:02
【问题描述】:

当我在 python 中使用 scikit learn 构建我的随机森林模型时,我设置了一个条件(sql 查询中的 where 子句),以便训练数据只包含值大于 0 的值。

我很想知道随机森林如何处理值小于0的测试数据,这是随机森林模型在训练数据中从未见过的。

【问题讨论】:

    标签: python machine-learning scikit-learn random-forest


    【解决方案1】:

    它们的处理方式与训练集中已经遇到的最小值相同。 RF 只是一堆投票决策树,(基本)DT 只能以“如果特征 X > 那么 T 向左,否则向右”的形式形成决策。因此,如果您将它拟合到对于给定特征只有 [0, inf] 中的值的数据,它要么根本不使用此特征,要么以上面给出的形式使用它(作为形式的决定“如果 X is > than T",其中 T 必须来自 (0, inf) 才能对训练数据有意义)。因此,如果您只是简单地获取新数据并将负值更改为“0”,结果将是相同的。

    【讨论】:

    • 嗯,这是有道理的,因为随机森林只是在节点上分裂!我也很想知道,在我训练模型时,去掉一些属性(它们的平均下降精度很低;换句话说,对预测的准确性不太重要)是否会使模型预测更好。
    • 一般情况下 - 尽量避免进行启发式后处理,而是使用 RF 本身的超参数并使用交叉验证(或其他泛化估计方法)进行验证以找到最佳设置。
    猜你喜欢
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 2015-12-16
    • 2021-12-08
    • 2017-06-26
    • 2012-04-19
    • 2019-09-05
    相关资源
    最近更新 更多