R语言分类算法的集成学习指的是什么

80次阅读
没有评论

共计 1258 个字符,预计需要花费 4 分钟才能阅读完成。

R 语言分类算法的集成学习指的是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

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 的基分类器选取都是任意的, 但绝大多数我们使用决策树, 因为决策树可以同时处理数值 / 类别 / 次序等各类型变量, 且变量的选择也较容易.

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)]

2)预测分析
pre_bag=predict(fit_bag,data_test)

看完上述内容,你们掌握 R 语言分类算法的集成学习指的是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计1258字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)