将一组概率调整为二进制数组

时间:2018-05-19 08:26:59

标签: python numpy scipy softmax

我正在尝试将总和为1.0的NumPy概率数组转换为二进制数组。基本上,我想将数组中的最大概率转为1,其余为0。当然,我知道如何使用Python来做到这一点,但我希望NumPy或SciPy已经提出了一个内置函数来使操作更高效(我们谈论的是包含数百万个这样的数组的矩阵)。 / p>

1 个答案:

答案 0 :(得分:1)

比较具有最大值的项目,并转换为int

>>> a=np.array([0.435,0.24,0.241,0.13,0.56])

>>> np.int8( a == a.max() )
array([0, 0, 0, 0, 1], dtype=int8)