可以使用keras.utils.to_categorical方法
to_categorical(y, num_classes=None, dtype='float32')
将整型的类别标签转为onehot编码。y为int数组,num_classes为标签类别总数,大于max(y)(标签从0开始的)。
一般来说,最大值是多少则独热编码就有多少,可以更多,如果没有定义标签的类别数目,就默认是最大的y值个。小于会报错。
import keras
oh = keras.utils.to_categorical([1, 3, 10])
print(oh)
"""
[[0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.]]
"""