随机森林回归的一个局限 - 知乎
https://zhuanlan.zhihu.com/p/105625883
随机森林是一种流行的机器学习模型,通常用于分类任务,在许多学术论文,Kaggle竞赛和博客文章中都可以看到。除分类外,随机森林还可用于回归任务。随机森林的非线性特性可以使其比线性算法更具优势,使其成为一个不错的选择。但是,重要的是要了解您的数据并记住随机森林无法推断。它只能做出是以前观察到的标签平均值的预测。从这个意义上讲,它与KNN非常相似。换句话说,在回归问题中,随机森林可以做出的预测范围受训练数据中最高和最低标签的约束。在训练和预测输入的范围和/或分布不同的情况下,此行为会成为问题。这称为协变量平移,大多数模型难以处理,但对于随机森林尤其如此,因为它无法推断。
例如,假设您正在使用随时间推移具有潜在趋势的数据,例如股票价格,房屋价格或销售。如果您缺少训练数据的任何时间段,那么根据趋势,随机森林模型将低于或过度预测训练数据中时间范围以外的示例。如果将模型的预测相对于它们的真实值进行绘制,这将非常明显。让我们通过创建一些数据来了解一下。
让我们来看看随机森林对测试数据的预测有多好。
这个结果不是很好。我们用它们的已知值和预测进行对比,看看发生了什么。
该图清楚地表明,该模型可以预测的最高值约为961,而数据中的潜在趋势将最新值推至966。不幸的是,Random Forest无法推断线性趋势并准确预测时间值高于训练数据值(2000-2010年)的新示例。即使调整树木数量也无法解决问题。在这种情况下,由于我们对数据施加了完美的线性关系,因此像“线性回归”这样的模型将是一个更好的选择,并且在检测数据趋势以及对训练时间范围之外的数据进行准确预测时都不会出现问题。
尽管“随机森林”通常是模型的理想选择,但了解其工作方式以及是否对您的数据可能有任何限制仍然很重要。在这种情况下,因为它是基于邻域的模型,所以它使我们无法对训练数据之外的时间范围做出准确的预测。如果您发现自己处于这种情况,则最好测试其他模型,例如线性回归或立体派,和/或考虑在模型集成中使用随机森林。预测愉快!
更多高质量科技类原创文章,请访问数据应用学院官网Blog:https://www.dataapplab.com/
参加数据应用学院线上免费公开课:https://www.dataapplab.com/event/
查看数据应用学院往期课程视频:
- 分类和回归树,随机森林,霍夫森林(CART,random forests,hough forests)
- scikit-learn的基本回归方法(线性、决策树、SVM、KNN)和集成方法(随机森林,Adaboost和GBRT)...
- 知乎上对SOA和微服务的一个比喻
- 通过 nginx 搞了一个反代,整合 谷歌学术, V2EX ,知乎等搜索的页面
- 图像分类器:基于opencv、随机森林、逻辑回归算法实现
- hibernate的学习心得(引用知乎的一个author)
- 逻辑斯蒂回归(LogisticRegression)sklearn的一个例子中文解释
- 用JAVA实现一个爬虫,爬取知乎的上的内容
- 如何快速构建一个美女主播网站(来自知乎一个关于 webRTC 是否适合直播问题的讨论)
- 在知乎回答的一个问题:C#初学者以后往WP开发走,还是往unity3d走?哪个更有前景呢
- [Java]知乎下巴第0集:让我们一起来做一个知乎爬虫吧哦耶
- 【知乎精选】一个产品经理的成长(转)
- 怎样用三句话向一个 8 岁小孩解释什么是数据库?(整理来至知乎)
- 用WebCollector制作一个爬取《知乎》并进行问题精准抽取的爬虫(JAVA)
- R语言预测海藻频率(多元线性回归、回归树、组合随机森林)
- 转载知乎——如何编写一个获取百度Place API里面POI数据的爬虫
- 我最近开发的一个自动化回归测试工具
- 逃离北京一年后再次回归: 一个PHP工程师的自白
- 我在知乎做运营—— 一个知乎离职妹子的感悟
- 对知乎上一个面试题写点答案