这个onehot向量转换是如何工作的?

2024-09-29 21:35:29 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在我的机器学习项目中工作时,我正在寻找一行代码来将我的标签变成一个热点向量。我在Reddit上看到了u/benanne的这段漂亮的代码。在

np.eye(n_labels)[target_vector]

例如,对于target_vector = np.array([1, 4, 2, 1, 0, 1, 3, 2]),它返回一个热编码值:

^{pr2}$

虽然它确实有效,但我不知道它是如何工作的,为什么会这样。在


Tags: 项目代码机器target编码labelsnp标签
2条回答

ndarray[[0]]将选择ndarray中的第一行

t = np.arange(9).reshape(3,3)
print t
print t[[1]]

输出是

^{pr2}$

很简单。np.eye(n_labels)创建一个n_labels大小的标识矩阵,然后使用target_vector从该矩阵中选择与当前目标值相对应的行。由于单位矩阵中的每一行都只包含一个1元素和其余的0,所以每一行都是有效的“一个热编码”。在

相关问题 更多 >

    热门问题