代码之家  ›  专栏  ›  技术社区  ›  Stanleyrr

测试集的反向差分编码是如何工作的?

  •  3
  • Stanleyrr  · 技术社区  · 6 年前

    根据本网站( http://www.statsmodels.org/dev/contrasts.html enter link description here ),向后差分编码的定义为' 在后向差分编码中,将某一水平的因变量平均值与前一水平的因变量平均值进行比较。这种类型的编码可能对标称或顺序变量有用。 '

    我不明白的是,如果这种编码方法依赖于因变量(如果我理解正确,则与输出变量相同),当因变量未提前给定给模型时,我们如何对测试集执行向后差分编码?在训练集中,因变量的值是给定的,但在测试集中却没有给定。有人能提供建议吗?

    1 回复  |  直到 6 年前
        1
  •  4
  •   Vaibhav Agrawal    6 年前

    这种方法很简单 影响编码 分类变量。

    如果您的分类列具有类别{C1、C2、C3、…},然后按如下方式进行碰撞编码:

                             Impact(category = Ci) = E[y|Ci] - E[y]
    

    在训练期间,对于每个类别(Ci),它计算平均输出(给定该类别,即后验概率)与因变量的总体期望值(先验)之间的差值。有关影响编码的更多参考,请参阅本文 https://arxiv.org/abs/1611.09477v3 (第10页)

    在测试阶段,为了将测试数据的分类变量转换为其影响代码,它使用了与训练数据相同的预期值“y”。因为这是一个期望值,所以训练数据的样本数是否比测试数据多并不重要(只要“y”在两个数据集中的分布相似)。