目标编码中具有相同均值的类别

数据挖掘 机器学习 分类数据 分类编码 目标编码
2022-02-19 16:43:29

在进行目标编码时,可能会发生两个类别具有相同的目标均值

这很糟糕,因为其中的新功能没有区别,我们会丢失一些信息。

此外,这可能对模型有害,在特征中选择这种拆分可能会产生一些不一致。

有没有办法解决这个问题?

1个回答

我在这个答案中假设基于树的模型

贝叶斯平均编码可以提供帮助

主要问题是模型将无法在合并的类别之间进行拆分。因此,您隐含地接受两个合并类别与其他变量之间没有交互。(cat1 和 cat2 的分割顺序相同)

如果你想让树在任何地方分裂(因为你怀疑交互),你必须在 cat1 和 cat2 的值之间创建一个空间来分裂树。贝叶斯均值编码可以帮助您。它在计算目标均值时考虑了类别的频率。

公式如下:

μ=n*X¯+*wn+
在哪里 :

  • μ是类别均值
  • n是这个类别的频率
  • X¯是该类别的目标均值
  • 是您要赋予整体平均值的权重
  • w是整体平均值

注意:带小您将获得与简单目标编码非常相似的结果,同时稍微移动手段(足以启用拆分)。贝叶斯均值的主要目标是限制过拟合,这在做目标编码时也是一个问题。

这样做没有意义

目标编码背后的想法是假设类别与其他变量没有交互。因此,您将分类空间(高维)转换为一个简单的连续空间,其中只有值很重要。如果您认为该算法可能会混淆两个类别并且这很糟糕,则意味着目标编码不适合。如果不同的类别应该遵循不同的决策路径,那么这意味着类别变量与其他变量之间存在相互作用。

如果您希望每个类别都有不同的决策路径,为什么不保留类别?因为隐含地,树将计算分裂的平均值(在此视频中解释:https ://www.youtube.com/watch?v=g9c66TUylZ4 )