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



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

将项目与最大值进行比较,并转换为 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)

最新更新