本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
本文展示一个python的sklearn中实现GBDT的Demo,
在自写代码中,我们再复现该Demo,比较sklearn包的结果与自写代码的结果是否一致
本节展示一个用sklearn实现GBDT的代码示例
代码简介
代码展示一个利用python的sklearn实现GBDT的Demo,
Demo先是随机生成一组二分类数据,然后调用GBDT包进行训练,
最后展示模型对训练样本的预测结果
sklearn实现GBDT的代码示例
# -*- coding: utf-8 -*-
"""
本代码展示一个调用sklearn包实现GBDT梯度提升树的Demo
本代码来自《老饼讲解-机器学习》www.bbbdata.com
"""
from sklearn.datasets import make_classification
from sklearn.ensemble import GradientBoostingClassifier
# ========================== 生成训练数据 =============================
X, y = make_classification(n_samples=1000,n_features=10,random_state=0)
# ============================ 模型训练 ===============================
clf = GradientBoostingClassifier(n_estimators=100,learning_rate=0.1,random_state=0)
clf.fit(X, y)
# ============================= 模型预测 ===============================
pred = clf.predict(X)
proba = clf.predict_proba(X)
# ============================= 打印结果 =================================
print("前10个样本预测结果:")
print(proba[1:10,1])
代码运行版本:conda 4.10.3
代码运行结果
前10个样本预测结果:
[0.00229481 0.00182419 0.99608683 0.99844923 0.98161235 0.99773238
0.00367215 0.99843612 0.99814991]
备注:这里的预测结果,是指样本属于类别1的概率
End