实验题目: 编程实现 实验目的: 掌握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 ))