Python中的keras.utils.to_categorical()

2025年1月5日 | 阅读 3 分钟

引言

在本教程中,我们将学习 Python 中的 keras.utils.to_categorical()。Keras 提供了 numpy 实用工具库,该库提供用于操作 numpy 数组的函数。使用 to_categorical() 方法,您可以将包含代表变量的数字的 numpy 数组(或)向量转换为包含多个行和等于数据中类别数量的二进制值的数字(或)矩阵。我们可以使用这些工具创建完全确定性且对应用程序用户有用的 Keras 服务。在使用 Keras utils to_categorical() 函数时,我们需要使用三个参数。我们可以使用 to_categorical() 函数创建向量,还可以使用报告和测试。Keras utils 的 to_categorical() 函数返回包含 0 或 1 格式二进制对象的输出。

解决分类变量的最简单方法是将变量从数据中减去。当我们的列不包含重要数据时,数据集提取也能正常工作。这个理论是有道理的,因为它对类别有一个无可争辩的排序。

每个分类变量都被排序以包含序数变量的影响。为了模型的独立性,我们可以接受不同的模型。对于独立模型,我们可以采用基于树的编码规则,其中变量是数字。to_categorical() 变量的独热编码会创建一个新列,指示值是否存在于原始数据中。在传统编码中,流行的编码不会获得明确的排名。所以我们可以这样同意进行旧工作。

语法

to_categorical() 函数的语法如下:

参数

要在我们的 Keras utils to_categorical() 程序中使用分类参数,请使用 tensorflow 模块,我们需要在系统中安装 tensorflow 模块。keras utils to_categorical() 的所有参数在开发代码时都很重要。to_categorical() 函数的参数如下:

  1. Y: 这是一个输入向量,包含代表数据中不同类的整数。它将定义组的总数。如果我们不考虑一个以上的类别,to_categorical() 函数将确定输入向量的最大值,并加 1 作为类别数。num_classes 是 keras 中 to_categorical() 函数必需的参数。如果我们不定义值,它将被调用为 max(y)+1。
  2. num_classes: 这里表示所有类。如果未指定,它将确定输入向量的最大值并加 1 来获得类别数。默认值为“None”。
  3. dtype: 这是显示值所需的所需数据类型。默认情况下,其值为“float32”。

返回值

to_categorical() 函数返回一个二进制值(“1”或“0”)的矩阵。行数等于输入向量的长度。同样,行数和列数等于类别数。

程序代码

现在,我们提供一个程序代码,使用 Python 中的 keras.utils.to_categorical() 来考虑一个包含 8 个组(值范围从 0 到 7(n-1))的输入向量。代码如下:

输出

现在,我们编译并运行上面的代码,并通过使用 keras.utils.to_categorical() 函数找到结果。输出如下:

The result is:
[[1 0 0 0 0 0 0]
 [0 0 0 0 1 0 0]
 [0 0 0 0 0 0 1]
 [0 1 0 0 0 0 0]
 [0 0 0 1 0 0 0]
 [0 0 0 0 0 1 0]
 [0 0 0 0 1 0 0]
 [0 0 1 0 0 0 0]
 [1 0 0 0 0 0 0]]

结论

在本教程中,我们将学习 Python 中的 keras.utils.to_categorical()。我们可以使用这些工具创建完全确定性且对应用程序用户有用的 Keras 程序。Keras.utils.to_categorical 提供了 numpy 实用工具库,该库提供用于操作 numpy 数组的函数。to_categorical() 函数用于将类别向量转换为二进制类别矩阵。