我正在尝试使用(两级)交叉验证来理解这种目标(均值/影响/可能性)编码方式。
它取y的平均值。但不是简单的意思,而是在cross-validation中的cross-validation中;
假设我们有 20 倍交叉验证。我们需要以某种方式仅使用来自 #2-#20 折叠的信息来计算 #1 折叠的特征的平均值。
因此,您采用#2-#20 折,在其中创建另一个交叉验证集(我做了 10 折)。计算每个留一折的平均值(最后你得到 10 个平均值)。您对这 10 个均值进行平均,并将该向量应用于您的主要 #1 验证集。对剩余的 19 折重复此操作。
很难解释,很难理解和掌握 :) 但如果做得正确,它可以带来很多好处:)
据我了解,这种方法的动机是:目标编码需要输出的知识,而这在测试集上是不可用的。因此,如果我们使用从整个训练集获得的均值并应用于测试集,则可能会导致过度拟合。因此,我们将使用从其子集派生的其他值。
我从这篇文章中找到了一些讨论,但无法理解以下几点:
1)在我看来,他的二级CV不过是取整个#2-#20折的平均值而已。所以基本上,这只是一级交叉验证,我们不使用#1 折叠的平均值,而是使用#2-#20 折叠的平均值作为#1 折叠的平均值。我在这里错过了什么吗?
2) 一旦我们获得了所有 20 折的手段,我们接下来要做什么?如果我们取平均值,这也只是取所有火车组的平均值。