GradientBoostingClassifier 底层的 DecisionTreeRegressor

数据挖掘 分类 scikit-学习 回归 集成建模 自然梯度提升
2022-03-08 14:39:04

我正在检查我的 GradientBoostingClassifier 模型的弱估计器。该模型适合二进制类数据集。

我注意到这个集成分类器下的所有弱估计器都是决策树回归器对象。直觉上这对我来说似乎很奇怪。

我采用了集成中的第一个决策树,并用它对我的整个数据集进行独立预测。数据集中的唯一答案如下:

array([-2.74, -1.94, -1.69, ...])

我的问题是:梯度提升分类器为什么以及如何将弱估计器变成不受 0 和 1 约束的回归任务(而不是分类任务)?最终 GradientBoostingClassifier 输出一个介于 0 和 1 之间的伪概率:为什么弱估计器的集合不做同样的事情?

1个回答

在阅读了更多文档后,我找到了涵盖分类案例的部分。可以在这里找到。此外,这个statquest非常有用。

1.11.4.5.2。分类

分类的梯度提升与回归案例非常相似。但是,树的总和对于预测不是同质的:它不能是一个类,因为树预测的是连续值。

从值到类或概率的映射是依赖于损失的。对于偏差(或对数损失),属于正类的概率被建模为 sigmoid 函数在哪里。对于多类分类,每次迭代都会构建 K 树(用于 K 类)。属于 k 类的概率被建模为值的 softmax。

请注意,即使对于分类任务,子估计器仍然是回归器,而不是分类器。这是因为子估计器被训练来预测(负)梯度,这些梯度总是连续的量。