如何理解keras中的keras.utils.to_categorical
tf.keras.utils.to_categorical(
y,
num_classes=None
)
简单来说,keras.utils.to_categorical就是把类别标签转换为onehot编码。
举个例子:
样本 标签
1 玫瑰花
2 康乃馨
3 百合花
然后经过one hot encoding,就会转化为:
玫瑰花 100
康乃馨 010
百合花 001
参数:
y
: class vector to be converted into a matrix (integers from 0 to num_classes).num_classes
: total number of classes.
返回:
A binary matrix representation of the input.
作用:
Converts a class vector (integers) to binary class matrix.
使用:
E.g. for use with categorical_crossentropy.
举个使用的例子:
def preprocess_labels(labels, encoder=None, categorical=True):
if not encoder:
encoder = LabelEncoder()
encoder.fit(labels)
y = encoder.transform(labels).astype(np.int32)
if categorical:
y = np_utils.to_categorical(y)
return y, encoder