RMSE——Python 中的均方根误差

各位读者大家好。在本文中,我们将重点关注在 Python 中实现 RMSE(均方根误差)作为度量。那么,让我们开始吧!


Python 中什么是均方根误差 (RMSE)?

在深入研究 RMSE 的概念之前,让我们首先了解一下 Python 中的错误度量。

错误指标使我们能够通过各种指标来跟踪效率和准确性,如下所示 –

  • 均方误差(MSE)
  • 均方根误差(RMSE)
  • R方
  • 准确性
  • 马佩

均方误差是一种这样的误差指标,用于判断回归问题的任何机器学习算法的准确性和错误率。

因此,MSE是一种风险函数,可帮助我们确定特征或变量的预测值与实际值之间的平均平方差

RMSE 是Root Mean Square Error的缩写,它是从均方误差函数获得的值的平方根。

使用 RMSE,我们可以轻松绘制模型参数的估计值和实际值之间的差异

由此,我们可以清楚地判断模型的效率。

通常,对于中等或运行良好的算法来说,小于 180 的 RMSE 分数被认为是一个不错的分数。当RMSE值超过180时,我们需要对模型的参数进行特征选择和超参数调整。

现在让我们在下一节中重点讨论相同内容的实现。


NumPy 模块的均方根误差

让我们看看下面的公式——

均方根误差

因此,如上所示,均方根误差是变量/特征的估计值与实际值之间的平方差的平均值的平方根。

在下面的示例中,我们使用NumPy 模块的功能实现了 RMSE 的概念,如下所述 –

  • 使用函数计算估计值与实际值之间的差异numpy.subtract()
  • 进一步,使用函数计算上述结果的平方numpy.square()
  • 最后,使用函数计算平方值的平均值numpy.mean()输出是 MSE 分数。
  • 最后,使用math.sqrt()函数计算MSE的平方根,得到RMSE值。

例子:

import math
y_actual = [1,2,3,4,5]
y_predicted = [1.6,2.5,2.9,3,4.1]
 
MSE = np.square(np.subtract(y_actual,y_predicted)).mean()
 
RMSE = math.sqrt(MSE)
print("Root Mean Square Error:\n")
print(RMSE)

输出:

Root Mean Square Error:
 
0.6971370023173351

使用Python scikit 学习库的 RMSE

在此示例中,我们使用sklearn.metricsmean_square_error()库中的函数计算了 MSE 分数

进一步,通过MSE的平方根计算出RMSE分数,如下所示:

例子:

from sklearn.metrics import mean_squared_error
import math
y_actual = [1,2,3,4,5]
y_predicted = [1.6,2.5,2.9,3,4.1]
 
MSE = mean_squared_error(y_actual, y_predicted)
 
RMSE = math.sqrt(MSE)
print("Root Mean Square Error:\n")
print(RMSE)

输出:

Root Mean Square Error:
 
0.6971370023173351

结论

至此,我们这个话题就结束了。如果您遇到任何问题,请随时在下面发表评论。

有关更多与 Python 相关的此类帖子,请继续关注,直到那时,快乐学习!🙂