Python计算平均平方误差(MSE)的两种实现方式对比

橘子海
橘子海
发布时间:2026-10-13 | 3人浏览过
原创

本文介绍如何在Python中计算平均平方误差(MSE),即数据点到拟合直线Y方向距离平方的平均值。首先展示基于循环的基础实现方法,随后通过zip函数优化代码,使实现更加简洁高效。

MSE定义与公式

我们需要编写程序来计算选定直线的平均平方误差(MSE)。MSE定义为数据集中每个点到该直线在Y轴方向距离的平方的平均值,其数学表达式如下:

MSE=1/n * Σ(yi - m*xi - b)^2

以下是最初较为繁琐的实现方式:

基础实现方法


# TODO 实现以下函数并输出所选直线的MSE
def calculateMSE(X,Y,m,b):
  in_bracket = []
  for i in range(len(X)):
    num = Y[i] - m*X[i] - b
    num = pow(num,2)
    in_bracket.append(num)
    
  all_sum = sum(in_bracket)
  MSE = all_sum / len(X)
 
  return MSE
 
print(calculateMSE(X,Y,m1,b1))

经过优化后,利用常用的zip函数可以简化代码:

基于zip的优化实现


# TODO 实现以下函数并输出所选直线的MSE
def calculateMSE(X,Y,m,b): 
  return sum([(y-m*x -b)**2 for x,y in zip(X,Y)])/len(X)

以上关于Python计算平均平方误差(MSE)的实例分享完毕,希望能为读者提供参考,并欢迎大家继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表