Python中的均方误差

Kei*_*thx 6 python numpy scikit-learn

我正在尝试制作函数来计算y(真值)和y_pred(预测值)的均方误差,而不是使用sklearn或其他实现.

我接下来会尝试:

def mserror(y, y_pred):
    i=0
    for i in range (len(y)):
        i+=1
        mse = ((y - y_pred) ** 2).mean(y)   
        return mse
Run Code Online (Sandbox Code Playgroud)

能否请您纠正我在计算中出错的原因以及可以修复的问题?

per*_*sse 12

您无缘无故地修改索引.for循环无论如何都会增加它.此外,您没有使用索引,例如,您没有使用任何索引y[i] - y_pred[i],因此您根本不需要循环.

使用数组

mse = np.mean((y - y_pred)**2)
Run Code Online (Sandbox Code Playgroud)