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

2024-10-02 12:31:13 发布

您现在位置:Python中文网/ 问答频道 /正文

根据这个网站(http://www.statsmodels.org/dev/contrasts.htmlenter link description here),后向差分编码的定义是'在后向差分编码中,一个层次的因变量的平均值与上一个层次的因变量的平均值进行比较。这种类型的编码可能对名义变量或序数变量有用。'

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


Tags: orgdevhttp编码here网站wwwlink
1条回答
网友
1楼 · 发布于 2024-10-02 12:31:13

这种方法只需对分类变量进行影响编码。在

如果您的category列有{C1,C2,C3,…}类别,那么影响编码如下:

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

在训练过程中,对于每个类别(Ci),它计算平均输出(给定类别,即后验)与因变量总体期望值(先验)之间的差值。关于影响编码的更多参考,你可以参考这篇论文https://arxiv.org/abs/1611.09477v3(第10页)

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

相关问题 更多 >

    热门问题