各位读者大家好。在本文中,我们将重点关注在 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 相关的此类帖子,请继续关注,直到那时,快乐学习!🙂