machine-learning - Keras 是否需要一种热编码?

标签 machine-learning tensorflow keras one-hot-encoding

我有一个标签为 0-4 的数据集。我使用以下代码将它们一次性编码为 np 数组:labels = (np.arange(5) == labels[:, None]).astype(np.float32)。我的问题是,我们是否必须对它们进行一次热编码?我可以只保留 0-4 之间的数字/ float 标签并使用它们吗?如果是这样怎么办?

最佳答案

你的标签是什么?

它们是“水平”、“强度”还是某种“度量”??

  • 如果是,最好不要对它们进行编码,只需将它们压缩在 0 和 1 之间。然后您的模型将能够计算一个结果,即强度。但它永远不会准确。

  • 如果没有,那么您应该对标签进行编码,因为每个数字彼此无关,它们是“离散的”,并且您的模型最好也显示离散结果。那么每个结果将是每个类别的结果的可能性(可能不完全是概率,具体取决于模型的参数)。

<小时/>

所以,简而言之:如果你想测量某物的强度,一个变量。如果您想要不同“类”的可能性,请创建 one-hot 向量。

关于machine-learning - Keras 是否需要一种热编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45943827/

相关文章:

machine-learning - KNN算法在训练阶段做了什么?

python - 第一个时期的验证和训练准确率很高 [Keras]

machine-learning - 如何在 NLP 中创建词缀(前缀 + 后缀)嵌入

matlab - 交叉验证后如何在Matlab中应用学习到的模型

python - TensorFlow: TypeError: int() 参数必须是字符串、类字节对象或数字,而不是 'NoneType'

python - Windows 中 Tensorflow 的 cuda_dnn 错误 : "could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED"

python - 时间序列数据的自定义损失函数

python - 如何将 Keras 丢失输出记录到文件中

python - 有没有办法在没有目标标签的情况下对文本进行分类?

python - Keras 形状 'ValueError'