在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 随机森林模型在分类与回归分析中的应用

随机森林模型在分类与回归分析中的应用

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:1.86M
  • 下载次数:19
  • 浏览次数:297
  • 发布时间:2020-10-02
  • 实例类别:一般编程问题
  • 发 布 人:robot666
  • 文件格式:.pdf
  • 所需积分:2
 

实例介绍

【实例简介】
随机森林 random forest 模型是由Breiman 和Cutler 在2001 年提出的一种基于分类树的算法 它通过 对大量分类树的汇总提高了模型的预测精度 是取代神经网络等传统机器学习方法的新的模型 随机森林的运 算速度很快 在处理大数据时表现优异 随机森林不需要顾虑一般回归分析面临的多元共线性的问题 不用做变 量选择 现有的随机森林软件包给出了所有变量的重要性 另外 随机森林便于计算变量的非线性作用 而且可 以体现变量间的交互作用 interaction 它对离群值也不敏感 本文通过3 个案例 分别介绍了随机森林在昆虫 种类的判别分析 有无数据的分析 取代逻辑斯蒂回归
1192 应用昆虫学报 Chinese Journal of Applied Entomology 50卷 林的结果RFl。R语言中的“#”表示注释,其后面判别该量度的昆虫的类别 的语句不被执行。当随机森林用于分类时,其结 该案例中,该量度判别为A、B和C的概率分 果RFⅠ包含混淆矩阵( confusion matriⅸx)(表2),显别为82.4%、9.4%和8.2%。随机森林将其判别 示判别分析的错误率。 为A in stall.. packages(" random Forest”)#安装随机 2.2对有无数据的分析 森林程序包(每台计算机只需安装一次) 对于有或无、生或死、发生或不发生等二分变 iary( random forest)#调用随机森林程序包量的分析,一般用逻辑斯蒂回归( (每次运行都要调用) regression)的方法。逻辑斯蒂回归实质上是对因 insect < read. csv("d: /data/insects.csv 变量Y作两个分类水平的判别。逻辑斯蒂回归对 header=TRUE)#从硬盘读入数据到对象 insect 自变量的多元共线性非常敏感,要求自变量之间 RFl random Forest( insect[, c('Ll 相互独立。随机森林则完全不需要这个前提条 L3’,‘I4’)], insect[,‘ species 件。 Breiman在2001年发表了具有革命意义的文 Importance=TRUE, ntree=10000)#运行随机森 章,批判了当前主流的统计学方法,指出经典模型 林模型 如逻辑斯蒂回归经常给出不可靠的结论,而随机 RF1#显示模型结果,包括误差率和混淆矩阵森林准确而可靠 (表2) 案例2以朱鹎为例,说明该方法的具体应用 其中 insect是一个包含5个变量20个记录的朱鹦的巢址选择受环境变量的影响(Lat 数据表。 insect[,c(‘L1’,L2’,L3’,I4’)]表 2006,2009;翟天庆和李欣海,2012)。假设朱鹦选 示昆虫的量度,是一个4乘以20的矩阵; Insect 择一个地方营巢的概率取决于下列自变量:土地 ‘ species’]表示昆虫的物种类别,是20个物种名 利用类型(森林、草地、灌丛或农田等)、海拔、坡 组成的一个向量。表2显示模型对A的判别错误 度、温度、降水、人类干扰指数等。该问题的因变 率为28.6%,对B和C的判别错误率为0。 量为朱鹎1981年至2008年间的532个巢(Y 1),以及在朱鹎巢区的系统选择的(等间距)2538 表2随机森林(用于分类时)的混淆矩阵 个点(Y=0)(图3:A);自变量为这3070个地点 显示昆虫分类误差 对应的8个环境变量。应用随机森林对朱鹦巢址 Table 2 random forest outputs a confusion matrix 选择进行分析的R语言代码如下 showing the classification error read. csv(d: /data/ibis. csv, header 分类误差 B =TRUE)#从硬盘读入数据 Class error 0.286 ibis$use<-as. factor(ibis$use)#定义巢 B 0 6 0 址选择与否(0或1)为分类变量。这是因变量Y。 C 0 7 ibis landcover factor 注:每行表示实际的类别,每列表示随机森林判定的类别。$ landcover)#定义土地利用类型为分类变量 The row indicates real classification: the column indicates RF2 < random Forest( ibis[, c(elevation predicted classification footprint GDP landcover pop slope prec_an’,‘tan’)], ibis use 随机森林的结果内含判别函数,可以用下列 Importance=TRUE,ntre=1000)#运行随机森林 代码根据新的量度判断昆虫的物种类别 varlmpplot(RF2)#图示自变量对的巢址选择 new.data<-data. frame(L1=20,L2=50,的重要性 L3=30,L4=20)#一个新的昆虫的量度 从图1可以看到不同指标指示的变量重要性 predict(RF1,new.data,type=“prob”)#判别会略有差距,但是差距不会很大。 该量度的昆虫归类为A、B和C的概率 随机森林可以给出每个自变量对因变量的作 predict(RF1,new.data, type=‘ response”)#用。下列R代码给出海拔对巢址选择的影响,结 4期 李欣海:随机森林模型在分类与回归分析中的应用 1193· prec ann prec ann t ann elevation elevation t a ann GDP landcover landcover GDP slope pop pop footpri otprint 15 20 100 150 Mean DecreaseAccuracy Mean Decrease gini 图1随机森林对影响朱巢址选择的自变量的重要性进行排序 Fig. 1 Ranking variable im portance that associated with nest site selection of the crested ibis by random forest Mean decreaseΔ ccuracy衡量把一个变量的取值变为随机数,随机森林预测准确性的降低程度。该值越大表 示该变量的重要性越大(Liaw,2012)。 Mean Decrease gini通过基尼(Gini)指数计算每个变量对分类树每个节 点上观测值的异质性的影响,从而比较变量的重要性。该值越大表示该变量的重要性越大。 prec_ann是年总 降水量;tan是年平均温度; elevation是海拔;GDP是国内生产总值; landcover是土地利用类型; slope是坡 度;pop是人口密度; footprint是人类干扰指数。 果在图2中,表示中等程度的海拔最适宜营巢。 非营巢点为灰色 prtialPlot( rF2, ibis, elevation,"0 main if ibis use li==1) points ibis SxLiI ab=Elevation (m ) ylab ="Variable ibis sy[i], col ="black", cex =.8, pch=19)# effect”) 营巢点为黑色 随机森林可以通过下列代码预测任何地点朱 鹎营巢的概率(图3) #绘制图3B,颜色深的营巢概率高 pred<- predict(RF2, ibis,type=“prob”) plot(ibis$x,ibis$y,type=“n”,xlab #计算原数据iis中3070个地点被朱鹦选择营巢经度 Longitude’,ylab=‘纬度 Latitude’)#绘制 的概率 坐标轴 #绘制图3(A) for(inl: length(ibis$x)){#循环语句,从1 plot(ibis$x,ibis$y,type=“n”,xlab=到3070 经度 Longitude’,ylab=‘纬度 Latitude)#绘制 #根据每个点朱鹎营巢的概率显示该点的 坐标轴 颜色深度 for(inl: length(ibis$x)){#循环语句,从1 pints( ibis Sx [i, ibis y[i], col gray 到3070 colors(10)round( pred[i] *10)], cex =.8, pch if ibis S use[i]! =1) points( ibis $x[ =19) ibis Syli, col ="grey80 cex 8,pch=19)# 1194 应用昆虫学报 Chinese Journal of Applied Entomology 50卷 8 500 1000 15002000 2500 3000 高度 Elevation(m) 图2随机森林算出的海拔对朱鹗巢址选择的影响 Fig 2 Partial effect of elevation on nest site selection of the crested ibis B 34.0 34.0 三33.5 +* 33.0 ##∷ 106.8 107.2 107.6 108.0 106.8 107.2 107.6 108.0 经度 Longitude 经度 Longitude 图3朱鹦的巢址(黑色)和对照点(灰色)(A)及随机森林算出的每个 点朱鹦选择营巢的概率(深色概率高)(B) Fig 3 The nest site of the crested ibis( black dots )and the pseudo-absence points grey dots )(a)and the probability of nest site selection of the crested ibis calculated by random forest( dark color means higher probability)(B 2.3回归分析 案例3依旧以朱鹎为例,介绍随机森林在回 当因变量Y为连续变量时,随机森林通过 归分析上的应用。朱鹦是依赖湿地的鸟类,其生 组自变量X对Y进行解释,类似经典的回归分析 境可以分为一个个相邻的集水区。每个集水区内 4期 李欣海:随机森林模型在分类与回归分析中的应用 1195· 朱鹎的巢数同集水区的环境变量相关。用环境变 sheds < -read. csv(d /data/watersheds 量(包括连续变量和分类变量两个类型)解释集水csv, header=T)#读取数据 区内朱鹎的巢数,可以被看作为一个回归的问题。 head( sheds)#显示数据 sheds的前6行,如表 下列代码读取数据并显示数据前6行: 3所示。NA表示缺失值 表3朱鹗栖息地每个集水区内朱鹞的巢数以及环境变量 Table 3 The number of nests and environmental variables for every watershed in the habitat of the crested ibis 巢数 海拔 人类干扰 温度 稻田 水体 湿地 海拔的变异 Nests Elevation Footprint Temperature Rice-paddy Water-body Wetland Elev sd 597.83 44.54 14.02 0.14 0.52 0.07 197.54 588.74 14.09 0.15 0.08 0.01 148.32 513.84 NA 0.16 28.84 609.33 30.2 14.29 17 1.03 1.21 184.58 0 NA 35.88 13.32 0.18 0.17 0.03 NA 651.08 47.62 14.41 0.34 0.38 121.37 对于缺失数据,R语言的 random forest软件包数情况下模型参数的缺省设置可以给出最优或接 通过na. roughfix函数用中位数(对于连续变量)或近最优的结果。使用者可以调节mtry的取值来检 众数(对于分类变量)来进行替换。 查模型的缺省值是否给出误差最小的结果。使用 Dat.fll<-na. roughfix( sheds)#用中位数或者也可以指定所用的分类树的数量。在计算负荷 众数替代缺失值 可以接受的情况下分类树的数量越大越好。图4 RF3<- random forest( Nests~ Elevation+可以帮助使用者判断最小的分类树的数量,以便 Footprint+ Temperature+Rice_pady+ Water_节省计算时间。 body + Wetland Elev_sd, data= Dat. fill, ntree 目前,人们已经对多种机器学习的模型进行 5000, importance TRUE, na. action =na 了比较( Kampichler et al.,2010; Li and wa roughfix,mtry=3)#运行随机森林 2013),随机森林经常独占鳌头( Kampichler et al., RF3#模型结果,显示残差的平方,以及解释变异2010;Lietα.,2012)。随机森林通过产生大量的 (环境变量X对巢数Y的解释)的百分率 分类树,建立若干自变量X和一个因变量Y的关 plot(RF3)#误差的分布图(图4) 系。随机森林的一个优点是:它的学习过程很快。 mtry指定分类树每个节点用来二分数据的自在处理很大的数据时,它依旧非常高效。随机森 变量的个数。如果mtry没有被指定,随机森林用林可以处理大量的多达几千个的自变量 缺省值。对于分类(判别)分析(Y是分类变量),( Breiman,2001b)。现有的随机森林算法评估所 缺省值是自变量总数的平方根;如果是回归分析有变量的重要性,而不需要顾虑一般回归问题面 (Y是连续变量),缺省值是自变量总数的1/3。 临的多元共线性的问题。它包含估计缺失值的算 3讨论 法,如果有一部分的资料遗失,仍可以维持一定的 准确度。随机森林中分类树的算法自然地包括了 本文以3个案例介绍了随机森林的具体应变量的交互作用( interaction)( Cutler et al. 用。随机森林结构比较复杂,然而它却极端易用,2007),即一个自变量Ⅺ的变化导致另一个自变 需要的假设条件(如变量的独立性、正态性等)比量X2对Y的作用发生改变。交互作用在其他模 逻辑斯蒂回归等模型要少得多。它也不需要检査型中(如逻辑斯蒂回归)因其复杂性经常被忽略。 变量的交互作用和非线性作用是香显著。在大多随机森林对离群值不敏感,在随机干扰较多的情 1196· 应用昆虫学报 Chinese Journal of Applied Entomology 50卷 0.14 0.10 0.06 0.02 20 40 分类树数量 Number of trees 图4随机森林的预测误差及其95%的置信区间同所用的分类树数量的关系 Fig 4 The association between prediction error (and its 95%o confidence interval) and the number of trees used in random forest 况下表现稳健。随机森林不易产生对数据的过度 Biau g,2012· Analysis of a random forests model.J.Mach 拟合( overfit)( Breiman,2001b),然而这点尚有争 Learn.Res.,13:1063-1095 iX(Elith and Graham, 2009 Breiman L. 2001 a. Random forests. Mach. Learn, 45. 5 随机森林通过袋外误差(out-of- bag error)估 计模型的误差。对于分类问题,误差是分类的错 Breiman L, 2001b. Statistical modeling The two cultures Stat.Sci.,16:199-215 误率;对于回归问题,误差是残差的方差。随机森 Breiman L. Friedman JH. Olshen RA. Stone C. 1984 林的每棵分类树,都是对原始记录进行有放回的 Classification and Regression Trees. Chapman and Hall. I 重抽样后生成的。每次重抽样大约1/3的记录没 359 有被抽取(Iiaw,2012)。没有被抽取的自然形成 Cutler dr, Edwards tc,Jr., Beard Kh, Cutler a,Hess 个对照数据集。所以随机森林不需要另外预留 KT, 2007. Random forests for classification in ecolo 部分数据做交叉验证,其本身的算法类似交叉验 Ecology,88(11):2783-2792 证,而且袋外误差是对预测误差的无偏估计 Deng H, Runger G, Tuv E, 2011. Bias of importance ( Breiman,2001a)。 measures for multi-valued attributes and solutions/ Proceedings of the 21 st International Conference on 随机森林的缺点是它的算法倾向于观测值较 Artificial Neural Networks(ICANN 多的类别(如果昆虫B的记录较多,而且昆虫A、B Elith J, Graham CH, 2009. Do they? How do they? Why do 和C间的差距不大,预测值会倾向于B)。另外, they differ? On finding reasons for differing performances of 随机森林中水平较多的分类属性的自变量(如土 species distribution models. Ecography, 32(1): 66-77 地利用类型>20个类别)比水平较少的分类属 Gender r, Poggi jm, Tuleau- Malot c,2010. Variable 性的自变量(气候区类型<10个类别)对模型的 selection using random forests. Pattern Recogn. Lett., 31 影响大( Deng et al.,2011)。总之,随机森林功能 (14):2225-2236 强大而又简单易用,相信它会对各行各业的数据 Groemping U,200 Variable importance assessment in 分析产生积极的推动作用。 regression. linear regression versus random forest. Am Stat.,63(4):308-319 Ho TK. 1995. Random decision forest// Proceedings of the 参考文献( References) 3rd International Conference on Document Analysis and Archer K, Kirnes RV, 2008. Empirical characterization of Recognition. 278-282 random forest variable importance measures. Comput. Stat Ho TK, 1998. The random subspace method for constructin Data anal..,52(4):2249-2260 decision forests//IEEE Transactions on Pattern Analysis and 4期 李欣海:随机森林模型在分类与回归分析中的应用 1197 Machine Intelligence. 832-844 DM, 2012. Vulnerability of 208 endemic or endangered Hopfield JJ, 1982. Neural networks and physical systems with species in China to the effects of climate change. Reg emergent collective computational abilities. PNAS, 79(8) Environ. Chang.,DOI:10.1007/s10113-10012-10344-z 2554-2558 Li XH, Wang Y, 2013. Applying various algorithms for Iverson lr. Prasad am. Matthews sn peters m. 2008 species distribution modeling. Integrat. Zool., 8(2): 124 Estimating potential habitat for 134 eastern US tree species -135 undersixclimatescenariosForestEcol.Manage.,254:LiawA,2012.Package"randomForest".http:/stat-www 390-406 berkele, edu./users/breiman/random forests Kampichler C, Wieland R, Calme s, Weissenberger H R Development Core Team, 2013. R: A Language and Arriaga-Weiss 2010. Classification in conservation Environment for Statistical Computing. R Foundation for biology: A comparison of five machine-learning methods Statistical Computin Ecol.In/form.,5(6):441-450 Winham S, Wang X, de Andrade M, Freimuth R, Colby C Li xh. Li Dm, Ma Z. Schneider dC. 2006. Nest site use Huebner M. biernacka j. 2012. Interaction detection with by crested ibis: dependence of a multifactor mode random forests in high-dimensional data. genet spatial scale. Landscape Ecol, 21: 1207-1216 Epidemiol., 36: 142. LiXH, Tian hd,LiDM,2009. Why the crested ibis翟天庆,李欣海,2012.用组合模型综合比较的方法分析 declined in the middle twentieth century Biodiversity and 气候变化对朱鹎潜在生境的影响.生态学报,32(8) Conservation, 18(8): 2165-2172 2361-2370 Li XH, Tian HD, Li RQ, Song ZM, Zhang FC, Xu m 【实例截图】
【核心代码】

标签:

实例下载地址

随机森林模型在分类与回归分析中的应用

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警