python計算平均二乗誤差(MSE)の例


選択した直線の平均二乗誤差(MSE)をプログラミングして計算します。つまりデータセットの各点から直線のY方向距離までの二乗の平均数です。式は以下の通りです。
MSE=1 nΣi=1 n(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)を計算した例は、小編集が皆さんに提供した内容の全てです。参考にしていただければと思います。よろしくお願いします。