【问题标题】:Does one-hot encoding cause issues of unbalanced feature?one-hot 编码是否会导致特征不平衡的问题?
【发布时间】:2019-05-04 08:26:49
【问题描述】:

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

有一个特殊情况让我感到困惑: 现在我的数据集中有一个分类特征和一个数值特征。我将分类特征编码为 300 个新的“0/1”特征,然后使用 MinMaxScaler 对数值特征进行归一化,所以我所有的特征值都在 0 到1.但可疑的现象是分类特征和数值特征的比例似乎从1:1变成了300:1。

我的编码方法正确吗?这让我对one-hot编码产生了怀疑,我认为这可能会导致特征不平衡的问题。

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢,但我该如何解决这个问题?我应该离散化数字特征吗?
    • 不,这可能只会让事情变得更糟。考虑为您的问题使用一些自定义逻辑加权功能。至少,您可以将编码特征的权重降低 0.5,原因如上所述。
    • 其实我没有完全理解你上面说的。你说“分类特征上的权重只会是标准化特征权重的2倍左右”。但是如果我的分类特征有 3000 个不同的类别,权重会变成一个标准化特征权重的 3000 倍吗?这正是我所担心的。
    • 不,仍然是两点左右。做一个估计:给定两个点和一个具有 m 个同样常见类别的属性。即使将其编码为 m 个二进制属性,预期的距离是多少?
    猜你喜欢
    • 2017-04-23
    • 1970-01-01
    • 2020-10-25
    • 2021-05-01
    • 2017-06-21
    • 1970-01-01
    • 2018-07-10
    • 2022-11-28
    • 1970-01-01
    相关资源
    最近更新 更多