一个热编码和将分类标记为标量值然后标准化批次之间是否有不同?

数据挖掘 机器学习 喀拉斯
2022-03-03 19:15:37

假设我有label = ['Male', 'Female', 'Undefined']. 如果我将其标记为:

[[1, 0, 0], [0, 1, 0], [0, 0, 1]]

与将其标记为

[0, 1, 2]然后稍后对数据进行规范化?

关于这个话题,如果我有另一个特征age,当然只有1的长度。如果我选​​择一种热编码,我将如何输入Age和Gender,因为现在Gender的长度变成了3?我正在使用 Keras。

1个回答

第二个选项是错误的。如果您标记Male, Female,Undefined因为[0, 1, 2]您将类别视为数字。这是不正确的。网络以这种方式会学到一些东西,比如Undefined > Female,这是没有意义的。

您需要一种热编码来处理这些变量:它们不是可以放在刻度上的数值。

关于这个Age问题:如果这是一个数值变量(我猜是用年表示?),那么您可以毫无问题地将其直接输入神经网络。