要将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小时内删除。
发表评论