У меня есть массив, и я использую функцию to_categorical в keras:
labels = np.array([1,7,7,1,7])
keras.utils.to_categorical(labels)
Я получаю этот ответ:
array([[0., 1., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 1.],
[0., 0., 0., 0., 0., 0., 0., 1.],
[0., 1., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 1.]], dtype=float32)
Как я могу получить только два столбца? Один на 1, другой на 7.
Это возможный способ, но не очень хороший:
labels = np.delete(labels, np.s_[0:1], axis=1)
np.delete(labels, np.s_[1:6], axis=1)
что дает:
array([[1., 0.],
[0., 1.],
[0., 1.],
[1., 0.],
[0., 1.]], dtype=float32)
Есть ли лучший способ добиться этого? Предпочтительно с помощью какой-то «скрытой» функции в утилитах Keras или подобных?