它也称为梯度提升机。在下面的Python食谱中,我们将通过使用pima Indians糖尿病数据集上的 sklearn 的 GradientBoostingClassifier 类来创建随机梯度Boostingensemble模型进行分类。
首先,导入所需的软件包,如下所示:
from pandas import read_csv from sklearn.model_selection import KFold from sklearn.model_selection import cross_val_score from sklearn.ensemble import GradientBoostingClassifier
现在,我们需要像之前的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=5 kfold=KFold(n_splits=10, random_state=seed)
我们需要提供要建造的树木数量。在这里,我们正在构建150棵树木,这些树木的分裂点是从5个特征中选择的-
num_trees=50
接下来,在以下脚本的帮助下构建模型-
model=GradientBoostingClassifier(n_estimators=num_trees, random_state=seed)
计算并打印输出如下-
results=cross_val_score(model, X, Y, cv=kfold) print(results.mean())
输出
0.7746582365003418
上面的输出显示,我们的Gradient Boosting分类器集成模型的准确性约为77.5%。