python梯度上升算法_用Python进行梯度提升算法的参数调整

本文深入探讨了梯度提升算法的工作原理,通过Python实践展示了如何调整参数以提高模型性能。文章详细介绍了决策树参数、提升算法参数和其他模型参数,并提供了参数调整的策略和实例。最终确定了学习率为0.005,弱学习器数量为1500,实现了模型的优化。
摘要由CSDN通过智能技术生成

引言

或许之前你都是把梯度提升算法(Gradient Boosting Model)作为一个“黑箱”来用,那么现在我们就要把这个黑箱打开来看,里面到底装着什么玩意儿。

提升算法(Boosting)在处理偏差-方差权衡的问题上表现优越,和装袋算法(Bagging)仅仅注重控制方差不同,提升算法在控制偏差和方差的问题上往往更加有效。在这里,我们提供一个对梯度提升算法的透彻理解,希望他能让你在处理这一问题上更加胸有成竹。

这篇文章我们将会用Python语言实践梯度提升算法,并通过调整参数来获得更加可信的结果。

提升算法的机制

提升算法是一个序列型的集成学习方法,它通过把一系列弱学习器集成为强学习器来提升它的预测精度,对于第t次要训练的弱学习器,它会更加重视之前第t-1次预测错误的样本,相反给预测正确的样本更低的权重,我们用图来描述一下:

图一:生成的第一个弱分类器所有的样本拥有相同的权重(用大小表示)。

决策边界成功预测了2个+样本和5个-样本。

图二:生成的第二个弱分类器在图一中被正确分类的样本给予了一个更小的权重,而错分类样本权重更大。

这个分类器更加重视那些权重大的样本并把它们正确分类,但是会造成其他样本的错分类。

图三也是一样的,这个过程会循环多次直到最后,然后把所有的弱学习器基于他们的准确性赋予权重,并最终集成为强学习器。

梯度提升算法的参数

梯度提升算法的参数可以被分为三类:决策树参数:单独影响每个弱学习器(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值