Python计算平均平方误差(MSE)的两种实现方式对比
本文介绍如何在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)的实例分享完毕,希望能为读者提供参考,并欢迎大家继续支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









