GradientBoost算法 python实现,该系列文章主要是对《统计学习方法》的实现。
完整的笔记和代码以上传到Github,地址为(觉得有用的话,欢迎Fork,请给作者个Star):
https://github.com/Vambooo/lihang-dl
提升树利用加法模型与前向分步算法实现学习的优化过程,当损失函数为平方损失和指数损失函数时,每一步优化都较为简单。但对一般损失函数来说,每一步的优化并不容易。Fredman为了解决这一问题,便提出了梯度提升(Gradient Boosting)方法。
梯度提升法利用最速下降的近似方法,这里的关键是利用损失函数的负梯度在当前模型的值r_{mi}作为回归问题提升树算法中的残差的近似值,拟合一个回归树。
梯度提升方法(Gradient Boosting)算法
注:该步通过估计使损失函数极小化的常数值,得到一个根结点的树。
Gradient Boost算法案例 python实现(马疝病数据)
(代码可以左右滑动看)
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn import ensemblefrom sklearn import linear_model