从训练集或测试集计算残差值

时间:2019-06-11 22:33:05

标签: python machine-learning linear-regression

我想执行残差分析,并且我知道残差等于观测值减去预测值。但是我不知道我应该从训练集还是测试集计算残差?

我应该使用这个:

import statsmodels.api as sm 
# Making predictions
lm = sm.OLS(y_train,X_train).fit()

y_pred = lm.predict(X_train)
resid = y_train - y_pred.to_frame('price')

或者这个:

import statsmodels.api as sm 
# Making predictions
lm = sm.OLS(y_train,X_train).fit()

y_pred = lm.predict(X_test)
resid = y_test- y_pred.to_frame('price')

1 个答案:

答案 0 :(得分:2)

应根据测试集y_test的实际值(预期结果)和拟合X_test的模型的预测值来计算残余误差。将模型拟合到训练集,然后在测试集上测试其准确性。这就是我直观地看到的样子,主要原因是首先将两个数据集正式称为train(用于训练),然后再称为测试(test)。

具体来说,使用第二种情况

resid = y_test- y_pred.to_frame('price')