机器学习算法实现(七):Adboost

Adboost算法R语言实践

第一步:数据集划分训练集和测试集,比例2:1

index<-sample(1:nrow(iris), 100)

iris.train<-iris[index, ]

iris.test<-iris[-index, ]

第二步:加载实现Adboost算法的R包

library(adabag)

## Loading required

package:rpart

## Loading required

package: mlbench

## Loading required

package: caret

## Loading required

package: lattice

## Loading required

package: ggplot2

第三步:构建Adboos算法模型

model.Adboost<-boosting(Species~., data=iris.train)

第四步:模型应用于测试集

results.Adboost<-predict(model.Adboost,newdata=iris.test, type='class')

第五步:查看混淆矩阵

results.Adboost$confusion

Adboost算法原理

1 AdaBoost,是英文'AdaptiveBoosting'(自适应增强)的缩写,是一种机器学习方法,由Yoav

Freund和Robert Schapire提出。

2 AdaBoost方法的自适应在于:前一个分类器分错的样本会被用来训练下一个分类器。AdaBoost方法对于噪声数据和异常数据很敏感。但在一些问题中,AdaBoost方法相对于大多数其它学习算法而言,不会很容易出现过拟合现象。

3 AdaBoost方法中使用的分类器可能很弱(比如出现很大错误率),但只要它的分类效果比随机好一点(比如两类问题分类错误率略小于0.5),就能够改善最终得到的模型。而错误率高于随机分类器的弱分类器也是有用的,因为在最终得到的多个分类器的线性组合中,可以给它们赋予负系数,同样也能提升分类效果。

4 AdaBoost方法是一种迭代算法,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率。每一个训练样本都被赋予一个权重,表明它被某个分类器选入训练集的概率。

参考文献:

本文转载自     http://www.360doc.com/userhome.aspx?userid=26290960&cid=10

你可能感兴趣的:(机器学习算法实现(七):Adboost)