欢迎访问宙启技术站
智能推送

Keras中的np_utilsto_categorical()函数的用法及示例

发布时间:2023-12-28 07:38:06

np_utils.to_categorical()函数是Keras中的一个实用函数,用于将整数标签转换为独热编码形式的向量。它的输入是一个包含整数标签的向量,输出是一个矩阵,每一行表示一个标签的独热编码形式。

该函数的用法如下:

np_utils.to_categorical(y, num_classes=None)

参数说明:

- y:整数标签的向量。

- num_classes:整数,表示类别的数量。如果不指定,默认为y中最大标签值加1。

示例:

import numpy as np
from keras.utils import np_utils

# 创建一个包含整数标签的向量
y = np.array([0, 2, 1, 3, 2, 0, 1])

# 将整数标签转换为独热编码形式的向量
y_encoded = np_utils.to_categorical(y, num_classes=4)

print(y_encoded)

输出结果为:

[[1. 0. 0. 0.]
 [0. 0. 1. 0.]
 [0. 1. 0. 0.]
 [0. 0. 0. 1.]
 [0. 0. 1. 0.]
 [1. 0. 0. 0.]
 [0. 1. 0. 0.]]

在上述示例中,我们首先创建了一个包含整数标签的向量y。然后,通过调用np_utils.to_categorical()函数,将这些整数标签转换为独热编码形式的向量y_encoded。我们指定num_classes=4,因为标签的范围是从0到3,一共有4个类别。最后,我们打印出y_encoded的值。

从输出结果可以看出,独热编码形式的向量y_encoded中,每一行表示一个标签的独热编码。第一行对应标签0,第二行对应标签2,依此类推。对于每一行,只有对应标签的位置上的元素为1,其余位置上的元素为0。

使用np_utils.to_categorical()函数有助于在Keras中处理分类任务中的标签。许多机器学习模型都需要输入独热编码形式的标签,因此这个函数可以方便地将整数标签转换为适用于这些模型的输入格式。