分类变量是否需要标准化/标准化?

机器算法验证 机器学习 数据转换 分类编码
2022-03-14 19:55:55

因为我们确实标准化为 10kg >>> 10 克或 1000 >> 10。所以在一个热编码的情况下,例如男性 = 0 和女性 = 1,我们是否在训练我们的模型时给予女性更多的权重为 1>0?

3个回答

男性/女性的 0/1 编码本身并不比男性更重视女性;它与连续预测变量中的值为 0 对 1(或 1 对 2)并没有真正的不同。这只是预测变量值的 1 个单位的差异。正如@Tim 正确指出的那样,对于许多机器学习方法来说,标准化不是必需的,并且没有关于权重的问题。

但是,当您的建模方法要求所有预测变量处于同一尺度时,就会出现潜在问题。示例是主成分分析 (PCA) 和惩罚线性方法,如 LASSO、岭或它们的混合弹性网。至少在某些实现中,默认值是标准化所有预测变量,包括分类预测变量。那就是你可能遇到困难的地方。

如果您不对分类预测变量进行归一化,它们是否与连续预测变量在同一尺度上,正如您的惩罚方法隐含假设的那样?如果您确实对男性/女性等 2 级预测变量进行标准化,则标准化值可能在很大程度上取决于样本中的类频率。因此,对具有类别不平衡的预测变量进行归一化可以改变权重。对于多级分类预测器,这个问题更加令人烦恼,因为参考水平的选择会影响归一化值。

此页面更详细。在 PCA 和惩罚回归中,这个问题没有万能的解决方案;智能应用您的主题知识可能是最好的。

机器学习算法是输入的函数,可以预测输出。有许多不同的算法。您似乎假设线性模型,其中,因此的结果将线性取决于但是请注意,即使使用这样的模型,如果为负,那么减小会导致增大y=Xβ+εyXβ X y

而且,大部分机器学习模型学习的是非线性函数,所以不存在这种线性依赖。例如,决策树是一系列if ... else ...基于学习阈值的语句if X > c then ... else ...,因此对于模型而言,实际值是什么并不重要,只要它可以将它们打包成有意义的相似值“桶”即可。神经网络通过使用冗余权重和堆叠多个层来实现非线性。如果您使用最近邻,它只会查看样本之间的相似性,因此在这种情况下,更大/更小的关系不会影响它。k

最后,标准化/标准化不会影响值的排序。因此,如果大于,则在归一化或标准化之后,它们都可能具有不同的值,但它们之间的关系不会改变。x1x2

对特征进行规范化/标准化以使所有特征达到相似的规模。当您对分类变量进行热编码时,它们要么是 0/1,因此没有像 10~1000 这样的尺度差异,因此无需应用标准化/标准化技术。