问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

2020-01-15 随机森林-原理及如何用R绘图

发布网友 发布时间:2023-06-25 00:39

我来回答

1个回答

热心网友 时间:2024-11-17 09:37

参考学习资料:菜鸟团生信专题

对统计学原理不太熟练的时候听到一个名词 随机森林 ,这是个什么鬼,这个森林里有啥,随机出现什么?这东西干啥的?啥也不知道啊,只好学习了。
根据搜到的结果终于知道了这个统计方法是怎么回事了。

果然是森林,由很多树组成的,很多什么树呢,决策树,厉害了,这个树是有决策能力的的,能预测森林的走向,那么怎么实现的呢,决策树又是怎么来的呢,是来源于一堆数据,理清楚了,就是一堆数据通过某种算法变成了由决策树的形式展现出来,然后很多树对这个数据进行了深度分析,然后形成了一个随机森林可以根据已有的这堆数据对某个现象或某个疾病的进展做一个预后的推测,通常情况下预测精度还是蛮精准的。
这不就是赋予机器以思想的过程吗,估计深度学习就是这么来的。高级!
以上是我脑补的,具体过程还请看前面的参考资料。

构建一个决策树是很简单的,分为3步:

决策树是一种有监督机器学习算法,所以需要一个已知数据用于计算,这种数据分为两部分:我们可以分别将其理解为“自变量”和“因变量”。

第一步——得到最佳的根节点
使用一种叫做 Gini 的方法, Gini 用于衡量每一个决策树的 impurity (不纯净度),Gini值越低越好,它的计算非常简单:
Gini impurity=1-(1-probability of "Yes")^2-(1-probability of "No")^2
第二步——限定根节点,同样方法找到最佳的内部节点
第三步——继续限定二级节点,完成最终的一侧分支
以此类推,直到完成全部的节点构建。(具体实例参考上述学习资料)

随机森林通过bootstrap和随机子集的方法可以产生大量的随机数据集,从而形成随机森林。而在bootstrap的过程中,由于是有放回的抽样,所以每一个boots数据集中绝大部分都会有重复样本,也就是说原始数据集中的一些样本不在bootstrap数据集中,这些样本称为 Out-of-bag Dataset 。

反过来说,假定一个随机森林有100个决策树,对于原始数据来说,每一个样本都有可能是某些树的 Out-of-bag 数据。

所以刚好就可以使用 Out-of-bag Dataset 数据集去评价随机森林的效果好坏。

具体如何评价呢?

方法就是将同 Out-of-bag 数据对应的决策树对 Out-of-bag 数据进行分类计算,看计算出来的分类结果和原始分类是否相符,计算不相符的 Out-of-bag Dataset 的比例,此比例就是随机森林的优劣程度评价。因此又叫做 Out-of-bag Error 。

由于我们已经知道了如何构建随机森林,也已经知道了随机森林的评价方法,所以寻找最优子集数目是一个非常简单的过程,多试试几个子集数目,寻找 Out-of-bag Error 最小的随机森林即可。

最优子集的选择是如下过程:

好,原理理清楚了,那就在R中进行随机森林的实践。

用到的R包为 ggplot2 、 randomForest 。

使用read.csv函数读取网络数据。

修改列名

修改数据格式

从官网可以知道14个数据变量的含义,他们分别是:

然后我们使用str(data)看一下此时的数据结构可以发现不规范的变量有,

按照上述情况,进行以下修改:

转换数据格式,这里注意 as. 的用法,以及函数 ifelse 的用法

填补缺失值

rfImpute 函数用于填补缺失值,随机森林的缺失值填补是根据相似度进行填补的一种迭代算法。

结果会输出每次迭代后的OOB值,越低越好。

构建随机森林

决策树的数量

默认是创建500棵决策树,此时的OOB(out of bag)值可以用于评价随机森林的模型如何。

我们可以看看此时从第1棵树到第500棵决策树时,OOB的变化趋势:

可以看出,大概从150以后的OOB的值趋于稳定了,默认的500是非常稳健的数值了。

我们可以改变不同的子集数目以确认最佳子集数目是多少,比如可以看一下子集数目分别为1-10时的结果:

可以发现最低的OOB确实是子集数目为3。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
表格列求和公式怎么设置 求和函数公式怎么输入 北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 聊城气象预报(8月28日)(聊城气象预报24小时) 马吉拉小样瓶盖的大小和正装一样么 我的电脑屏幕总在散,并伴有间歇性的左右震动 我的电脑屏幕一直在散,怎么办 电脑屏幕散花是怎么回事? 一盆水从飞机飞行的高度困下来会砸死人么?为什么馒头从火车上掉下来就能... ...车里线路什么的。或者会有什么影响吗?也许是撒到座椅上 ...回水温度控制在30摄氏度以下,请问需要配多大型号的冷却凉水塔... ...说放冰箱里不好,就又拿出来了,大米拿出来还能吃吗? 放了两年的紫米还能吃吗 蒸香蕉用热水还是冷水 蒸香蕉需要多长时间香蕉蒸多长时间最好吃了 女人睡着时被男生搞算不算犯法 - 百度 校内调剂和校外调剂时间是一样的吗 哈尔滨工业大学校内调剂容易吗 女生在15岁左右被男生睡了犯法吗 茅山派属于正一道吗 孝感哪里有4D电影院 在孝感电影院办一张会员卡多少钱 贝斯特是好太阳能吗? 铃木uu打火马达有延迟 如何看待人生很贵,请别乱浪费这句话 最宝贵的就是时间,人在年轻的时候应该怎样做才不浪费? 敕牓的解释 梦见吃大葱大蒜的预兆 经典散文欣赏50篇【关于向日葵的经典散文欣赏】 16朵向日葵的寓意 形容向日葵词语 女人喝豆浆的好处,喝什么豆浆可以丰胸 30万左右的MPV怎么选?看看这几款 大众思皓10x花仙子安全防撞系统怎么样 2022马自达3和思域安全防撞梁哪个好 一汽大众迈腾安全系数高吗迈腾前防撞梁结实不结实 起亚K3有防撞钢梁吗 十二生肖没有福气的动 厨艺超厉害的三大生肖男? 麦道夫的庞兹骗局跟传销有什么区别? 我亲历的传销骗局 脸部血肿有少量积液,在苹果肌那个地方,车祸造成的,二十天了还没消还... 苹果平板电脑内平有积液怎么办?