《机器学习与数据挖掘》实验八

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

如果采纳谢谢大家的点赞和收藏!!!

猜你喜欢

转载自blog.csdn.net/m0_64351669/article/details/128356318