我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

本文描述sklearn包中的梯度提升分类器模型,英文名是GradientBoostingClassifier。依然还是以最经典的鸢尾花数据集作为数据范例,依然是主打短平快,梯度提升分类器模型的参数细节,并不在本文讨论的范围内。

苏南大叔:梯度提升分类器模型,如何对鸢尾花数据集进行预测? - 梯度提升模型-鸢尾花数据集
梯度提升分类器模型,如何对鸢尾花数据集进行预测?(图2-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验文章。测试环境:win10python@3.12.0sklearn@1.2.2

获得鸢尾花训练集

鸢尾花数据集获得的方式很多,本文使用sklearn自带的load_iris()函数来加载150条鸢尾花数据。切分数据集,依然使用固定radom_state的方式,拿到被打乱的数据。

获取数据集的代码如下:

from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris

iris = load_iris()
X = iris.data
y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=8)

参考文章:

梯度提升分类器模型预测

梯度提升算法(Gradient Boosting)是一种集成学习算法,它通过构建多个弱分类器,然后将它们组合成一个强分类器来提高模型的预测准确率。

from sklearn.ensemble import GradientBoostingClassifier

model = GradientBoostingClassifier()
model.fit(X_train, y_train)
predictions = model.predict(X_test)
print(predictions)
print("梯度提升模型准确度:", model.score(X_test, y_test))

苏南大叔:梯度提升分类器模型,如何对鸢尾花数据集进行预测? - 梯度提升模型代码
梯度提升分类器模型,如何对鸢尾花数据集进行预测?(图2-2)

输出:

[0 0 0 2 1 0 0 2 2 1 1 0 1 1 1 2 2 2 2 1 1 0 1 1 1 0 2 0 0 2]
梯度提升模型准确度: 0.8666666666666667

结束语

机器学习的各种模型非常多,但是使用起来都是极其类似的。仅仅是换个库,换个模型名字,就可以做预测。当然,为了更好的预测效果,还是可以做各种参数调优的,待后续文章进行讨论。

更多sklearn的文章,请点击:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python    sklearn