gpt4 book ai didi

python - 寻找一个 numpy 模式向量

转载 作者:太空宇宙 更新时间:2023-11-04 00:30:12 24 4
gpt4 key购买 nike

我有一个单热向量的 numpy 数组。我想找到这些单热向量的模式。请注意,这不等同于查找值的众数。

例如对于

x = [[0,0,0,1],
[0,0,0,1],
[0,0,1,0],
[0,1,0,0],
[1,0,0,0]]

assert vector_mode(x) == [0,0,0,1]
assert scipy.stats.mode(x) == [0,0,0,0]

使用 numpy/scipy 最有效的方法是什么?

最佳答案

我们正在处理 one-hot 向量作为 2D 输入数组的行。因此,每一行的 argmax 对于每个单热向量都是唯一的。得到那些。然后,得到他们的计数。具有最大 argmax 计数的任何行都将是所需的模式行输出。让我们选择第一个再使用 argmax 的那些,最后索引到 2D 输入。

因此,一种实现方式——

idx = np.argmax(x,1)
count = np.bincount(idx)
out = x[(idx==count.argmax()).argmax()]

关于python - 寻找一个 numpy 模式向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46102752/

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