GBDT梯度提升树

GBDT梯度提升树_第1张图片

GBDT梯度提升树_第2张图片

GBDT算法学习示例:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import GradientBoostingRegressor

#加载数据
def loaddata():
    data = np.loadtxt('gbdt_test.txt', delimiter=',')
    n = data.shape[1]-1 #特征数
    X = data[:, 0:n]
    Y = data[:, -1].reshape(-1,1)
    return X,Y

# 1、 定义第一颗树(最大深度设为5),并进行训练
tree_reg1 = DecisionTreeRegressor(max_depth=5)
tree_reg1.fit(X,Y)

# 2、计算残差,并把残差当做目标值训练第二颗树(最大深度设为5)
y2 = Y - tree_reg1.predict(X).reshape(-1,1)
tree_reg2 = DecisionTreeRegressor(max_depth=5)
tree_reg2.fit(X,y2)

# 3、继续计算残差,并把残差

你可能感兴趣的:(机器学习,GBDT,提升树,梯度提升树)