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)。
