机器学习代码实战——随机森林(Random Forest)

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)

在这里插入图片描述
可见,不同的超参数(树的颗数大小)得模型预测准确率有影响,因此建议使用不同的数目来测试模型,选择准确率最高的颗数作为最终的参数。

发布了202 篇原创文章 · 获赞 575 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_37763870/article/details/105370979