实验题目: 编程实现AdaBoost算法
实验目的: 掌握AdaBoost算法的求解过程
实验环境(硬件和软件) Anaconda/Jupyter notebook/Pycharm
实验内容:
编码实现AdaBoost算法,以决策树为基学习器,训练一个AdaBoost集成模型,对测试样本进行判别。
要求:
一、已经给定部分代码,补充完整的代码,需要补充代码的地方已经用红色字体标注,包括:
(1)#补充定义弱分类器的代码
(2)#补充定义、训练AdaBoost分类器的代码
(3)#补充评估模型在测试集上的精度的代码
二、将补充完整的代码提交,并提交实验结果;(也可以自己重写这部分的代码提交)
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import AdaBoostClassifier
from sklearn.datasets import load_iris
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
import numpy as np
data = np.loadtxt('D:\\桌面文件\\2023大三上\\数据挖掘\\实验八\\wine.data',delimiter=',')
X = data[:,1:]
y = data[:,0:1]
X_train,X_test,y_train,y_test = train_test_split(X,y.ravel(),train_size=0.8,random_state=0)
#补充定义弱分类器的代码
model = AdaBoostClassifier(DecisionTreeClassifier(max_depth = 2),algorithm = 'SAMME',n_estimators =10)
#补充定义、训练AdaBoost分类器的代码
model.fit(X_train,y_train)
#评估模型在训练集上的精度
y_train_hat = model.predict(X_train)
print("train accuarcy:",accuracy_score(y_train,y_train_hat))
#补充评估模型在测试集上的精度的代码
y_test_hat = model.predict(X_test)
print (" test accuarcy:",accuracy_score(y_test,y_test_hat ))
如果采纳谢谢大家的点赞和收藏!!!