【发布时间】:2016-12-28 03:04:56
【问题描述】:
我正在尝试制作一个函数,该函数将不使用 sklearn 或其他实现从 y(真实值)和 y_pred(预测值)计算均方误差。
接下来我试试:
def mserror(y, y_pred):
i=0
for i in range (len(y)):
i+=1
mse = ((y - y_pred) ** 2).mean(y)
return mse
能否请您纠正我在计算中做错了什么以及可以解决谁?
【问题讨论】:
-
i+=1在我看来是错误的,因为您已经有一个带有i的迭代器。 -
您也在循环内部返回,因此您只执行一次迭代并返回。您总是要在每次迭代中替换
mse的值。另外,我不知道你想用i做什么。您将其初始化为 0,然后将其递增,但随后您在for循环中使用i作为迭代器。仔细修改你的代码。
标签: python numpy scikit-learn