我需要标准化我的一个热门编码标签吗?

数据挖掘 机器学习 软最大
2021-10-08 00:42:24

我正在尝试做一个简单的 softmax 回归,其中我有特征(2 列)和一个热编码的标签向量(两个类别:left = 1 和 Right = 0)。我需要标准化特征向量还是标签向量?当我这样做时,我所有的零和一都以不同的数字转换,而且我不知道如何识别谁是左或右类别。我正在使用 mxnet 和胶子。这是我标准化的方法:labels = (labels - labels.mean()) / (labels.max() - labels.min())

标准化前的标签:[0. 1. 1. 1. 1. 1.

标准化后的标签:[-0.5633803 0.43661973 0.43661973 0.43661973 0.43661973 0.43661973 ...

如果我的预测实际上是给我左或右,我如何识别(用字符串)?

3个回答

不,你没有标准化标签

标准化的目的是将具有不同范围的特征带入标准范围。当数据未标准化时,数值较大的特征往往会比数值较小的特征具有更大的影响(权重)。

考虑来自 UC Irvine的汽车数据集 ( https://archive.ics.uci.edu/ml/datasets/automobile )。在这些特征中,它具有高度、长度、宽度、重量、#圆柱体以及许多其他标签和数字特征。高度范围从 47.8 到 59.8,重量范围从 1488 到 4066。您需要将它们标准化,而不是标注特征,例如车身样式或发动机类型。

据我所知,标题问题没有“正确”的答案。我认识的大多数人都不会打扰。(事实上​​,一种常用的缩放器将数据放入范围[0,1]无论如何。) https://stats.stackexchange.com/questions/290929/standardizing-dummy-variables-for-variable-importance-in-glmnet
https://stats.stackexchange.com/questions/359015/ridge-lasso-虚拟指标标准化

对于第二个问题,标准化/标准化总是(呃,总是我见过,当然对于你的例子)应用递增函数,以便保留顺序。然后,对于二进制变量的规范化,始终将 0 映射到负值,将 1 映射到正值。

虽然可能没有任何附加价值,但将标准化应用于已经过一次热编码的功能有什么害处吗?