老饼讲解-机器学习 机器学习 神经网络 深度学习
集成方法

【代码】GBDT简单Demo(sklearn)

作者 : 老饼 发表日期 : 2022-06-26 14:11:30 更新日期 : 2023-11-07 18:11:26
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com


本文展示一个python的sklearn中实现GBDT的Demo,

在自写代码中,我们再复现该Demo,比较sklearn包的结果与自写代码的结果是否一致



  01. sklearn实现GBDT-代码简述  



本节展示一个用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  







联系老饼