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

Keras中的np_utilsto_categorical()函数的参数和返回值解释

发布时间:2023-12-28 07:43:30

Keras中的np_utils.to_categorical()函数是一个用于将标签(整数形式)转换为one-hot编码的函数。下面详细解释一下其参数和返回值,并提供一个使用例子。

参数:

- y:需要转换的标签数据。可以是整数数组或一维整数向量。

- num_classes:整数,指定输出的one-hot编码的维度。默认值为None,此时函数会自动根据y中的最大值确定维度。如果指定了num_classes的值,但是y中的最大值仍然超过了num_classes-1,则会抛出一个错误。

返回值:

- one-hot编码的标签数据。返回一个二维数组,shape为 (len(y), num_classes)。

例子:

假设我们有一个包含5个样本的标签数组y,数组中的值的范围为0到2。我们可以使用np_utils.to_categorical()函数将其转换为one-hot编码。

import numpy as np
from keras.utils import np_utils

y = np.array([0, 1, 2, 1, 0])
one_hot_y = np_utils.to_categorical(y)

print(one_hot_y)

输出结果将会是:

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

在上面的例子中,原始的标签数组y包含了5个样本,并且值的范围是从0到2。通过调用np_utils.to_categorical(y),我们将标签数组转换为了one-hot编码。输出结果是一个二维数组,每一行代表一个样本的one-hot编码。在one-hot编码中,只有对应的标签类别的位置为1,其他位置为0。