Yi=[1,2,3,4,5,6]
Yi_hat=[1.2,2.1,2.9,4.3,5,6.5]
n=[1,2,3,4,5,6]
z=0
for i in n:
z+=((Yi[i]-Yi_hat[i])**2)
MSE=1/len(n)*(z)
答案 0 :(得分:0)
在Python中,索引从0开始。 因此,包含6个元素的list的索引为6,因为for循环获取n [5]。 带有列表:
n=[0,1,2,3,4,5]
应该可以。
Yi = [1, 2, 3, 4, 5, 6]
Yi_hat = [1.2, 2.1, 2.9, 4.3, 5, 6.5]
n = [0, 1, 2, 3, 4, 5]
z = 0
for i in n:
z += (Yi[i] - Yi_hat[i]) ** 2
MSE= 1. / len(n) * z
注1: 1。,这意味着将1视为浮点数,因此您将在Python中获得所需的浮点数结果。
注释2:
我更愿意使用:
for i in range(len(Yi)):
而不是n。
Yi = [1, 2, 3, 4, 5, 6]
Yi_hat = [1.2, 2.1, 2.9, 4.3, 5, 6.5]
z = 0
for i in range(len(Yi)):
z += (Yi[i] - Yi_hat[i]) ** 2
MSE= 1. / len(Yi) * z
还有另一种循环方式:
Yis = [1, 2, 3, 4, 5, 6]
Yi_hats = [1.2, 2.1, 2.9, 4.3, 5, 6.5]
z = 0
for Yi, Yi_hat in zip(Yis, Yi_hats):
z += (Yi - Yi_hat) ** 2
MSE= 1. / len(Yis) * z
答案 1 :(得分:0)
您也可以使用numpy
import numpy as np
(1/float(len(Yi)))*sum(np.square(np.array(Yi) - np.array(Yi_hat)))