1.      Bagging

Bagging即套袋法,其算法过程如下:

  1. 从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)

  2. 每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)

  3. 对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)

2.      算法设计过程

1.

2.

2.1.    随机采样方法

样本总数150条(Iris数据集)

抽样方法是有放回随机抽样。对150个样本的数据集,进行150次又放回随机采样,这样得到具有和原样本空间同等大小的样本集。

这样操作次,得到训练样本。33个用决策树C50,34个朴素贝叶斯,33个用KNN。

2.2.    模型评价方法

2.2.1.  包外错误率

由抽样方法可知,每次抽样大约有36.8%的数据未被抽到,这36.8%将作为包外数据,包外错误率:

图 1 包外错误率

2.2.2.  成对多样性度量

a->两个个体学习器对同一条数据(h1=h2=Class),分类都与原数据集分类相同的总和

b->两个个体学习器对同一条数据(h1=class,h2!=Class)

c->两个个体学习器对同一条数据(h1!=class,h2=Class)

d->两个个体学习器对同一条数据(h1!=class,h2!=Class),分类都与原数据集分类都不相同的总和

K统计量

Q统计量

相关系数

不一致度量

表1两个分类器的分类结果组合情况

图2 多样性度量矩阵

2.3.    伪代码

输入:,弱分类器迭代次数T=100,弱分类器B

输出:  %集成学习器

过程:

for i to T

           %Bagging采样,总共T次

     %获得包外测试集

        %学习器训练得到个体学习器

  %包外错误率

end

for i to T

for j=i+1 to T

统计a,b,c,d

计算

  %多样性测度矩阵

end

end

3.      附录

数据集简介:

表2 iris

sepal length

萼片长度
sepal width
萼片宽度
petal length
花瓣长度
petal width
花瓣宽度

Class

Iris-setosa -> 1
Iris-versicolor -> 2
Iris-virginica-> 3

R语言中的坑

第一次用R语言

例如

testData<-read.csv("G:\\testData.csv", header = FALSE)

将数据集导入之后 调用相关KNN NavieBayes等函数无法成功 原因是在导入的时候 数据集的class列 被自动转换成了整型(int)

tempTrain[,nc]<-as.factor(tempTrain[,nc])

调用as.factor()将class转换为因子 就可解决

还有 代码重复利用率低的问题 在下一次更新代码之中 可以解决

感谢大家批评指正

源代码(R):https://github.com/arlenlee/dataMining

Bagging(R语言实现)—包外错误率,多样性测度的更多相关文章

  1. R语言 ggplot2包

    R语言  ggplot2包的学习   分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将 ...

  2. R语言-神经网络包RSNNS

    code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...

  3. R语言-Knitr包的详细使用说明

    R语言-Knitr包的详细使用说明 by 扬眉剑 来自数盟[总舵] 群:321311420 1.相关资料 1:自动化报告-谢益辉 https://github.com/yihui/r-ninja/bl ...

  4. R语言dplyr包初探

    昨天学了一下R语言dplyr包,处理数据框还是很好用的.记录一下免得我忘记了... 先写一篇入门的,以后有空再写一篇详细的用法. #dplyr learning library(dplyr) #fil ...

  5. R语言扩展包dplyr——数据清洗和整理

    R语言扩展包dplyr——数据清洗和整理 标签: 数据R语言数据清洗数据整理 2015-01-22 18:04 7357人阅读 评论(0) 收藏 举报  分类: R Programming(11)  ...

  6. 安装R语言的包的方法

    安装R语言的包的方法: 1. 在线安装 在R的控制台,输入类似install.packages("TSA")  # 安装 TSA install.packages("TS ...

  7. R语言常用包汇总

    转载于:https://blog.csdn.net/sinat_26917383/article/details/50651464?locationNum=2&fps=1 一.一些函数包大汇总 ...

  8. R语言扩展包dplyr笔记

    引言 2014年刚到, 就在 Feedly 订阅里看到 RStudio Blog 介绍 dplyr 包已发布 (Introducing dplyr), 此包将原本 plyr 包中的 ddply() 等 ...

  9. R语言 arules包 apriori()函数中文帮助文档(中英文对照)

    apriori(arules) apriori()所属R语言包:arules                                         Mining Associations w ...

随机推荐

  1. 去除img默认的边框

    //当img属性src没有值时,会有难看的边框和难看的一个小图 有什么办法去掉呢? <img  src=" " /> //不要这样写 <img   />  ...

  2. 关于初步搭建完成SSH环境之后,JUnit test 测试成功,页面测试时:@Resource 注入的dao为null

    这个问题研究了一天,还是因为配置的时候没有认真,一不小心,酿成了大错.当发现的时候感觉好尴尬啊::>_<:: CostAction: package com.tenni.action; i ...

  3. python 以单例模式封装logging相关api实现日志打印类

    python 以单例模式封装logging相关api实现日志打印类   by:授客QQ:1033553122 测试环境: Python版本:Python 2.7   实现功能: 支持自由配置,如下lo ...

  4. AppManager

    1.统一应用程序中所有的Activity的栈管理  涉及到activity的添加.删除指定.删除当前.删除所有.返回栈大小的方法 public class AppManager { private S ...

  5. Android--仿1号店继续拖动查看图文详情——一个自定义的ViewGroup

    声明:源代码不是我写的,是网上的以为大神写的(地址给忘了),我拿过来以后呢,稍微改动了一下源码,使之符合了项目需求,再次特别感谢那位大牛,非常感谢. 是一个自定义布局,继承自ViewGroup pac ...

  6. PHP剔除删除掉危险字符

    本文出至:新太潮流网络博客 /** * [剔除掉危险字符] * @E-mial wuliqiang_aa@163.com * @TIME 2017-04-07 * @WEB http://blog.i ...

  7. JS获取元素宽高的两种情况

    JS获取元素宽高分两种情况, 一.内联样式,也就是直接把width和height写在HTML元素中的style里: 这种情况使用     document.getElementById('xxx'). ...

  8. 【MySQL 5.7 Reference Manual】15.4.2 Change Buffer(变更缓冲)

    15.4.2 Change Buffer(变更缓冲)   The change buffer is a special data structure that caches changes to se ...

  9. Linux parted命令详解

    parted常见命令参数 Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...] Apply COMMANDs with PAR ...

  10. Qt分页导航控件

    最近在使用QTableWidget时,因为结果数量比较多而且又有单元格控件,为了改善效率要做分页处理.在网上找了一番,最后在http://www.cppblog.com/biao/archive/20 ...