在 NumPy 中将索引数组转换为 One-Hot 编码数组
通常,有必要转换一维索引数组到一个 2D 数组中,其中每一行代表原始数组中相应索引的 one-hot 编码。
示例:
让我们有一个一维索引数组 ' a':
<code class="python">a = np.array([1, 0, 3])</code>
我们的目标是创建一个二维数组 'b',其中每一行都是 'a' 中相应索引的 one-hot 编码:
<code class="python">b = np.array([[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1]])</code>
解决方案:
要实现此转换,我们可以利用以下步骤:
<code class="python">b = np.zeros((a.size, a.max() + 1))</code>
<code class="python">b[np.arange(a.size), a] = 1</code>
输出:
执行此代码会生成所需的单热编码数组 'b':
<code class="python">[[ 0. 1. 0. 0.] [ 1. 0. 0. 0.] [ 0. 0. 0. 1.]]</code>
以上是如何在 NumPy 中将索引数组转换为 One-Hot 编码数组?的详细内容。更多信息请关注PHP中文网其他相关文章!