NumPy 中索引数组的 One-Hot 编码
给定一个索引数组,将其转换为 One-hot 编码数组可以是适用于各种机器学习应用的有用技术。 One-hot 编码将每个索引表示为一个二进制向量,其中索引对应的元素为 1,所有其他元素为 0。这种技术在处理分类数据或索引作为特征值的情况下特别有价值。
为了在 NumPy 中实现 one-hot 编码,我们遵循一个简单的过程:
考虑提供的示例:
<code class="python">a = np.array([1, 0, 3]) b = np.zeros((a.size, a.max() + 1)) b[np.arange(a.size), a] = 1</code>
在此示例中,索引数组 a 的值范围为 0 到 3,因此我们创建一个包含 4 列的零填充数组 b。然后,我们使用 np.arange() 函数生成 b 的行索引数组,并根据 a 中的值将相应的列设置为 1。
生成的数组 b 现在是一个单热编码的原始索引数组 a 的表示:
array([[ 0., 1., 0., 0.], [ 1., 0., 0., 0.], [ 0., 0., 0., 1.]])
这个单热编码数组保留了索引值的分类性质,并允许在机器学习算法中进行高效处理。
以上是如何在 NumPy 中对索引数组进行 One-Hot 编码?的详细内容。更多信息请关注PHP中文网其他相关文章!