用于计算加权均方的numpy加权平均数

2024-06-16 10:33:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在计算回归问题的加权均方误差。我有你说的是真的,你预言过的,还有你的数字阵列。每个数组都是成形的(N,1),其中N是采样数。我不明白为什么下面两段代码给出了不同的答案:

第一代码段
import numpy as np
sq_error = (y_true-y_predicted)**2
wtd_sq_error = np.multiply(sq_error,y_wts)
wtd_mse = np.mean(wtd_sq_error)
第二个代码段取自sklearn metricsmean_squared_error function ^{pr2}$

我来测试这是因为tensorflow加权均方误差和sklearn度量均方误差(指定了权重列)之间的不匹配。请注意,当我不指定权重列时,不会发生这种不匹配。在

谢谢你的帮助!在


Tags: 答案代码import代码段npsq数字error
2条回答

因为你忘了重量:

np.mean = sum(error_i * weight_i ∀ i) / len(error_i ∀ i)

同时

^{pr2}$

您的第一个代码段的加权平均值公式错误,应该是:

wtd_mse = np.sum(sq_error * y_wts) / np.sum(y_wts)

而不是:

^{pr2}$

相关问题 更多 >