随机森林详解

  随机森林(Random Forest)是属于集成学习的一种组合分类算法,集成学习的核心思想就是将若干个弱(基)分类器组合起来,得到一个分类性能显著优越的强分类器。如果各弱分类器之前没有强依赖关系、可并行生成,就可以使用随机森林算法。
  随机森林利用自主抽样法(bootstrap)从原数据集中有放回地抽取多个样本,对抽取的样本先用弱分类器—决策树进行训练,然后把这些决策树组合在一起,通过投票得出最终的分类或预测结果。

(一)决策树

  决策树是一种树形结构,其中有三种几点:根结点、中间结点和叶子结点。树中的每个结点都表示对象的特征,根结点为训练对象的集合,边为父节点对于某一特征的某种可能的取值规则,中间结点为父结点根据某一特征的某种可能的取值筛选后形成的训练对象的集合,叶子结点为分类结果。决策树的结构如图1所示。

image

图1 决策树结构示意图

  运用决策树进行分类的算法称为决策树分类算法,其基本原理是:把被分类的对象从根结点开始,测试该结点对应的特征,然后按照给定的特征的取值按照对应的边往下遍历,直到到达叶子结点获得被分类对象的类别。
  决策树作为一种弱分类器,采取的是单一的分类决策模式,所以存在很多缺点,比如过度拟合、分类规则复杂、只能得到局部最优解等。

(二)随机森林

  为了解决决策树模型存在的问题,在决策树的基础上,结合多个分类器组合的思想,由多个决策树生成随机森林。随机森林的核心思想就是,对训练集进行重采样,组成多个训练子集,每个子集生成一个决策树,所有决策树通过投票的方式进行决策,组成随机森林。
  为了描述方便,我们设训练极为T,由N个样本,即T={t1,t2,…,tN},设特征集为F,有M维特征,即F={f1,f2,…,fM},类别集合为C,有L种类别,即C={c1,c2,…,cL},测试集为D,有λ个测试样本,即D={d1,d2,…,dλ}。
  随机森林的算法流程如下所示:

1. 从容量为N的训练集T中,采用自助抽样法(bootstrap),即有放回地抽取N个样本,作为一个训练子集Tk
2. 对于训练子集Tk,从特征集F中无放回地随机抽取m个特征,其中m=log2M(向上取整),作为决策树上的每个节点分裂的依据,从根结点开始,自上而下生成一个完整的决策树Sk,不需要剪枝;
3. 重复n次步骤1和2,得到n个训练子集T1,T2,…,Tn,并生成决策树S1,S2,…,Sn,将n个决策树组合起来,形成随机森林;
4. 将测试集D的样本dμ输入随机森林中,让每个决策树对dμ进行决策,然后采用多数投票法(Majority Voting Algorithm)对决策结果投票,最终决定dμ的分类;
5. 重复λ次步骤4,直到测试集D分类完成。

  随机森林建立过程如图2所示。

这里写图片描述

图2 随机森林生成过程示意图

(三)测试结果评估

  若已知每个测试样本的正确分类(标签),随机森林还可以对测试结果的正确性进行评估,从而说明特征维选择的合理性。
  对于测试集为D={d1,d2,…,dλ},设为C’={c1’,c2’,…,cL’;},则将某个测试样本dμ的测试结果cμ和正确分类cμ’进行比对,相同则记为1,不同则记为0,得到测试集D的分类正确率为

α=λμ=1cμcμλ α = ∑ μ = 1 λ c μ ′ ⨀ c μ λ

  随机森林对测试结果的评估流程图如图3所示。

这里写图片描述

图3 测试结果评估流程图

参考文献

1.周志华.《机器学习》[M].北京:清华大学出版社,2016:171-191.
2.https://www.jiqizhixin.com/articles/2017-07-31-3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7902.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bagging与随机森林

下图是基于树的算法的发展历程 1、Bagging Bagging [Breiman, 1996a] 是并行式集成学习方法最著名的代表. 1.1、Bagging原理 bagging算法:bagging的个体弱学习器的训练集是通过随机采样得到的。通过T次的随机采样,我们就可以得到T个采样集&#xff…

随机森林-参数解说

sklearn–随机深林 1.集成算法概述 集成学习(ensemble learning)是时下非常流行的机器学习算法,它本身不是一个单独的机器学习算法,而是通过在数据上构建多个模型,集成所有模型的建模结果。基本上所有的机器学习领域都…

Random Forest随机森林算法

Random Forest是加州大学伯克利分校的Breiman Leo和Adele Cutler于2001年发表的论文中提到的新的机器学习算法,可以用来做分类,聚类,回归,这里只简单介绍该算法在分类上的应用。 Random Forest(随机森林)算…

【随机森林】random forests 简单介绍

Random Forest,顾名思义 Random 就是随机抽取; Forest 就是说这里不止一棵树,而由 一群决策树组成的一片森林 ,连起来就是用随机抽取的方法训练出一群决策树来完成分类任务。RF用了两次随机抽取, 一次是对训练样本的随机抽取; 另一…

随机森林!

定义:在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树节点分裂时引入随机属性扰动。 随机性体现(与传统决策树的差异):对基决策树的每个节点,先从该节点的属性集合中随机选择包含K(log2(d))个属性的子集,然后再从这个子集中选择…

随机森林 (Random Forests) 简单介绍与应用

1 集成方法(Ensemble methods) 1.1 什么是集成方法 简单来说,集成方法 就是组合多个模型,以获得更好效果。 1.2 两种集成方法 平均法(averaging methods):也有人直接称之为“袋装法”,所有算法进行 相互独立 训练得到各自的模…

随机森林--

----------------------集成学习---------------------- 集成学习可以被分为三个主要研究领域: -----------------------------------------------------模型融合----------------------------------------------------- 模型融合在最初的时候被称为“分类器结合…

R随机森林实现

原文链接:来自公众号生信数据挖掘 目录 R实现随机森林随机森林R包估值过程袋外错误率(oob error)R randomForest函数实现安装程序包,查看样本数据结构建模与观察 R实现随机森林 该文只简单的讲解关于的R的随机森林具体实现步骤&a…

随机森林 – Random forest

随机森林 – Random forest 随机森林是一种由决策树构成的集成算法,他在很多情况下都能有不错的表现。 本文将介绍随机森林的基本概念、4 个构造步骤、4 种方式的对比评测、10 个优缺点和 4 个应用方向。 什么是随机森林? 随机森林属于 集成学习 中的 …

随机森林原理详解 random forest 代码+参数讲解

事实上随机森林的基本单元决策树很早就被提出来了,只不过单个决策树效果不好。这个情况和神经网络差不多。 到了2001年Breiman把分类树组合成随机森林(Breiman 2001a),即在变量(列)的使用和数据&#xff0…

随机森林及应用

学习了B站视频《随机森林及应用》,记录一下学习笔记啦,原视频链接:Python机器学习算法实践Ⅲ-随机森林及应用。 一、随机森林属于集成学习,所以首先了解集成学习。在集成学习中,主要分为Bagging算法和Boosting算法。 B…

随机森林(Random Forests)介绍

1.决策树(Decision Tree) 决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。常见的决策树算法有C4.5、ID3和CART。ID3算法用的是信息增益,C…

使用随机森林进行特征选择

绘制随机森林每棵树的决策边界 首先导入必要的库函数: from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import make_moons from sklearn.model_selection import train_test_split import matplotlib.pyplot as plt import numpy as…

python实现随机森林

定义: 随机森林指的是利用多棵决策树对样本进行训练并预测的一种分类器。可回归可分类。 所以随机森林是基于多颗决策树的一种集成学习算法,常见的决策树算法主要有以下几种: 1. ID3:使用信息增益g(D,A)进行特征选择 2. C4.5&…

教你体验目前最火AI - 在craft AI assistant 使用chatGPT

atGPT大火之后,很多人都想体验一把,今天为大家推荐一种免费方式,体验chatGPT同款内核的AI助手。 craft AI assistant Craft 推出的 AI 助手产品 Craft AI Assistant,并且现在就可以使用。根据 Craft 官方介绍,Craft …

【ChatGPT+AI】持续更新

ChatGPT的缘分 ChatGPT的缘分 一、小白必知1.1ChatGPT是什么?1.2ChatGPT怎么用?1.3ChatGPT登录注意事项 二、ChatGPT实战2.1什么Prompt?2.2ChatGPT怎么发图片2.3ChatGPT快速制作PPT 三、其他AI与免费镜像网站四、星球介绍 ChatGPT的缘分 大家…

DetectGPT VS ChatGPT:AI反击战?

1.背景 随着 ChatGPT 的持续火爆,现在无论哪个行业,几乎是人尽皆知。同时,利用 ChatGPT 进行造假作弊的情况也是层出不穷,尤其是在教育和传媒行业。在美国的一项千人调查中,有89%的学生表示在家庭作业中使用了 ChatGP…

多国拟发ChatGPT禁令 关“野兽”的笼子要来了?

“人工智能想越狱“、”AI产生自我意识”、“AI终将杀死人类”、“硅基生命的进化”.......曾经只在在赛博朋克等科技幻想中出现的剧情,在今年走向现实,生成式自然语言模型正在遭受前所未有的质疑。 聚光灯下最瞩目的那个是ChatGPT,3月底到4…

ChatGPT从入门到精通,深入认识Prompt

ChatGPT从入门到精通,一站式掌握办公自动化/爬虫/数据分析和可视化图表制作 全面AI时代就在转角 道路已经铺好了 “局外人”or“先行者” 就在此刻 等你决定 让ChatGPT帮你高效实现职场办公!行动起来吧。欢迎关注专栏 。。。。。 还有更多。。。。&…

【Prompting】ChatGPT Prompt Engineering开发指南(1)

ChatGPT Prompt Engineering开发指南1 Prompting指南设置 提示原则策略1:使用分隔符清楚地指示输入的不同部分策略2:要求结构化输出策略3:让模型检查条件是否满足策略4: “Few-shot”提示 原则2:给模型时间“思考”策略1&#xff…