我们要编程计算所选直线的平均平方误差(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)的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。