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