admin 发表于 2015-11-18 09:47:35

十大经典数据挖掘算法R语言实践(六)Adboost算法

续《十大经典数据挖掘算法R语言实践(五)》,本文介绍Adboost算法在R语言中如何使用。数据集采用R语言内置的iris数据集。#查看数据集前六个观测
head(iris)Adboost算法R语言实践第一步:数据集划分训练集和测试集,比例2:1index <-sample(1:nrow(iris), 100)
iris.train <-iris
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$confusionAdboost算法原理1 AdaBoost,是英文”AdaptiveBoosting”(自适应增强)的缩写,是一种机器学习方法,由Yoav Freund和Robert Schapire提出。2 AdaBoost方法的自适应在于:前一个分类器分错的样本会被用来训练下一个分类器。AdaBoost方法对于噪声数据和异常数据很敏感。但在一些问题中,AdaBoost方法相对于大多数其它学习算法而言,不会很容易出现过拟合现象。3 AdaBoost方法中使用的分类器可能很弱(比如出现很大错误率),但只要它的分类效果比随机好一点(比如两类问题分类错误率略小于0.5),就能够改善最终得到的模型。而错误率高于随机分类器的弱分类器也是有用的,因为在最终得到的多个分类器的线性组合中,可以给它们赋予负系数,同样也能提升分类效果。4 AdaBoost方法是一种迭代算法,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率。每一个训练样本都被赋予一个权重,表明它被某个分类器选入训练集的概率。参考资料1 《数据挖掘导论》和《数据挖掘:概念与技术》2数据挖掘十大经典算法(详解)3 Top10 data mining algorithms in plain R
页: [1]
查看完整版本: 十大经典数据挖掘算法R语言实践(六)Adboost算法