梯度提升分类器模型,如何对鸢尾花数据集进行预测?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
本文描述sklearn
包中的梯度提升分类器模型,英文名是GradientBoostingClassifier
。依然还是以最经典的鸢尾花数据集作为数据范例,依然是主打短平快,梯度提升分类器模型的参数细节,并不在本文讨论的范围内。
苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验文章。测试环境:win10
,python@3.12.0
,sklearn@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)
参考文章:
- https://newsn.net/say/sklearn-load_iris.html
- https://newsn.net/say/sklearn-csv.html
- https://newsn.net/say/sklearn-train_test_split.html
梯度提升分类器模型预测
梯度提升算法(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))
输出:
[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
的文章,请点击:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。