计算矩阵列均值

我有这样一个矩阵:

      [[[ 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×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)     <--- 第一列

回答:

假设你的输入形状是(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)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注