我们要编程计算所选直线的平均平方误差(MSE), 即数据集中每个点到直线的Y方向距离的平方的平均数,表达式如下:
MSE=1n∑i=1n(yi−mxi−b)2
最初麻烦的写法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 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 太常用了
1
2
3
|
# 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)的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/chuan403082010/article/details/79410141