【问题标题】:Random forest is worse than linear regression? It it normal and what is the reason?随机森林比线性回归差?这很正常,是什么原因?
【发布时间】:2018-06-13 17:39:15
【问题描述】:

我正在尝试使用机器学习来预测数据集。这是一个具有 180 个输入特征和 1 个连续值输出的回归问题。我尝试比较深度神经网络、随机森林回归和线性回归。

如我所料,3 层隐藏层深度神经网络的性能优于其他两种方法,均方根误差 (RMSE) 为 0.1。然而,我意外地看到随机森林的表现甚至比线性回归更差(RMSE 0.29 对 0.27)。在我的预期中,随机森林可以发现特征之间更复杂的依赖关系以减少错误。我试图调整随机森林的参数(树数、最大特征、最大深度等)。我也尝试了不同的 K-cross 验证,但性能仍然低于线性回归。

我在网上搜索,一个答案说,如果特征对协变量具有平滑、近乎线性的依赖关系,线性回归可能会表现得更好。我不完全明白这一点,因为如果是这样的话,深度神经网络不应该带来很大的性能提升吗?

我很难给出解释。在什么情况下,随机森林比线性回归差,但深度神经网络的表现要好得多?

【问题讨论】:

  • I also tried different K-cross validation ...您不要交叉验证随机森林,因为 Breiman 的算法在构建森林时已经隐式交叉验证。你应该用你实际运行随机森林的方式来更新你的问题,因为我怀疑你可能没有正确使用它。
  • 你能在你的随机森林回归器上报告out of bag 错误吗?与交叉验证相比,这可能是访问随机森林性能的更好方法。我认为这也是蒂姆的想法。如果您使用sklearn,则袋外错误已经是 R^2 的度量。

标签: machine-learning deep-learning linear-regression random-forest


【解决方案1】:

如果您的特征解释了与目标变量的线性关系,那么线性模型通常比随机森林模型表现更好。这完全取决于您的特征之间的线性关系。

也就是说,线性模型并不优越,或者随机森林更差。

尝试使用来自sciki-learnMinMaxScaler() 缩放和转换数据,看看线性模型是否进一步改进

专业提示

如果线性模型很有效,您需要问自己为什么?如何?并深入了解这两种模型的基础知识,以了解它为何适用于您的数据。这些问题将引导你更好地成为特征工程师。事实上,Kaggle 大师确实在堆叠中使用线性模型,通过捕获数据集中的线性关系来获得前 1% 的分数。

所以说到底,线性模型也可以创造奇迹。

【讨论】:

    猜你喜欢
    • 2013-05-06
    • 2021-10-13
    • 2019-12-06
    • 2018-12-04
    • 2014-11-01
    • 2018-04-04
    • 2018-06-24
    • 2016-04-24
    • 1970-01-01
    相关资源
    最近更新 更多