Прежде всего, я новичок в stackoverflow, поэтому, если есть способ улучшить способ, которым я формулирую свой вопрос, или если я пропустил что-то очевидное, укажите мне, пожалуйста!
Я строюклассификационная сверточная сеть в Керасе, где сеть запрашивается для прогнозирования параметра, использовалась для генерации изображения.Классы кодируются в 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, но это звучит как огромный обходной путь для решения проблемы, решение которой должно быть тривиальнымвнутри только керас, что заставляет меня поверить, что я упускаю что-то очевидное.
Я надеюсь, что кто-то сможет указать на простую альтернативу, используя только Керас.