R语言分类算法之集成学习(Bootstrap Aggregating)

1.集成学习(Bootstrap Aggregating)原理分析:
Bagging是Bootstrap Aggregating的缩写,简单来说,就是通过使用boostrap抽样得到若干不同的训练集,以这些训练集分别建立模型,即得到一系列的基分类器,这些分类器由于来自不同的训练样本,他们对同一测试集的预测效果不一样.因此,Bagging算法随后对基分类器的一系列预测结果进行投票(分类问题)和平均(回归问题),从而得到每一个测试集样本的最终预测结果,这一集成后的结果往往是准确而稳定的.
比如现在基分类器1至10,他们对某样本的预测结果分别为类别1/2/1/1/1/1/2/1/1/2,则Bagging给出的最终结果为”该样本属于类别1”,因为大多数基分类器将票投给了1.
AdaBoost(Adaptive Boosting)相对于Bagging算法更为巧妙,且一般来说是效果更优的集成分类算法,尤其在数据集分布不均衡的情况下,其优势更为显著.该算法的提出先于Bagging,但在复杂度和效果上高于Bagging.
AdaBoost同样是在若干基分类器基础上的一种集成算法,但不同于Bagging对一系列预测结果的简单综合,该算法在依次构建基分类器的过程中,会根据上一个基分类器对各训练集样本的预测结果,自行调整在本次基分类器构造时,个样本被抽中的概率.具体来说,如果在上一基分类器的预测中,样本i被错误分类了,那么,在这一次基分类器的训练样本抽取过程中,样本i就会被赋予较高的权重,以使其能够以较大的可能被抽中,从而提高其被正确分类的概率.
这样一个实时调节权重的过程正是AdaBoost算法的优势所在,它通过将若干具有互补性质的基分类器集合于一体,显著提高了集成分类器的稳定性和准确性.另外,Bagging和AdaBoost的基分类器选取都是任意的,但绝大多数我们使用决策树,因为决策树可以同时处理数值/类别/次序等各类型变量,且变量的选择也较容易.
R语言高级算法之集成学习(
2.在R语言中的应用
集成学习算法主要运用到了adabag包中的bossting函数。
bossting(formula,data,boos=TRUE,mfinal=100,coeflearn=’Breiman’,control)
3.以iris数据集为例进行分析
1)应用模型并查看模型的相应参数
fit_bag=bagging(Species~.,data_train,mfinal=5,control=rpart.control(maxdepth=3))
fit_bag[1:length(bag)]
R语言高级算法之集成学习(Bootstrap Aggregating)
R语言高级算法之集成学习(Bootstrap Aggregating)
2)预测分析
pre_bag=predict(fit_bag,data_test)
R语言高级算法之集成学习(Bootstrap Aggregating)

转载于:https://my.oschina.net/u/3473376/blog/895294

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值