【问题标题】:Finding which array contributes the maximum value for classification找出哪个数组为分类贡献了最大值
【发布时间】:2017-06-12 06:36:47
【问题描述】:

给定 2 个 2x2 Numpy 数组,每个元素的值介于 0 和 1 之间,我想找到 2 个数组中具有最大值的一个数组,然后逐个元素进行比较。例如,给定:

A = [[.6 .2] [.3 .4]]B = [[.4 .5] [.7 .1]],我想要类似的东西:[[A B] [A B]] 回来。理想情况下,输出将是某个数字[[1 2] [1 2]],其中 1 代表 A,2 代表 B。这样,如果我比较 10 个数组,输出将有一个介于 1 和 10 之间的整数作为每个元素,这可以很容易地绘制在 pcolor 图中。

如果我简单地将这些数组组合成一个 2x2x2 并执行 np.amax(combined_array, axis=0),我会得到最大值,但不知道它来自哪个数组。

所有这些的目的是每个数组代表一个类别并包含该类别发生的概率。我想知道每个元素位置 [0][0]、[0][1]、[1][0] 和 [1][1],哪个类别最有可能出现在该位置。

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    如果您有一个由 10 个 2x2 矩阵组成的组合数组,例如由

    随机生成的矩阵
    a = numpy.random.randn(10, 2, 2)
    

    您可以通过

    获得所需的索引
    a.argmax(axis=0)
    

    【讨论】:

      猜你喜欢
      • 2020-09-15
      • 1970-01-01
      • 2014-01-30
      • 2013-12-14
      • 1970-01-01
      • 2010-11-04
      • 2011-05-26
      • 1970-01-01
      • 2015-11-07
      相关资源
      最近更新 更多