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

Keras中的to_categorical()函数详解及用法示例

发布时间:2023-12-17 09:32:44

在Keras中,to_categorical()函数被用于将整数型的类别标签转换为独热编码(One-Hot Encoding)格式。整数型的类别标签通常用于分类问题的标签,但在一些情况下,我们需要将这些整数型的标签转换为独热编码的格式进行处理。

该函数的语法如下:

to_categorical(y, num_classes=None)

参数说明:

- y:待转换的整数型的标签列表或数组。

- num_classes:标签的总类别数,默认为None。如果不指定该参数,则根据y中的类别数自动推断。

该函数将输入的整数型的标签列表或数组y转换为独热编码的格式,并返回一个二维数组。

下面是一个使用to_categorical()函数的示例:

from keras.utils import to_categorical

# 假设我们有一个包含6个样本的分类问题标签列表
labels = [0, 1, 2, 1, 3, 2]

# 将标签转换为独热编码
one_hot_labels = to_categorical(labels)

print(one_hot_labels)

输出结果为:

[[1, 0, 0, 0],
 [0, 1, 0, 0],
 [0, 0, 1, 0],
 [0, 1, 0, 0],
 [0, 0, 0, 1],
 [0, 0, 1, 0]]

在上述示例中,我们定义了一个包含6个样本的分类问题的标签列表labels,这些标签的取值范围为0到3。然后,我们使用to_categorical()函数将这些整数型的标签转换为独热编码的格式。输出结果为一个大小为6x4的二维数组,每行表示一个样本的独热编码。

需要注意的是,to_categorical()函数默认会根据标签列表中的类别数自动推断总共有多少个类别。在上述示例中,一共有4个类别,因此输出结果为大小为6x4的二维数组。如果标签列表中的类别数为3,那么输出结果的二维数组大小将为6x3。

这就是Keras中to_categorical()函数的详解及用法示例。该函数对于将整数型的标签转换为独热编码的格式非常有用,在处理分类问题时十分方便。