1. 随机森林的概念

Q:什么是随机森林?
A:随机森林是一个包含多个决策树的分类器,由很多决策树构成,不同的决策树之间没有关联。当我们进行分类任务时,森林中的每一棵决策树都会分别对样本进行判断和分类,每个决策树会得到一个自己的分类结果,决策树的分类结果中哪一个分类最多,那么随机森林就会把这个结果当做最终的结果。 (即,少树服从多树)。

看起来是不是很简单呢?但是这里有一个问题,那就是随机森林中有多个决策树,那么,我们如何用已有的数据集去构建这么多的决策树呢?

首先,要明白,决策树是不同的,那么训练决策树所需要的数据也不同。

那么具体该如何选择呢?
既然是随机森林,那么它肯定是随机的!!!它的随机有两层含义

  1. 样本随机:Bagging算法
  2. 属性随机
1.1. 样本随机

样本随机使用的是Bagging算法(Bootstrap aggregating,引导聚集算法)又称之为装袋算法。算法的流程如下:

给定一个训练集大小为n的训练集D,Bagging算法从中间随机的、有放回的选出m个大小为n′ 的子集Di作为新的训练集。

postscript:通过以上这种取样得到的集合Di中间可能会有重复的元素(因为是有放回的抽取元素)

1.2. 属性随机

若样本有M个属性时,随机从这M个属性中选取出m个属性(无放回),满足条件m<M。

postscript:在这种情况下,m个属性中是没有重复的属性的。

2. 随机森林的优缺点

优点

  1. 它可以出来很高维度(特征很多)的数据,并且不用降维,无需做特征选择
  2. 它可以判断特征的重要程度(可以用来做特征选择)
  3. 可以判断出不同特征之间的相互影响
  4. 不容易过拟合
  5. 训练速度比较快,容易做成并行方法
  6. 实现起来比较简单
  7. 对于不平衡的数据集来说,它可以平衡误差。
  8. 如果有很大一部分的特征遗失,仍可以维持准确度。

缺点

  1. 随机森林已经被证明在某些噪音较大的分类或回归问题上会过拟合
  2. 对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的。
参考

https://www.cnblogs.com/xiaohuiduan/p/12490064.html

【ML】随机森林(Random Forest,RF)相关推荐

  1. 【机器学习】随机森林 – Random forest

    文章目录 一.随机森林是什么? 1. 随机森林是一种集成学习算法 2. 随机森林的基学习器是决策树 二.随机森林 – Random Forest | RF 三.构造随机森林的 4 个步骤 四.随机森林 ...

  2. 随机森林 – Random forest

    随机森林 – Random forest 随机森林是一种由决策树构成的集成算法,他在很多情况下都能有不错的表现. 本文将介绍随机森林的基本概念.4 个构造步骤.4 种方式的对比评测.10 个优缺点和 ...

  3. 【ML】随机森林(Random Forest) 从入门到放弃再到掌握

    目录 集成学习 决策树 Boosting Adaboost GBDT 梯度提升决策树是属于boosting集成学习的一种方法,通过构建多颗CART回归树,每一轮利用上一轮学习器的残差进行树的创建.该残 ...

  4. 初勘数据处理之预测算法(随机森林random forest)附matlab源码

    初勘数据处理之预测算法(随机森林random forest)附matlab源码 集成学习方法 集成学习方法,是整合多个分类方法的预测结果,以提高分类准确率.集成学习方法先用训练数据构建一组基分类器,再 ...

  5. 机器学习方法(六):随机森林Random Forest,bagging

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 前面机器学习方法(四)决策树讲了经典 ...

  6. 随机森林Random Forest,bagging

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld.  技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 前面机器学习方法(四)决策树讲了经 ...

  7. 通俗解读随机森林Random Forest

    通俗解读随机森林Random Forest 写在前面 1. 什么是集成学习 2. 什么是Bagging 3 随机森林 写在前面 声明:本文主要参考的是周志华老师的<机器学习>西瓜书,参杂了 ...

  8. 随机森林(Random Forest)和梯度提升树(GBDT)有什么区别?

    随机森林(Random Forest)和梯度提升树(GBDT)有什么区别? 随机森林属于 集成学习 中的 Bagging(Bootstrap AGgregation 的简称) 方法. 随机森林是由很多 ...

  9. spark mllib源码分析之随机森林(Random Forest)

    Spark在mllib中实现了tree相关的算法,决策树DT(DecisionTree),随机森林RF(RandomForest),GBDT(Gradient Boosting Decision Tr ...

  10. 机器学习 - 随机森林 Random Forest

    先修知识: 决策树.可以看我之前写的文章https://blog.csdn.net/weixin_41332009/article/details/112276531 集成学习.也可以看之前写的文章h ...

最新文章

  1. 编程游戏python我的世界_乐学Python编程-做个游戏很简单
  2. 文件系统:Ext3和Ext4
  3. [NLP-CNN] Convolutional Neural Networks for Sentence Classification -2014-EMNLP
  4. Android 系统(152)---Android多线程:HandlerThread详细使用手册
  5. FFmpeg源代码简单分析:configure
  6. 把WebForm移植到.Net MVC中
  7. 干了4年程序员年薪20万,高中同学当牙医,对比收入后懵了
  8. php是什么币种的外汇英文,外汇币种英文_我要最常用的10个外汇币种和英文简称!_合拍网...
  9. java po vo bo是什么以及_Java中VO , PO , BO, DAO ,POJO是什么意思
  10. 国内镜像站——国外资源的代理站点
  11. 构建知识体系(3):建立体系6个步骤
  12. C语言怎么实现语音功能
  13. python不重复排列组合_python解决排列组合
  14. 阿里王坚:别把智慧城市做成怪物
  15. Qt 设置背景图片
  16. Elasticsearch7.17 一: 快速入门
  17. 量子计算的基本原理论述
  18. IBM SPSS的Sav文件读/写
  19. Android开发目前为止记载最全的有关项目的网址
  20. 学生为什么要学python_碎碎念|为什么要学Python

热门文章

  1. 在线表格,推荐使用超级表格——超好用的电子表格
  2. 微信公众号php编程,PHP编程:微信公众号开发之文本消息自动回复php代码
  3. [i.MX6Q][QNX Neutrino 6.6.0]调试笔记------初识QNX_Neutrino
  4. google为何选择kotlin?kotlin如何解决java开发痛点【续】?
  5. Java 中的屠龙之术:如何修改语法树?
  6. 曲师大计算机系课程论文,曲师大论文要求式.doc
  7. 如何下载php-cs-fixer,详解使用php-cs-fixer格式化代码
  8. 历数两年内的重大空难事故
  9. 埃航CEO:到现场时浓烟滚滚 失事飞机机长曾想返航
  10. HC_SR04超声波模块的应用