简单的认识一下组合分类器以及R语言对应使用函数
首先,我们大家都有学习过一系列的分类方法,例如决策树,贝叶斯分类器等,有时候分类的效果不太如人意,哪怕是参数是最优化也一样,所以这时候就需要一些提高分类准确性的方法,我们常用的就是组合分类器,它就是一个复合模型,也就是由多个分类器组合而成;个体的分类器对结果进行投票,然后对组合分类器返回的投票进行汇总,然后基于返回的结果进行预测和分类。组合分类器的结果往往比它的成员分类器更准确;一般常用的组合分类方法有bigbing,boosting,还有我比较喜欢的随机森林; 什么是组合分类?
组合分类就是把K个学习得到的模型M1,M2,...,MK组合在一起,使用给定数据集D创建K个训练集D1,D2,...,DK,其中D1用于创建M1模型,以此类推;给定一个待分类的新数据元组,每个基分类器通过返回类预测投票,它收集由基于基分类器返回的类标预测,并输出占多数的类,基分类器也会出错,当基分类器出错时不代表组合分类器出错,组合分类器基于基本分类器的投票返回类预测,因此基分类器要出错超过一半时组合分类器才会出错,并且基分类器之间是不相关的,这也就是说明组合分类器更加准确。
bagging
这个方法也叫装袋法,这个也是组合分类器的一种,它的理念在与通过自举的方法建立很多不同的模型,然后对结果取平均,其本质是使得一些较弱的模型形成一个群体对结果来投票,从而得到更精确的预测;例如,如果你是一名病人希望根据你的症状做出诊断,你可能选择多个医生,而不是一个,如果某个诊断结果比其他诊断结果出现的次数多,你可能认为这个结果是最为可能出现的诊断结果,也即是说最终的诊断结果是根据多数表决做出的;其中每个医生的权重都一样,更多的医生表决比少数医生的多数表决更为的可靠;
在给定D个元组的集合,采用有放回抽样,每个训练集都是一个自助样本,每个训练集通过学习得到一个分类模型,对未知的元组进行分类,每个分类器M返回它的分类结果,算做一票,最后得票最高的作为结果类;对连续变量则通过取平均值;
那么在R语言里面怎么使用这个方法呢?
这时候我先要装好包ipred包中的bagging函数建立回归的bagging模型;
例如
bagging(price~x1+x2,data=test_date,nbagg=20)#这里只是举例代码并不能执行;
nbagg时选择多少个rpart数
boosting
这个方法也叫提升,它和上面的方法有些类似,假如你是一位病人,你选择咨询多位医生,然而得到的结果不是一致的,这时候你就需要根据先前医生诊断的准确率。对每一位医生赋予一个权重,然后根据加权诊断的组合作为最终的结果;这就是提升的基本思想;
早提升方法中,首先权重赋予每个训练元组,迭代的学习K个分类器;学习得到分类器M1之后,更新权重,使得其后的分类器M2更关注误分类的训练元组,如元组不准确的分类,则它的权重增加,如果元组正确分类,则它的权重减少;这是希望我们能够更加关注上一轮误分类的元组;其中每个分类器投票的权重是其准确率的函数;
bagging和boosting相比
由于boosting更加的关注误分的元组,所以存在结果符合模型的过度拟合的危险,bagging则不太受这个影响,不过二者都能够显著的提高准确度;boosting往往能够得到较高的准确率;
R语言里使用的是包mboost中的blackboost函数从回归树种建立boosting模型,glmboost从广义线性模型中建立模型;
blackboost(price~x1+x2,data=test_date)#这里只是举例代码并不能执行;
随机森林也是一种组合分类器,因为每一个分类器都是一棵树,所以组合在一起就很像一个森林;每一个数都依赖独立抽样;
随机森林可以使用bagging和随机属性来选择组合来构建,
A、指定M值,即随机产生M个属性用于节点上的二叉树,二叉树属性选择任然满足不纯度最小原则,不纯度公式为
B、应用BOOTSTRAP自助法在员数据集中有放回地随机抽取K个样本集,组成K颗决策树,而对于未被抽取的样本用于决策树的预测;
C、根据K个决策树组成的随机森林对待分类样本进行分类或者预测,分类的原则是投票法,预测的原则是简单平均。
想象组合分类器中每个分类器都是一颗决策树,因此分类器的集合就是一个“森林”,使用CART算法的方法来增长树,树增长到最大的规模,并且不剪枝,用这种方式形成的随机森林称为Forest-RI,数据分析师培训
另一种形式称为Forest-RC,他不是随机地选择一个属性子集,而是选择一个属性子集,而是由已有的属性的线性组合创建一些新属性,就是由原来的S个属性组合,在给定的节点,随机选择S个属性,并且以次欧诺个[-1,1]中随机选取的数为系数相加,产生S个线性组合,并在其中找到最佳的划分,仅仅只有少量属性可用时,为了降低个体分类器之间的相关性,这种形式的随机森林才有用。
随机森林的准确率可以boosting媲美,随机森林的泛化误差收敛,所以不存在过度拟合不是什么问题;
R语言最后给我们常用randomForest包中的randomForest函数去建模;
randomForest (price~x1+x2,data=test_date)#这里只是举例代码并不能执行;
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
数据分析在当今信息时代发挥着重要作用。单因素方差分析(One-Way ANOVA)是一种关键的统计方法,用于比较三个或更多独立样本组 ...
2025-04-25CDA持证人简介: 居瑜 ,CDA一级持证人国企财务经理,13年财务管理运营经验,在数据分析就业和实践经验方面有着丰富的积累和经 ...
2025-04-25在当今数字化时代,数据分析师的重要性与日俱增。但许多人在踏上这条职业道路时,往往充满疑惑: 如何成为一名数据分析师?成为 ...
2025-04-24以下的文章内容来源于刘静老师的专栏,如果您想阅读专栏《刘静:10大业务分析模型突破业务瓶颈》,点击下方链接 https://edu.cda ...
2025-04-23大咖简介: 刘凯,CDA大咖汇特邀讲师,DAMA中国分会理事,香港金管局特聘数据管理专家,拥有丰富的行业经验。本文将从数据要素 ...
2025-04-22CDA持证人简介 刘伟,美国 NAU 大学计算机信息技术硕士, CDA数据分析师三级持证人,现任职于江苏宝应农商银行数据治理岗。 学 ...
2025-04-21持证人简介:贺渲雯 ,CDA 数据分析师一级持证人,互联网行业数据分析师 今天我将为大家带来一个关于用户私域用户质量数据分析 ...
2025-04-18一、CDA持证人介绍 在数字化浪潮席卷商业领域的当下,数据分析已成为企业发展的关键驱动力。为助力大家深入了解数据分析在电商行 ...
2025-04-17CDA持证人简介:居瑜 ,CDA一级持证人,国企财务经理,13年财务管理运营经验,在数据分析实践方面积累了丰富的行业经验。 一、 ...
2025-04-16持证人简介: CDA持证人刘凌峰,CDA L1持证人,微软认证讲师(MCT)金山办公最有价值专家(KVP),工信部高级项目管理师,拥有 ...
2025-04-15持证人简介:CDA持证人黄葛英,ICF国际教练联盟认证教练,前字节跳动销售主管,拥有丰富的行业经验。在实际生活中,我们可能会 ...
2025-04-14在 Python 编程学习与实践中,Anaconda 是一款极为重要的工具。它作为一个开源的 Python 发行版本,集成了众多常用的科学计算库 ...
2025-04-14随着大数据时代的深入发展,数据运营成为企业不可或缺的岗位之一。这个职位的核心是通过收集、整理和分析数据,帮助企业做出科 ...
2025-04-11持证人简介:CDA持证人黄葛英,ICF国际教练联盟认证教练,前字节跳动销售主管,拥有丰富的行业经验。 本次分享我将以教培行业为 ...
2025-04-11近日《2025中国城市长租市场发展蓝皮书》(下称《蓝皮书》)正式发布。《蓝皮书》指出,当前我国城市住房正经历从“增量扩张”向 ...
2025-04-10在数字化时代的浪潮中,数据已经成为企业决策和运营的核心。每一位客户,每一次交易,都承载着丰富的信息和价值。 如何在海量客 ...
2025-04-09数据是数字化的基础。随着工业4.0的推进,企业生产运作过程中的在线数据变得更加丰富;而互联网、新零售等C端应用的丰富多彩,产 ...
2025-04-094月7日,美国关税政策对全球金融市场的冲击仍在肆虐,周一亚市早盘,美股股指、原油期货、加密货币、贵金属等资产齐齐重挫,市场 ...
2025-04-08背景 3月26日,科技圈迎来一则重磅消息,苹果公司宣布向浙江大学捐赠 3000 万元人民币,用于支持编程教育。 这一举措并非偶然, ...
2025-04-07在当今数据驱动的时代,数据分析能力备受青睐,数据分析能力频繁出现在岗位需求的描述中,不分岗位的任职要求中,会特意标出“熟 ...
2025-04-03