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

Python中to_categorical()函数的用法详解

发布时间:2024-01-02 00:26:12

to_categorical()函数是Keras库中的一个函数,用于将整数标签转换为分类变量的独热编码形式。

函数定义:

to_categorical(y, num_classes=None, dtype='float32')

参数说明:

- y:输入的整数标签数组。

- num_classes:输出独热编码形式的分类变量的类别数。如果不指定该参数,则函数会自动根据输入数组的最大值确定类别数。

- dtype:输出独热编码形式的分类变量的数据类型。

返回值:

一个形状为(num_samples, num_classes)的独热编码数组。num_samples是参数y的长度,num_classes是参数num_classes的值。

下面给出一个使用例子:

from keras.utils import to_categorical

y = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 将整数标签转换为独热编码形式
y_one_hot = to_categorical(y, num_classes=11)

print(y_one_hot)

输出结果:

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

本例中,原始的整数标签数组为y = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]。通过to_categorical()函数将其转换为独热编码形式的数组y_one_hot。因为指定了num_classes为11,所以输出的独热编码数组的形状为(10, 11)。