【发布时间】:2023-04-10 02:36:01
【问题描述】:
首先,我是 stackoverflow 的新手,所以如果有办法改进我提出问题的方式,或者如果我遗漏了一些明显的问题,请指出来!
我正在 Keras 中构建一个分类卷积网络,该网络被要求预测参数用于生成图像。这些类被编码为 5 个浮点值,例如类列表可能如下所示:
[[0.], [0.76666665], [0.5], [0.23333333], [1.]]
我想使用 keras.utils.to_categorical(y, num_classes=5, dtype='float32') 函数对这些类进行一次热编码。
但是,它返回以下内容:
array(
[
[1., 0., 0., 0., 0.],
[1., 0., 0., 0., 0.],
[1., 0., 0., 0., 0.],
[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.]
],
dtype=float32)
它只接受整数作为输入,因此它将所有值< 1. 映射到0。
我可以通过将所有值乘以一个常数来规避这个问题,所以它们都是整数,我认为在 scikit learn 中也有一种方法可以解决这个问题,但这对于一个应该很容易解决的问题来说听起来像是一个巨大的解决方法在 keras 中,这让我相信我遗漏了一些明显的东西。
我希望有人能够指出一个仅使用 Keras 的简单替代方案。
【问题讨论】:
标签: python keras one-hot-encoding