GBDT算法的核心思想:
GBDT是Gradient Boosting Decision Tree(梯度提升树)的缩写。GBDT算法也是一种非常实用的Boosting算法,它与AdaBoost算法的区别在于:AdaBoost算法根据分类效果调整权重并不断迭代,最终生成强学习器;GBDT算法则将损失函数的负梯度作为残差的近似值,不断使用残差迭代和拟合回归树,最终生成强学习器。简单来说,AdaBoost算法是调整权重,而GBDT算法则是拟合残差。
GBDT算法的简单代码实现:
GBDT算法既能做分类分析,又能做回归分析,对应的模型分别为GBDT分类模型(GradientBoostingClassifier)和GBDT回归模型(GradientBoostingRegressor)。GBDT分类模型的弱学习器是分类决策树模型,GBDT回归模型的弱学习器则是回归决策树模型。
'''GBDT分类模型的简单演示代码'''
from sklearn.ensemble import GradientBoostingClassifier
x=[[1,2],[3,4],[5,6],[7,8],[9,10]]
y=[0,0,0,1,1]
gbc_m=GradientBoostingClassifier(random_state=123)
gbc_m.fit(x,y)
print(gbc_m.predict([[5,5]]))
'''GBDT回归模型的简单演示代码'''
from sklearn.ensemble import GradientBoostingRegressor
x=[[1,2],[3,4],[5,6],[