gpt4 book ai didi

python - 这种一次性矢量转换是如何工作的?

转载 作者:太空狗 更新时间:2023-10-29 23:57:16 29 4
gpt4 key购买 nike

当我从事我的机器学习项目时,我一直在寻找一行代码来将我的标签转换为单热向量。我在 Reddit 上从 u/benanne 看到了这行漂亮的代码。

np.eye(n_labels)[target_vector]

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

np.eye(5)[target_vector]
Out:
array([[ 0., 1., 0., 0., 0.],
[ 0., 0., 0., 0., 1.],
[ 0., 0., 1., 0., 0.],
...,
[ 0., 1., 0., 0., 0.],
[ 0., 0., 0., 1., 0.],
[ 0., 0., 1., 0., 0.]])

虽然它确实有效,但我不确定它如何或为何有效。

最佳答案

这很简单。 np.eye(n_labels) 创建一个大小为 n_labels 的单位矩阵,然后使用 target_vector 选择与当前值相对应的行目标,来自那个矩阵。由于单位矩阵中的每一行仅包含一个 1 元素和其余的 0,因此每一行都是有效的“one hot coding”。

关于python - 这种一次性矢量转换是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45068853/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com