如何在 NumPy 中将索引数组转换为 One-Hot 编码数组?

Patricia Arquette
发布: 2024-11-01 03:08:01
原创
555 人浏览过

How to Convert Index Arrays to One-Hot Encoded Arrays in NumPy?

NumPy 中的 One-Hot 编码索引数组

在 NumPy 中,将一维索引数组转换为 one-hot 编码的二维数组是一项共同的任务。例如,给定索引为 [1, 0, 3] 的数组 a,我们希望将其编码为:

b = [[0,1,0,0], [1,0,0,0], [0,0,0,1]]
登录后复制

要实现此目的,有两个关键步骤:

  1. 创建一个归零数组: 创建一个具有足够列(即 a.max() 1)的 2D 数组 b 来容纳 one-hot 编码值。数组应该用零初始化。
  2. 将适当的值设置为 1: 对于 b 中的每一行 i,将第 a[i] 列设置为 1。这表明原始索引a[i] 出现在 one-hot 编码数组中的位置 i 处。

这是一个代码示例来说明:

<code class="python">import numpy as np

a = np.array([1, 0, 3])
b = np.zeros((a.size, a.max() + 1))
b[np.arange(a.size), a] = 1

print(b)</code>
登录后复制

输出:

[[0. 1. 0. 0.]
 [1. 0. 0. 0.]
 [0. 0. 0. 1.]]
登录后复制

此方法有效地将索引数组转换为 one-hot 编码数组,其中每一行代表 a 中相应索引的 one-hot 编码值。

以上是如何在 NumPy 中将索引数组转换为 One-Hot 编码数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!