我试图理解堆叠是如何工作的,但到目前为止我还不确定我是否理解正确。所以这是我到目前为止所理解的:
我们使用完整的数据集训练每个 k 基础学习者(第0级)。
我们让每个 k 基础学习者预测整个数据集。
我们根据 k 基础学习者的所有预测创建新数据集。新数据集看起来像我们的原始数据集+每个基础学习者的预测。
此数据集用于训练元学习者(第1级)。
我的问题:
非常感谢
答案 0 :(得分:3)
您的理解大多正确!在
新数据集看起来像我们的原始数据集+每个基础学习者的预测。
一个可以使用每个基础学习者的原始特征+预测,但是当人们谈论堆叠时,他们通常只使用每个基础学习者的预测。
我经常读到交叉验证以某种方式用于堆叠,但我无法弄清楚,它是如何使用的?或者它甚至是一个必不可少的部分,我错过了?
是的,交叉验证通常与堆叠一起使用。当你按照你所描述的那样进行时,元模型(你称之为第1级)可以从基础模型所做的预测中过度拟合,因为每个预测都是在看过整个数据集之后进行的。
所以你要做的就是交叉验证,并将数据分解为k-folds。您使用第k个保持折叠的预测(循环通过它们的所有k)来获得(希望)无偏估计模型将预测未见数据。然后你将元模型拟合到那些(没有交叉验证)。