【发布时间】:2016-02-06 21:08:12
【问题描述】:
我正在使用sklearn 将线性回归模型拟合到某些数据。特别是,我的响应变量存储在数组y 中,我的特征存储在矩阵X 中。
我用以下代码训练了一个线性回归模型
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X,y)
一切似乎都很好。
然后假设我有一些新数据X_new,我想预测它们的响应变量。这可以通过以下方式轻松完成
predictions = model.predict(X_new)
我的问题是,与此预测相关的错误是什么? 根据我的理解,我应该计算模型的均方误差:
from sklearn.metrics import mean_squared_error
model_mse = mean_squared_error(model.predict(X),y)
基本上我对新数据的真实预测应该是一个从高斯分布计算的随机数,平均值为predictions 和 sigma^2 = model_mse。您是否同意这一点,您是否知道sklearn 中是否有更快的方法?
【问题讨论】:
-
我不同意。你不同意真正的预测是
predictions自己吗?该模型的性能是通过比较在X_new上做出的预测与其对应的已知目标y_new进行比较来计算的。 -
注:您还可以通过运行
model.score(X_new, y_new)来计算 R 平方分数。 -
我同意你的观点,我确实计算了 R 平方分数来选择我最好的模型。问题是,一旦你提出了最好的线性模型,你就必须将错误与你的预测联系起来。
-
啊,我明白你的意思了
标签: python scikit-learn regression