python 计算平均平方误差(MSE)的实例

yipeiwu_com6年前Python基础

我们要编程计算所选直线的平均平方误差(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)的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python3.6简单的操作Mysql数据库的三个实例

安装pymysql 参考:https://github.com/PyMySQL/PyMySQL/ pip install pymsql 实例一 import pymysql # 创建...

python 实现求解字符串集的最长公共前缀方法

问题比较简单,给定一个字符串集合求解其中最长的公共前缀即可,这样的问题有点类似于最长公共子序列的问题,但是比求解最长最长公共子序列简单很多,因为是公共前缀,这样的话只需要挨个遍历即可,只...

python计算程序开始到程序结束的运行时间和程序运行的CPU时间

执行时间 方法1复制代码 代码如下:import datetimestarttime = datetime.datetime.now()#long runningendtime = da...

解决Django数据库makemigrations有变化但是migrate时未变动问题

解决Django数据库makemigrations有变化但是migrate时未变动问题

写models.py时缺少了一个 verbose_name,导致数据库出现问题,整了很久,摸索出重新建立数据库的方法: 首先删除每个app中的migrations中的除了init.py的...

python画折线图的程序

python画折线图的程序

前做PPT要用到折线图,嫌弃EXCEL自带的看上去不好看,就用python写了一个画折线图的程序。 import matplotlib.pyplot as plt x=[1,2,3...