无涯教程-Python机器学习 - Random Forest函数

108 阅读1分钟

它是袋装决策树的扩展。对于单个分类器,将训练数据集的样本替换后获取,但是以减少它们之间的相关性的方式构造树。同样,可以考虑使用特征的随机子集来选择每个分割点,而不是贪婪地选择构造每个树时的最佳分割点。

在以下Python配方中,我们将通过在Pima Indians糖尿病数据集上使用sklearn的RandomForestClassifier类来构建袋装随机森林集成模型。

首先,导入所需的软件包,如下所示:

from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier

现在,我们需要像之前的Example一样加载Pima糖尿病数据集-

path=r"C:\pima-indians-diabetes.csv"
headernames=[preg, plas, pres, skin, test, mass, pedi, age, class]
data=read_csv(path, names=headernames)
array=data.values
X=array[:,0:8]
Y=array[:,8]

接下来,输入用于十折交叉验证的输入,如下所示:

seed=7
kfold=KFold(n_splits=10, random_state=seed)

我们需要提供要建造的树木数量。在这里,我们正在构建150棵树木,这些树木的分裂点是从5个特征中选择的-

num_trees=150
max_features=5

接下来,在以下脚本的帮助下构建模型-

model=RandomForestClassifier(n_estimators=num_trees, max_features=max_features)

计算并打印输出如下-

results=cross_val_score(model, X, Y, cv=kfold)
print(results.mean())

输出

0.7629357484620642

上面的输出显示,我们的袋装随机森林分类器模型的准确性约为76%。

参考链接

www.learnfk.com/python-mach…