【问题标题】:Calculate matrix column mean计算矩阵列均值
【发布时间】:2017-08-21 10:37:20
【问题描述】:

我有这个矩阵:

      [[[ 0.49757494  0.50242506]
      [ 0.50340754  0.49659246]
      [ 0.50785456  0.49214544]
         ..., 
      [ 0.50817149  0.49182851]
      [ 0.50658656  0.49341344]
      [ 0.49419885  0.50580115]]

      [[ 0.117       0.883     ]
      [ 0.604       0.396     ]
      [ 1.          0.        ]
         ..., 
      [ 0.98559675  0.01440325]
      [ 0.948       0.052     ]
      [ 0.012       0.988     ]]

      [[ 0.21099179  0.78900821]
      [ 0.75212493  0.24787507]
      [ 0.96653919  0.03346081]
           ..., 
      [ 0.97485074  0.02514926]
      [ 0.95051503  0.04948497]
      [ 0.05409603  0.94590397]]]

如果权重是 w1,w2,w3,我如何计算每个矩阵的第一列和第二列的平均值(3 x 2)?所以我可以得到:

      [[[(X1        Y1]
        ...,
      [X2           Y2]
      [[X3          Y3]
        ...,

提前致谢。

编辑:输入形状是 (3, 37375, 2),我想用 (3,2) 代替 (1,2)。我想得到每列的平均值,例如:

   (0.497*w1 + 0.503*w2 + 0.507*w3)/ (w1 + w2 + w3)     <--- First column

【问题讨论】:

  • .shape 是输入,您希望输出是什么 .shape
  • 我确实编辑过请检查
  • 您想要(1,1) 还是(1,2)?如果(1,1)第二轴怎么凝聚?此外,您的加权因子似乎在长轴上起作用,而不是在您的示例中使用 3 轴。你确定你不是指(0.497*w1 + 0.117*w2 + 0.211*w3)/ (w1 + w2 + w3)
  • 哦,对不起(1,2)
  • 我不确定您输入的形状是否允许您做您想做的事情。编辑中“第一列”的数字属于长度为 37375 的轴。比较 np.arange(3*5*2).reshape((3,5,2)) 的输出,它创建了一个形状为 (3,5,2) 的数组(将 5 作为您的 37375)。我不清楚每个轴应该包含什么信息。

标签: python python-3.x numpy machine-learning


【解决方案1】:

假设您的输入形状是(3,n,2),并且您希望形状是(n,3,2),您首先要这样做

in=in.reshape((-1,3,2))

如果你有一个权重向量w

w = np.random.rand(3)

然后您可以使用np.average 对第一个轴进行加权平均(产生(n,2)

out1 = np.average(in, weights = w, axis = 1)

或者你可以做一个加权求和

out1 = np.sum(t*w[None,:, None], axis = 1) / np.sum(w)

【讨论】:

  • 你可以使用np.average而不是使用np.mean,它允许指定weights参数(documentation
  • 您的答案似乎有效,但我认为它计算了所有 n 次观察的平均值,我希望有 (1,2) 的 n 个矩阵
  • 所以你想要(n,2)的输出形状?
  • [ 0.49757494 0.50242506] [ 0.50340754 0.49659246] [ 0.50785456 0.49214544] 这是第一个矩阵
  • 我是从上面的示例中提取的,所以如果我理解你的话,是的,它是 (n,2)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-21
  • 2014-03-15
  • 1970-01-01
  • 2013-01-04
  • 1970-01-01
  • 2017-11-03
  • 2020-05-23
相关资源
最近更新 更多