AdaBoost算法较Bagging算法效果更优。该算法不只是多个分类器结果的叠加,它会在每一次构建分类器的过程中,根据上一个基分类器对各训练集样本的预测结果,自行调整在本次分类器构造中各样本被抽中的概率。也就是说,上一次被错误分类的样本,在下一次被抽中并正确分类的概率会更高。
1.在R软件中,实现Adaboost算法的是adabag包中的boosting算法。大多数时候,基分类器选择使用决策树。
boosting()函数的基本形式为:
boosting(formula, data, boos = TRUE, mfinal = 100, coeflearn = 'Breiman', control,...)
其中formula表示建模公式,data为训练数据集,mfinal表示迭代次数,control参数与rpart中的control参数相同, coeflearn用于选择权重更新系数alpha的计算方式,默认值为Breiman,此时的alpha=1/2ln(1-err)/err)。
首先要安装并加载软件包。
install.packages("adabag")
install.packages("rpart")
library(adabag)
library(rpart)
2.读取数据集。
data=read.csv("shares_data1.csv",head=TRUE,encoding&