【问题标题】:How to find RMSE from two plotted chart with Python?如何使用 Python 从两个绘制的图表中找到 RMSE?
【发布时间】:2021-01-05 08:46:34
【问题描述】:

我正在从传感器获取坐标并将接收到的数据导出到 SQL 表的 2 列 (x,y) 中。我想将接收到的数据与理想数据进行比较并从中计算 RMSE。 例如,对于从 0 到 5 厘米的水平线,我在 SQL 表中接收并导出了大约 200 行 x , y ,显然我也可以在同一图中绘制理想线。 是否有任何解决方案可以从同一图中的两条绘制线获取 RMSE?或者我必须生成理想的数据并存储在表中然后比较它们? 问候

【问题讨论】:

  • 如果你有理想线和预测线的值,那么你可以使用RMSE with Python scikit learn library
  • 感谢您的回答,但正如我之前所说,我没有理想线的值。我的意思是我知道,例如,我的理想线是 0 到 5 厘米的水平线或具有特殊半径的垂直线或圆,但我没有表中的数据。 (对于 400 行,我必须将长度除以 400 并将它们中的每一个与计算量相加!)我可以为简单的轨迹计算它,但对于复杂的轨迹,我不知道它是否有效..

标签: python matplotlib machine-learning plot mse


【解决方案1】:

如果您在同一个表中有理想值,您可以通过 SQL 查询直接计算它。以下是实现这一点的 MySQL 查询,

select sqrt(avg(power(x - x_ideal, 2))) as RMSE_x,
       sqrt(avg(power(y - y_ideal, 2))) as RMSE_y
from table

如果你想在 python 中计算 RMSE,这样做;

from sklearn.metrics import mean_squared_error as mse
rmse = mse(x, x_ideal, squared=False)

squared 参数默认为 true,在这种情况下它返回 MSE 值。

【讨论】:

  • 感谢您的回答,但问题是我在同一张表中没有我的理想值。我可以使用 SQL 查询计算和生成它,但对于复杂的形状和轨迹,这将是一个挑战!所以我想知道是否可以从两个绘制的图表中计算 RMSE?
  • 我不明白为什么你的意思是两个绘制的图表,但我认为如果你可以通过 matplotlib 绘制它(如问题标签所建议的那样),那么你必须有一个理想值的 python 数组。在这种情况下,只需通过pip install sklearn 安装sklearn 并参考第二个代码块。
  • 我没有两个图表的数组。我有一个图表的方程式和开始/结束位置,我有另一个图表的数组。
  • 好吧,如果你有一个方程,你应该能够产生值,不是吗?并将它们存储在一个数组中?
  • 我已经这样做了。我想知道是否有其他解决方案..
猜你喜欢
  • 2018-02-24
  • 2021-10-19
  • 2020-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-13
  • 2016-03-29
相关资源
最近更新 更多