【问题标题】:Tunring an array of probabilities, into a binary array将概率数组转换为二进制数组
【发布时间】:2018-05-19 08:26:59
【问题描述】:

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

【问题讨论】:

  • 显示你的python代码?
  • 请提供一个小例子来说明。

标签: python numpy scipy softmax


【解决方案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)

【讨论】:

    猜你喜欢
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 2013-11-05
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 2016-07-08
    相关资源
    最近更新 更多