pallas 发表于 2022-4-20 14:36:15

python+GBDT预测年龄

预测年龄
我们不妨假设同事的年龄分别为5岁、6岁、7岁,那么同事的平均年龄就是6岁。所以我们用6岁这个常量来预测同事的年龄,即。每个同事年龄的残差 = 年龄 - 预测值 = - ,所以残差为[-1, 0, 1]

预测年龄的残差
为了让模型更加准确,其中一个思路是让残差变小。如何减少残差呢?我们不妨对残差建立一颗回归树,然后预测出准确的残差。假设这棵树预测的残差是[-0.9, 0, 0.9],将上一轮的预测值和这一轮的预测值求和,每个同事的年龄 = + [-0.9, 0, 0.9] = ,显然与真实值更加接近了, 年龄的残差此时变为[-0.1, 0, 0.1],预测的准确性得到了提升。

GBDT
重新整理一下思路,假设我们的预测一共迭代3轮 年龄:
第1轮预测:
第2轮预测: + [-0.9, 0, 0.9 ]=
第2轮残差: - = [-0.1, 0, 0.1]
第3轮预测: + [-0.9, 0, 0.9] + [-0.08, 0, 0.07 ]=
第3轮残差: - = [-0.08, 0, 0.03]
看上去残差越来越小,而这种预测方式就是GBDT算法。

提问:[-0.08, 0, 0.07 ]这里是怎么推导得到的
页: [1]
查看完整版本: python+GBDT预测年龄