要将NumPy数组转换为one-hot编码,您可以使用NumPy的eye()函数创建一个单位矩阵,然后使用dot()函数将原数组与单位矩阵相乘。以下是一个示例代码:
       
       
         
import numpy as np
# 定义一个NumPy数组
arr = np.array(['cat', 'dog', 'cat', 'bird'])
# 创建单位矩阵字符串转数组编码方式
one_hot_encoder = np.eye(len(np.unique(arr)))
# 将原数组转换为one-hot编码
one_hot_arr = one_hot_encoder.dot(arr)
print(one_hot_arr)
       
输出结果应该类似于:
       
       
         
[[1. 0. 0.]
[0. 1. 0.]
[1. 0. 0.]
[0. 0. 1.]]
       
在上面的示例中,我们首先定义了一个包含一些字符串的NumPy数组。然后,我们使用np.eye()函数创建了一个单位矩阵,其中len(np.unique(arr))是唯一元素的数量。最后,我们使用dot()函数将原数组与单位矩阵相乘,得到一个包含one-hot编码的NumPy数组。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。