python 代码以KNN模型作为Adaboost的基分类器
下面是Python代码以KNN模型作为Adaboost的基分类器:
from sklearn.ensemble import AdaBoostClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
# 生成一个二分类数据集
X, y = make_classification(n_samples=1000, n_features=10, n_informative=5,
n_redundant=0, n_classes=2, random_state=0)
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
# 创建KNN分类器
knn = KNeighborsClassifier(n_neighbors=3)
# 创建AdaBoost分类器,并使用KNN作为基分类器
ada = AdaBoostClassifier(base_estimator=knn, n_estimators=10, learning_rate=1)
# 训练AdaBoost分类器
ada.fit(X_train, y_train)
# 在测试集上测试分类器性能
accuracy = ada.score(X_test, y_test)
print("AdaBoost with KNN base classifier accuracy:", accuracy)
在上面的代码中,我们首先使用make_classification函数生成一个二分类数据集。然后将数据集分为训练集和测试集。接着,我们创建了一个KNN分类器,并将其作为基分类器传递给AdaBoostClassifier函数。我们设置了基分类器数量为10,学习率为1。最后,我们使用训练好的AdaBoost分类器在测试集上测试性能,并输出分类器的准确率
原文地址: https://www.cveoy.top/t/topic/foNz 著作权归作者所有。请勿转载和采集!