机器学习-随机森林

【机器学习】十大算法之一 “随机森林” 随机森林算法(Random Forest, RF)是由Leo Breiman和Adele Cutler于2001年提出的一种集成学习(Ensemble Learning)算法。它是由多个决策树构成的分类器,通过对每个决策树的投票结果来确定最终的预测结果。随机森林算法可以用于分类和回归分析。在分类问题中,每个决策树的输出结果为一个类别标签,通过投票来确定样本所属的类别。在回归问题中,每个决策树的输出结果为一个连续值,取所有决策树输出结果的平均值作为最终结果。可以处理高维度数据;可以处理不平衡的数据集。 阅读详情

一、决策树

决策树是机器学习最基本的模型,在不考虑其他复杂情况下,我们可以用一句话来描述决策树:如果得分大于等于60分,那么你及格了。

这是一个最最简单的决策树的模型,我们把及格和没及格分别附上标签,及格(1),没及格(0),那么得到的决策树是这样的


但是我们几乎不会让计算机做这么简单的工作,我们把情况变得复杂一点

引用别的文章的一个例子


这是一张女孩对于不同条件的男性是否会选择见面的统计表,图中是否见面作为我们需要分类的结果,因此最后我们的结果无非就只是是和否两种情况。这是一个二分类的问题,但是需要判断的条件多了很多,现在不仅仅只是一个判断就能得出结果了,但是从上图我们找到了一个结果为否的记录,因此如果一个男性在城市无房产、年收入小于 17w 且离过婚,则可以预测女孩不会跟他见面。

那么问题就来了,在这种复杂的情况下,决策树怎么构建?


先通过城市是否拥有房产这条特征,把这10个人划分为2类


这个分类结果并不是很好,因为它没有将见面与不见面完全的分开,在算法中,当然不能凭我们的“感觉”去评价分类结果的好坏。我们需要用一个数去表示。


二、Gini不纯度

Gini不纯度是对分类结果好坏的度量标准(还可以用信息熵和增益去表示,可自行了解)

他的值是:1-每个标签占总数的比例的平方和。即1–∑mi=1fi2

对于上述的结果来讲,总的集合D被分为两个集合D1,D2,假设见面为1,不见面为0。

那么D1的不纯度为1-f1^2-f0^2,总数为5,见面的占了全部,则f1=1,f0=0,结果为0

D2的不纯度为1-f1^2-f0^2,f1=0.8,f0=0.2,结果为0.32

ok,那么整个分类结果的Gini不纯度就是D1/D与0的乘积 加上 D2/D与0.32的乘积,为0.16

Gini值代表了某一个分类结果的“纯度”,我们希望结果的纯度很高,这样就不需要对这一结果进行处理了。


从以上分析可以看出,Gini值越小,纯度越高,结果越好。

三、决策树的生成

在第一个例子中“如果得分大于等于60分,那么你及格了”中,生成决策树步骤是首先选择特征,“得分”,然后确定临界值,“>=60”

1.复杂的情况下也是一样,对于每一个特征,找到一个使得Gini值最小的分割点(这个分割点可以是>,<,>=这样的判断,也可以是=,!=),然后比较每个特征之间最小的Gini值,作为当前最优的特征的最优分割点(这实际上涉及到了两个步骤,选择最优特征以及选择最优分割点)。

2.在第一步完成后,会生成两个叶节点,我们对这两个叶节点做判断,计算它的Gini值是否足够小(若是,就将其作为叶子不再分类)

3.将上步得到的叶节点作为新的集合,进行步骤1的分类,延伸出两个新的叶子节点(当然此时该节点变成了父节点)

4.循环迭代至不再有Gini值不符合标准的叶节点


四、决策树的缺陷

我们用决策树把一个平面上的众多点分为两类,每一个点都有(x1,x2)两个特征,下面展示分类的过程




最后生成的决策树,取了四个分割点,在图上的显示如下,只要是落在中央矩形区域内默认是绿色,否则为红色


不过这种情况是分类参数选择比较合理的情况(它不介意某些绿色的点落在外围),但是当我们在训练的时候需要将所有的绿点无差错的分出来(即参数选择不是很合理的情况),决策树会产生过拟合的现象,导致泛化能力变弱。


五、随机森林

鉴于决策树容易过拟合的缺点,随机森林采用多个决策树的投票机制来改善决策树,我们假设随机森林使用了m棵决策树,那么就需要产生m个一定数量的样本集来训练每一棵树,如果用全样本去训练m棵决策树显然是不可取的,全样本训练忽视了局部样本的规律,对于模型的泛化能力是有害的

产生n个样本的方法采用Bootstraping法,这是一种有放回的抽样方法,产生n个样本

而最终结果采用Bagging的策略来获得,即多数投票机制


随机森林的生成方法:

1.从样本集中通过重采样的方式产生n个样本

2.假设样本特征数目为a,对n个样本选择a中的k个特征,用建立决策树的方式获得最佳分割点

3.重复m次,产生m棵决策树

4.多数投票机制来进行预测

(需要注意的一点是,这里m是指循环的次数,n是指样本的数目,n个样本构成训练的样本集,而m次循环中又会产生m个这样的样本集)


六、随机森林模型的总结

随机森林是一个比较优秀的模型,在我的项目的使用效果上来看,它对于多维特征的数据集分类有很高的效率,还可以做特征重要性的选择。运行效率和准确率较高,实现起来也比较简单。但是在数据噪音比较大的情况下会过拟合,过拟合的缺点对于随机森林来说还是较为致命的。


原文地址:https://blog.youkuaiyun.com/mao_xiao_feng/article/details/52728164



参考文献:

相亲的例子引用自:

http://www.ibm.com/developerworks/cn/opensource/os-cn-spark-random-forest/

平面点分类的例子引用自:

http://wenku.baidu.com/link?url=pCUMFxVy8SFNDGLA0cQAgBg6Xmg1blEsjIWphUyqhn1PD8rxTTVBJT3jjjI8ers5LFrv4NhUa5uqNf9BhmVBhocYcSCUTmZGVWIDQI-tzKO

Gini不纯度:

http://blog.youkuaiyun.com/shisibushiba/article/details/50803092

随机森林的优缺点分析:

http://blog.youkuaiyun.com/keepreder/article/details/47273297

随机森林做特征选择:

http://blog.youkuaiyun.com/keepreder/article/details/47277517

机器学习之随机森林 随机森林(Random Forest,简称RF)是一种集成学习方法,由Leo Breiman于2001年提出。它通过构建多个决策树来进行分类或回归预测,每棵树的构建过程中引入随机性,以提高模型的泛化能力。随机森林的基本原理是“集思广益”,即通过集成多个弱学习器(在这种情况下是决策树)来形成一个强学习器。每棵树在训练时使用不同的数据子集,并且在选择分裂节点时只考虑一部分特征,这种随机性使得每棵树都具有一定独立性,从而减少了模型的过拟合风险。 阅读详情

相关推荐

机器学习——随机森林(Random forest)

机器学习——随机森林

beiye_的博客 1万+

[Machine Learning & Algorithm] 随机森林(Random Forest)

1 什么是随机森林?   作为新兴起的、高度灵活的一种机器学习算法,随机森林(Random Forest,简称RF)拥有广泛的应用前景,从市场营销到医疗保健保险,既可以用来做市场营销模拟的建模,统计客户来源,保留和流失,也可用来预测疾病的风险和病患者的易感性。最初,我是在参加校外竞赛时接触到随机森林算法的。最近几年的国内外大赛,包括2013年百度校园电影推荐系统大赛、2014年阿里巴巴天池大数据...

weixin_34279246的博客 1万+

Machine Learning机器学习之随机森林(Random Forests)

随机森林(Random Forest)是由Leo Breiman和Adele Cutler于2001年提出的一种集成学习方法,首次在其论文《Random Forests》中发表,用于解决分类和回归问题。它是一种决策树的集成方法,通过构建多棵决策树并进行集成,来提高预测性能和稳定性。随机森林的核心思想是通过构建多棵决策树,并将它们集成在一起,来提高整体模型的性能和鲁棒性。

a910247的博客 3891

机器学习之随机森林(Random forest)

随机森林是一种监督式算法,使用由众多决策树组成的一种集成学习方法,输出是对问题最佳答案的共识。随机森林可用于分类或回归,是一种主流的集成学习算法。

十年以上架构设计经验,专注于软件架构和人工智能领域,对机器视觉、NLP、音视频等领域都有涉猎 3万+

OpenCV机器学习(8)随机森林(Random Forests)算法cv::ml::RTrees类

cv::ml::RTrees 是 OpenCV 机器学习模块中的一部分,用于实现随机森林(Random Forests)算法。随机森林是一种集成学习方法,它通过构建多个决策树并将它们的结果进行汇总来提高预测准确性和控制过拟合。

jndingxin的专栏 1036

机器学习5—分类算法之随机森林(Random Forest)

随机森林(Random Forest)是Bagging(一种并行式的集成学习方法)的一个拓展体,它的基学习器固定为决策树,多棵树也就组成了森林,而“随机”则在于选择划分属性的随机,随机森林在训练基学习器时,也采用有放回采样的方式添加样本扰动,同时它还引入了一种属性扰动,即在基决策树的训练过程中,在选择划分属性时,Random Forest先从候选属性集中随机挑选出一个包含K个属性的子集,再从这个子集中选择最优划分属性,一般推荐K=log2(d)。...

ex_6450的博客 11万+

【ML】机器学习中的随机森林算法

在数据分析领域,每种算法都有其价格。但如果我们考虑整体场景,那么业务问题最多有一个分类任务。考虑到数据的性质,直观地知道要采用什么变得相当困难。随机森林在金融、医疗保健、营销等领域具有多种应用。它们广泛用于欺诈检测、客户流失预测、图像分类和股票市场预测等任务。但今天我们将讨论最受数据专家信赖的顶级分类器技术之一,那就是随机森林分类器。随机森林还有一种回归算法技术,将在此处介绍。术语中的“森林”一词表明它将包含很多树木。

sikh_0529的博客 1097

Julia机器学习实战——使用Random Forest随机森林进行字符图像识别

0 Preface 1 加载数据 2 训练随机森林(train RF) 3 完整代码 0 Preface 相关参数说明 - Julia: 1.0 - OS: MacOS 训练测试数据百度云链接:点击下载 密码: u71o 文件说明: - rf_julia_charReg - resizeData.py #批量重设置图片尺寸 ...

Congying-Wang的博客 1万+

Spark ML随机森林

0 原数据集的模样 No,year,month,day,hour,pm,DEWP,TEMP,PRES,cbwd,Iws,Is,Ir 1,2010,1,1,0,NaN,-21.0,-11.0,1021.0,NW,1.79,0.0,0.0 2,2010,1,1,1,NaN,-21,-12,1020,NW,4.92,0,0 3,2010,1,1,2,NaN,-21,-11,1019,NW,6.71

Nougats的博客 3767

机器学习:随机森林(Random Forest)

本博客参考邹博机器学习课件以及周志华的《机器学习》,仅用于督促自己学习使用,如有错误,欢迎大家提出更正。ps:前面几篇主要关注的是机器学习理论部分,后续博文会写一些相关的实践内容。随机森林(Random Forest)是在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。首先,来了解一下Bagging的内容。1、BaggingBagging是一种并行式集

u014120554的专栏 1989

Light Tools 8.4 在 win10系统上的安装方法(64位)

** 总的来说安装LT需要以下步骤(折腾了三天终于装好): 安装LT软件–禁用签名–加载含数字签名的第三方inf–添加注册表/安装驱动/添加密钥–成功破解 一、下载对应的LightTools 8.4版本软件,如下图为解压后的文件: 并选择 进行默认安装。 二、禁用数字签名。这里我用了两种方法,一种不行就换另一种,最终成功禁用。 方法1: 1、输入“cmd”并以管理员身份运行; 2、输入或复制 bcdedit.exe /set nointegritychecks on (此命令若没成功,再试bcded

weixin_45560953的博客 1万+

机器学习——随机森林(Random Forest)

随机森林是一种基于集成学习(Ensemble Learning)的机器学习算法,属于 Bagging 类型的集成方法。它通过构建多个决策树(Decision Tree)并将它们的预测结果进行集成,从而提高模型的准确性和鲁棒性。随机森林广泛应用于分类、回归以及特征选择等任务。随机森林通过构建多个决策树(Decision Tree)进行集成学习,减少了过拟合风险,提高了预测准确性。但是随机森林的模型较大,存储和预测速度较慢。

zdx2585503940的博客 2万+

Armbian 国内源一键配置:告别卡顿,加速软件更新

本文详细介绍了如何为Armbian系统配置国内软件源,以解决默认国外源导致的更新缓慢、连接超时等问题。通过手动修改配置文件或使用高效的一键换源脚本,可将源切换至清华大学、阿里云等国内镜像站,实现apt更新与软件安装速度的质的飞跃,让Armbian开发体验更加流畅高效。

weixin_29215815的博客 243

【机器学习】 随机森林(Random Forest)

1 什么是随机森林?   作为新兴起的、高度灵活的一种机器学习算法,随机森林(Random Forest,简称RF)拥有广泛的应用前景,从市场营销到医疗保健保险,既可以用来做市场营销模拟的建模,统计客户来源,保留和流失,也可用来预测疾病的风险和病患者的易感性。最初,我是在参加校外竞赛时接触到随机森林算法的。最近几年的国内外大赛,包括2013年百度校园电影推荐系统大赛、2014年阿里巴巴天池...

AI知识搬运工 10万+

从mseed到SAC格式转换全攻略:mseed2sac工具安装与批量处理技巧

本文详细介绍了如何将mseed格式的地震数据高效转换为SAC格式,涵盖mseed2sac工具的安装、单文件转换技巧、批量处理自动化实现以及元数据高级处理策略。通过具体命令和脚本示例,帮助地震学研究者快速掌握数据预处理的关键技术,提升波形数据分析效率。

ruby5的博客 927

从波形到代码:手把手调试GaN图腾柱PFC的过零点切换与软启动策略

本文详细解析了GaN图腾柱无桥Boost PFC电路在过零点切换与软启动策略中的调试方法。通过波形分析、代码实现和寄存器配置,提供了解决误开通、震荡波形等问题的实用方案,帮助工程师优化电源设计效率与可靠性。

weixin_30831529的博客 424

小试随机森林(random forest)算法ml

转自:http://blog.youkuaiyun.com/yang_xian521/article/details/7325805#comments   对于随机森林算法,原理我想大家都会去看论文,推荐两个老外的网址http://www.stat.berkeley.edu/users/breiman/RandomForests/和https://cwiki.apache.org/MAHOUT/rando

foreyang00 1832

macOS向日葵闪退终极修复:权限设置与后台运行全解析

本文详细解析了macOS上向日葵远程控制软件闪退问题的根源与解决方案,重点介绍了权限设置与后台运行的优化方法。通过配置屏幕录制、辅助功能等关键权限,以及优化后台进程管理,有效解决闪退问题,提升远程控制软件的稳定性与使用体验。

fern8的博客 1762

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

一切为了学习,一切为了面试,一切为了成长,一切为了梦想。 加油希望这个文章不仅是我的笔记,也成为帮助您进一步理解RF的桥梁,大佬万福,请不吝赐教! 让我们先看看集成学习基础理论 集成学习 集成学习的主要思路是先通过一定的规则生成多个学习器,再采用某种集成策略进行组合,最后综合判断输出最终结果。一般而言,通常所说的集成学习中的多个学习器都是同质的"弱学习器"。基于该弱学习器,通过样本集...

jhoojhooablido 5119

不用买机械臂!用Python+ROS仿真实现RGB-D物体抓取全流程(Gazebo/MoveIt教程)

本文详细介绍了如何利用Python和ROS仿真环境(Gazebo/MoveIt)实现RGB-D物体抓取全流程,无需购买昂贵机械臂硬件。从环境搭建、机械臂模型导入、深度视觉系统配置到MoveIt运动规划,提供完整的实战指南,特别适合个人开发者和学生团队进行机械臂抓取算法验证与开发。

weixin_29061041的博客 340

直击高频编程考点:字符串知识及经典算法题总结

字符串相关基本练习题总结(最长公共子串、最长回文子串、最长无重复字符子串、最小覆盖子串、字符串相乘、中文数字表达转实际数字格式等)

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+

一文彻底搞懂机器学习 - 随机森林(Random Forest)

*********集成学习(Ensemble Learning)**************是什么?****

z551646的博客 1万+

扩散模型实战:从零开始训练手写数字生成模型

手写数字的数据集是绝大部分炼丹师的深度学习初恋,这篇博客以代码为主,手把手带读者搭建一个基于扩散模型的手写数字生成模型,非常适合刚接触扩散模型的初学者学习。

沉迷单车的追风少年 1913

机器学习 - 随机森林 Random Forest

先修知识: 决策树。可以看我之前写的文章https://blog.youkuaiyun.com/weixin_41332009/article/details/112276531 集成学习。也可以看之前写的文章https://blog.youkuaiyun.com/weixin_41332009/article/details/112524432 1.什么是随机森林? 学习了决策树之后,那么会很容易理解什么是随机森林。随机森林就是通过集成学习的思想将多棵树集成的一种算法:它的基本单元就是决策树。随机森林的名称中有两个关.

weixin_41332009的博客 7881

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

机器学习笔记 十五:随机森林(Random Forest)评估机器学习模型的特征重要性

在随机森林中创建决策树时,通过测量特征在减少不确定性(分类器)或方差(回归器)方面的有效性来计算特征的平均-减少-不纯重要性。问题是这种机制虽然快速,但并不总是能准确反映出重要性。互换重要性是一个更好的方法,它衡量一个特征的重要性为:将验证集或袋外(OOB)样本导入随机森林,并记录基线准确性(分类器)或R2得分(调节器)。对单一预测特征的列值进行修正,然后将所有测试样本重新通过随机森林,重新计算准确率或者R2。该特征的重要性是基线和因排列组合而造成的总体准确率或R2下降之间的差异。

amyniez的博客,欢迎交流讨论 6524

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 机器学习-朴素贝叶斯(Naive Bayes)
下一篇: 机器学习-线性回归
burpee
博客等级 码龄11年 74粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值