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的基分类器选取都是任意的,但绝大多数我们使用决策树,因为决策树可以同时处理数值/类别/次序等各类型变量,且变量的选择也较容易.
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语言分类算法之集成学习(Bootstrap Aggregating)相关推荐
- R语言分类算法之朴素贝叶斯分类(Naive Bayesian Classification)
1.朴素贝叶斯分类原理解析 根据已知的先验概率P(A|B),利用贝叶斯公式P(B|A)=P(A|B)P(B)/P(A)求出后验概率P(B|A),即该样本属于某一类的概率,然后选择具有最大后验概率的类作 ...
- R语言分类算法之线性判别分析(Linear Discriminant Analysis)
1.线性判别原理解析 基本思想是"投影",即高纬度空间的点向低纬度空间投影,从而简化问题的处理.在原坐标系下,空间中的点可能很难被分开,如图8-1,当类别Ⅰ和类别Ⅱ中的样本点都投影 ...
- R语言分类算法之随机森林(Random Forest)
1.原理分析: 随机森林是通过自助法(boot-strap)重采样技术,从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练集样本集合,然后根据自助样本集生成k个决策树组成的随机森林,新数据的 ...
- bagging和boosting算法(集成学习算法)
一.集成学习简介 在讲boosting和bagging算法之前,首先需要了解一下集成学习的概念.集成学习是指将若干弱分类器组合之后产生一个强分类器.弱分类器(weak learner)指那些分类准 ...
- SparkMLlib分类算法之决策树学习
SparkMLlib分类算法之决策树学习 (一) 决策树的基本概念 决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风 ...
- 【AdaBoost算法】集成学习——AdaBoost算法实例说明
[AdaBoost算法]集成学习--AdaBoost算法实例说明 AdaBoost算法是数据挖掘十大算法之一,但是部分参考书上只给了该算法的数学推导过程,具体的流程并未详细举例加以解释,因此不利于学习 ...
- R语言分类模型:逻辑回归模型LR、决策树DT、推理决策树CDT、随机森林RF、支持向量机SVM、Rattle可视化界面数据挖掘、分类模型评估指标(准确度、敏感度、特异度、PPV、NPV)
R语言分类模型:逻辑回归模型LR.决策树DT.推理决策树CDT.随机森林RF.支持向量机SVM.Rattle可视化界面数据挖掘.分类模型评估指标(准确度.敏感度.特异度.PPV.NPV) 目录
- R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘)、使用subset函数进一步筛选生成的规则去除左侧规则中的冗余信息、获取更独特的有新意的关联规则
R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘).使用subset函数进一步筛选生成的规则去除左侧规则中的冗余信息.获取更独特的有新意的关联规则 目录
- R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘)、查看限制了规则的右侧之后挖掘到的规则(置信度排序,只查看左侧即可)
R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘).查看限制了规则的右侧之后挖掘到的规则(置信度排序,只查看左侧即可) 目录
最新文章
- 云企业网的应用于功能详解
- 北京大学 AdaMod优化器 孙栩
- 【2019-05-31】生活仪式
- 重装 Linux 记录
- (61)分析 KiFindReadyThread 函数 —— 线程优先级
- 力扣(LeetCode)78
- ubuntu 输入时弹出剪切板候选项
- spark-on-yarn日志配置
- python股票预测代码_python用线性回归预测股票价格的实现代码
- php 加密解密函数封装
- 【网络拥塞管理和避免(队列调度算法FIFO/SP/RR/WRR/DRR/MDRR/WDRR/WFQ)】
- zookeeper watch java_Apache ZooKeeper Watcher 机制源码解释
- autocad支持python吗_利用python控制Autocad:pyautocad方式
- Ynote源码涉及功能解剖
- sql 连接高级语言之后查询出现乱码_还有不会用 SQL 的程序员吗?
- 完整的棋牌游戏开发流程,你知道多少棋牌游戏开发。
- java flip_GitHub - bowen903/ViewFlipAnimator: 一种超简单纯Java实现的卡片翻转效果
- vs2017 项目开发 解决方案下的多个项目
- WimTool(Wim映像处理工具) V1.30.2011.501 免费绿色版
- [已修复] CredSSP 加密 Oracle 修复
热门文章
- python dataframe 取一行_python – Pandas dataframe获取每个组的第一行
- python数字类型及运算_Python数据类型之数字(Numbers)和运算符
- Python+matplotlib绘制散点图模拟心型图案
- 微课系列(6):Python关键字else的三种用法
- java 加载类java_深入研究Java类加载机制
- rocketmq消息持久化到mysql_RocketMQ之事务消息
- 互斥锁必须用同一个吗_04 | 互斥锁(下):如何用一把锁保护多个资源?
- 力扣235. 二叉搜索树的最近公共祖先(JavaScript)
- linux中启动不了服务,Linux系统xinetd服务启动不了
- python在城市规划中的运用_温州市城市规划展示厅