编程实现AdaBoost算法
编码实现AdaBoost算法,以决策树为基学习器,训练一个AdaBoost集成模型,对测试样本进行判别。
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('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)
rf=DecisionTreeClassifier()
model=AdaBoostClassifier(base_estimator=rf,n_estimators=50,learning_rate=0.5)
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))