一键编码会导致功能不平衡的问题吗?

时间:2018-12-03 03:24:41

标签: machine-learning scikit-learn data-mining one-hot-encoding feature-engineering

我们知道,在数据挖掘中,我们经常需要使用一热编码来对分类特征进行编码,因此,一个分类特征将被编码为几个“ 0/1”特征。

有一个特殊情况使我感到困惑: 现在,我的数据集中有一个分类特征和一个数值特征。我将该分类特征编码为300个新的“ 0/1”特征,然后使用MinMaxScaler将数值特征归一化,因此我所有的特征值都在0到0之间。 1.但是可疑的现象是分类特征与数字特征的比率似乎从1:1变为300:1。

我的编码方法正确吗?这使我对单热编码感到怀疑,我认为这可能会导致功能不平衡的问题。

有人能告诉我真相吗?任何词将不胜感激!谢谢!!!

1 个答案:

答案 0 :(得分:1)

由于每条记录只有一个类别,因此其中只有一个将是1。

有效地,通过这种预处理,分类特征的权重将仅是标准化特征的权重的约2倍。 (如果考虑距离和两个不同类别的对象,则为2次。)

但是从本质上讲您是对的:一键编码并不是特别聪明。使程序在其不支持的数据上运行是一个丑陋的黑客。当使用诸如k-means之类的算法时,情况变得更糟,假设我们可以采用 mean ,并且需要最小化这些变量的 squared 误差...结果将是有限的。