【发布时间】:2020-03-11 07:10:49
【问题描述】:
我正在尝试绘制数据的均方误差,但我很难弄清楚如何去做。我知道您需要“真实”值和“预测”值才能获得 mse,但我的项目布局方式相当混乱。
我有一种方法可以生成这样的模型:
def fit_curve(X, y, degree):
poly_features = PolynomialFeatures(degree = degree)
x_poly = poly_features.fit_transform(X)
linreg = LinearRegression()
model = linreg.fit(x_poly, y)
return model
这会返回一个已经训练好的模型。
然后,我应该找到所述模型的均方误差。我不确定我应该怎么做,因为模型已经过训练而没有返回预测值。 现在我计算mse的方法是:
def mse(X, y, degree, model):
poly_features = PolynomialFeatures(degree = degree)
linreg = LinearRegression()
x_poly = poly_features.fit_transform(X)
linreg.fit(x_poly, y)
y_predict = linreg.predict(x_poly)
mse = mean_squared_error(y_predict, y)
return mse
我觉得与fit_curve 相比,我在mse 中使用的很多代码都非常多余。不幸的是,指导方针说这是我需要这样做的方式(mse 采用 X、y、degree 和 model。
我认为还值得注意的是,我当前的 mse 工作正常,直到大约 13-14 度,它在图表上生成的答案与我给出的解决方案不匹配。我不确定为什么它不能完美运行,因为我认为这是正确的想法。
【问题讨论】:
标签: python python-3.x machine-learning mse mean-square-error