我对如何拆分训练数据以及在使用广义堆叠时对哪些数据级别 0 进行预测感到非常困惑。这个问题与我的类似,但答案不够清楚:
我的理解是训练集是分裂的,基础模型在一个分裂上训练,而预测是在另一个分裂上进行的。这些预测现在成为新数据集的特征。每个模型的预测一列,以及包含这些预测的基本事实的列。
- 将训练数据拆分为训练/测试。
- 在训练拆分上训练基础模型。
- 对测试拆分进行预测(根据链接的答案,为此使用 k-fold CV)。
- 为每个模型创建一个特征,用该模型的预测填充它
- 为这些预测的基本事实创建一个特征。
- 创建一个新模型并根据这些预测和基本事实特征对其进行训练。
问题 1:这些是用于训练“元”模型的唯一特征吗?换句话说,没有包含原始数据的实际特征吗?链接的答案说包含原始数据是很常见的,但我没有在其他地方读到它。
问题2:如果上述算法是正确的,那么做预测时数据的形式是什么?似乎它还必须将预测作为自变量。如果是这样,这意味着再次通过所有基本模型运行所有新的传入数据,对吗?
问题 3:我一直看到对第一级预测的“不折叠”要求。似乎如上所述进行简单的训练/测试拆分可以实现这一点。但是,您不希望第三次拆分来测试组合模型的泛化性吗?或者这种类型的合奏是否足够防弹而不用担心它?