我们要编程计算所选直线的平均平方误差(MSE), 即数据集中每个点到直线的Y方向距离的平方的平均数,表达式如下:
MSE=1n∑i=1n(yi−mxi−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 太常用了
# 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)的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章:python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算Python 实现输入任意多个数,并计算其平均值的例子python 随机森林算法及其优化详解Python 计算任意两向量之间的夹角方法Python Numpy计算各类距离的方法Python秒算24点实现及原理详解