W3School TIY Editor
W3School 在线教程
改变方向
暗黑模式
# 这三行代码使编译器能够绘图: import sys import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score from sklearn.ensemble import BaggingClassifier # 加载葡萄酒数据集: data = datasets.load_wine() # 准备特征数据和标签: X = data.data y = data.target # 划分训练集和测试集(25% 测试数据): X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.25, random_state=22 ) # 定义要评估的基学习器数量范围: estimator_range = [2,4,6,8,10,12,14,16] models = [] scores = [] for n_estimators in estimator_range: # 创建 Bagging 分类器: clf = BaggingClassifier( n_estimators=n_estimators, random_state=22 ) # 训练模型: clf.fit(X_train, y_train) # 记录模型和其在测试集上的准确率: models.append(clf) scores.append(accuracy_score( y_true=y_test, y_pred=clf.predict(X_test) )) # 绘制准确率随基学习器数量变化的曲线: plt.figure(figsize=(9,6)) plt.plot(estimator_range, scores) # 设置坐标轴标签和字体大小: plt.xlabel("基学习器数量(n_estimators)", fontsize=18) plt.ylabel("准确率(score)", fontsize=18) plt.tick_params(labelsize=16) # 显示图形: plt.show() # 这两行代码使编译器能够输出图形: plt.savefig(sys.stdout.buffer) sys.stdout.flush()