python中函数的均方根

新手上路,请多包涵

我想用 Python 计算函数的均方根。我的函数是一个简单的形式,如 y = f(x)。 x 和 y 是数组。

我尝试了 Numpy 和 Scipy Docs ,但找不到任何东西。

原文由 user4179448 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
2 个回答

我假设您想计算以下伪代码给出的表达式:

 ms = 0
for i = 1 ... N
    ms = ms + y[i]^2
ms = ms / N
rms = sqrt(ms)

y 元素的平方值的均值的平方根。

在 numpy 中,您可以简单地平方 y ,取其 平均值,然后取其 平方根,如下所示:

 rms = np.sqrt(np.mean(y**2))

所以,例如:

 >>> y = np.array([0, 0, 1, 1, 0, 1, 0, 1, 1, 1])  # Six 1's
>>> y.size
10
>>> np.mean(y**2)
0.59999999999999998
>>> np.sqrt(np.mean(y**2))
0.7745966692414834

如果您想问其他问题,请务必澄清您的问题。

原文由 Praveen 发布,翻译遵循 CC BY-SA 3.0 许可协议

你可以使用 sklearn 函数

from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(y_actual,[0 for _ in y_actual], squared=False)

原文由 Peter Cotton 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏