Python机器学习

袋装决策树拓展

袋装决策树拓展-随机森林详细操作教程
它是袋装决策树的扩展。对于单独的分类器,训练数据集的样本被替换后获取,但是树的构建方式降低了它们之间的相关性。此外,在构建每棵树时,考虑使用特征的随机子集选择每个分割点,而不是贪婪地选择最佳分割点。
在以下Python食谱中,我们将通过在Pima Indians糖尿病数据集上使用sklearn的RandomForestClassifier类来构建袋装随机森林集成模型。
首先,按如下所示导入所需的程序包-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-27
from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
现在,我们需要像之前的示例一样加载Pima糖尿病数据集-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-27
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]
接下来,如下所示进行10倍交叉验证的输入-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-27
seed = 7
kfold = KFold(n_splits = 10, random_state = seed)
我们需要提供要建造的树木数量。在这里,我们正在构建150棵树木,这些树木的分裂点是从5个要素中选择的-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-27
num_trees = 150
max_features = 5
接下来,在以下脚本的帮助下构建模型-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-27
model = RandomForestClassifier(n_estimators = num_trees, max_features = max_features)
计算并打印结果如下-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-27
results = cross_val_score(model, X, Y, cv = kfold)
print(results.mean())
输出
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-27
0.7629357484620642
上面的输出表明,我们的袋装随机森林分类器模型的准确率约为76%。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4