以下是用 Python 实现的代码来回答这个问题: ```python import numpy as np import matplotlib.pyplot as plt from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split # 加载鸢尾花数据集 iris = load_iris() X = iris.data y = iris.target # 定义不同数量的决策树 n_estimators = [10, 50, 100, 200, 500] # 存储准确率 accuracies = [] for n in n_estimators: # 创建随机森林分类器 clf = RandomForestClassifier(n_estimators=n, random_state=1234) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) # 训练模型 clf.fit(X_train, y_train) # 在测试集上进行预测 y_pred = clf.predict(X_test) # 计算准确率 accuracy = np.mean(y_pred == y_test) accuracies.append(accuracy) # 绘制图表 plt.plot(n_estimators, accuracies) plt.xlabel('Number of Decision Trees') plt.ylabel('Accuracy') plt.title('Effect of Number of Decision Trees on Random Forest Accuracy') plt.show() # 额外需要注意的逻辑点: # 1. 数据的预处理和特征工程对结果影响很大。 # 2. 随机森林的参数调整需要综合考虑,不仅仅是决策树数量。 # 3. 对于不同的数据集,最优的决策树数量可能不同。 ``` [2024-11-26 21:30:40 | AI写代码神器 | 388点数解答]