【ML】随机森林(Random Forest,RF)
1. 随机森林的概念
Q:什么是随机森林?
A:随机森林是一个包含多个决策树的分类器,由很多决策树构成,不同的决策树之间没有关联。当我们进行分类任务时,森林中的每一棵决策树都会分别对样本进行判断和分类,每个决策树会得到一个自己的分类结果,决策树的分类结果中哪一个分类最多,那么随机森林就会把这个结果当做最终的结果。 (即,少树服从多树)。
看起来是不是很简单呢?但是这里有一个问题,那就是随机森林中有多个决策树,那么,我们如何用已有的数据集去构建这么多的决策树呢?
首先,要明白,决策树是不同的,那么训练决策树所需要的数据也不同。
那么具体该如何选择呢?
既然是随机森林,那么它肯定是随机的!!!它的随机有两层含义:
- 样本随机:Bagging算法
- 属性随机
1.1. 样本随机
样本随机使用的是Bagging算法(Bootstrap aggregating,引导聚集算法)又称之为装袋算法。算法的流程如下:
给定一个训练集大小为n的训练集D,Bagging算法从中间随机的、有放回的选出m个大小为n′ 的子集Di作为新的训练集。
postscript:通过以上这种取样得到的集合Di中间可能会有重复的元素(因为是有放回的抽取元素)
1.2. 属性随机
若样本有M个属性时,随机从这M个属性中选取出m个属性(无放回),满足条件m<M。
postscript:在这种情况下,m个属性中是没有重复的属性的。
2. 随机森林的优缺点
优点:
- 它可以出来很高维度(特征很多)的数据,并且不用降维,无需做特征选择
- 它可以判断特征的重要程度(可以用来做特征选择)
- 可以判断出不同特征之间的相互影响
- 不容易过拟合
- 训练速度比较快,容易做成并行方法
- 实现起来比较简单
- 对于不平衡的数据集来说,它可以平衡误差。
- 如果有很大一部分的特征遗失,仍可以维持准确度。
缺点:
- 随机森林已经被证明在某些噪音较大的分类或回归问题上会过拟合。
- 对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的。
参考
https://www.cnblogs.com/xiaohuiduan/p/12490064.html
【ML】随机森林(Random Forest,RF)相关推荐
- 【机器学习】随机森林 – Random forest
文章目录 一.随机森林是什么? 1. 随机森林是一种集成学习算法 2. 随机森林的基学习器是决策树 二.随机森林 – Random Forest | RF 三.构造随机森林的 4 个步骤 四.随机森林 ...
- 随机森林 – Random forest
随机森林 – Random forest 随机森林是一种由决策树构成的集成算法,他在很多情况下都能有不错的表现. 本文将介绍随机森林的基本概念.4 个构造步骤.4 种方式的对比评测.10 个优缺点和 ...
- 【ML】随机森林(Random Forest) 从入门到放弃再到掌握
目录 集成学习 决策树 Boosting Adaboost GBDT 梯度提升决策树是属于boosting集成学习的一种方法,通过构建多颗CART回归树,每一轮利用上一轮学习器的残差进行树的创建.该残 ...
- 初勘数据处理之预测算法(随机森林random forest)附matlab源码
初勘数据处理之预测算法(随机森林random forest)附matlab源码 集成学习方法 集成学习方法,是整合多个分类方法的预测结果,以提高分类准确率.集成学习方法先用训练数据构建一组基分类器,再 ...
- 机器学习方法(六):随机森林Random Forest,bagging
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 前面机器学习方法(四)决策树讲了经典 ...
- 随机森林Random Forest,bagging
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 前面机器学习方法(四)决策树讲了经 ...
- 通俗解读随机森林Random Forest
通俗解读随机森林Random Forest 写在前面 1. 什么是集成学习 2. 什么是Bagging 3 随机森林 写在前面 声明:本文主要参考的是周志华老师的<机器学习>西瓜书,参杂了 ...
- 随机森林(Random Forest)和梯度提升树(GBDT)有什么区别?
随机森林(Random Forest)和梯度提升树(GBDT)有什么区别? 随机森林属于 集成学习 中的 Bagging(Bootstrap AGgregation 的简称) 方法. 随机森林是由很多 ...
- spark mllib源码分析之随机森林(Random Forest)
Spark在mllib中实现了tree相关的算法,决策树DT(DecisionTree),随机森林RF(RandomForest),GBDT(Gradient Boosting Decision Tr ...
- 机器学习 - 随机森林 Random Forest
先修知识: 决策树.可以看我之前写的文章https://blog.csdn.net/weixin_41332009/article/details/112276531 集成学习.也可以看之前写的文章h ...
最新文章
- 编程游戏python我的世界_乐学Python编程-做个游戏很简单
- 文件系统:Ext3和Ext4
- [NLP-CNN] Convolutional Neural Networks for Sentence Classification -2014-EMNLP
- Android 系统(152)---Android多线程:HandlerThread详细使用手册
- FFmpeg源代码简单分析:configure
- 把WebForm移植到.Net MVC中
- 干了4年程序员年薪20万,高中同学当牙医,对比收入后懵了
- php是什么币种的外汇英文,外汇币种英文_我要最常用的10个外汇币种和英文简称!_合拍网...
- java po vo bo是什么以及_Java中VO , PO , BO, DAO ,POJO是什么意思
- 国内镜像站——国外资源的代理站点
- 构建知识体系(3):建立体系6个步骤
- C语言怎么实现语音功能
- python不重复排列组合_python解决排列组合
- 阿里王坚:别把智慧城市做成怪物
- Qt 设置背景图片
- Elasticsearch7.17 一: 快速入门
- 量子计算的基本原理论述
- IBM SPSS的Sav文件读/写
- Android开发目前为止记载最全的有关项目的网址
- 学生为什么要学python_碎碎念|为什么要学Python
热门文章
- 在线表格,推荐使用超级表格——超好用的电子表格
- 微信公众号php编程,PHP编程:微信公众号开发之文本消息自动回复php代码
- [i.MX6Q][QNX Neutrino 6.6.0]调试笔记------初识QNX_Neutrino
- google为何选择kotlin?kotlin如何解决java开发痛点【续】?
- Java 中的屠龙之术:如何修改语法树?
- 曲师大计算机系课程论文,曲师大论文要求式.doc
- 如何下载php-cs-fixer,详解使用php-cs-fixer格式化代码
- 历数两年内的重大空难事故
- 埃航CEO:到现场时浓烟滚滚 失事飞机机长曾想返航
- HC_SR04超声波模块的应用