1.实验目的
1、使用随机森林分类器预测花卉种类,数据集来自sklearn.datasets的著名鸢尾花数据集。
2、使用默认的n_estimators(10)测量预测分数
3、通过更改分类器中的树的个数来微调模型,并检验使用几棵树可获得的最佳分数
2.导入数据、构建df、拆分特征与标签
import pandas as pd
from sklearn.datasets import load_iris
iris = load_iris()
df = pd.DataFrame(iris.data,columns=iris.feature_names)
df['target'] = iris.target
df.head()
X = df.drop(['target'],axis='columns')
y = df.target
3.训练+计算得分
3.1.计算10颗树时的得分
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.2)
model = RandomForestClassifier(n_estimators=10)
model.fit(X_train,y_train)
model.score(X_test, y_test)
3.2.计算40颗树时的得分
model = RandomForestClassifier(n_estimators=40)
model.fit(X_train,y_train)
model.score(X_test, y_test)
可见,不同的超参数(树的颗数大小)得模型预测准确率有影响,因此建议使用不同的数目来测试模型,选择准确率最高的颗数作为最终的参数。