我使用我的训练数据集构建了一个回归模型,我想使用这个模型来获取我的测试数据集中的预测值。因此,我可以将预测值与测试数据集中的实际值进行比较,并找出它们之间的差异。但是,我不知道如何在不使用for循环的情况下将测试数据集中的值插入到模型中。
这是我的回归模型:
lm.HOSPITAL <- lm(train_HOSPITAL$dailyQty ~ train_HOSPITAL$DC_STATE + train_HOSPITAL$TYPE_340B_CDE_DESC + train_HOSPITAL$geoState + train_HOSPITAL$IsFriSat)
答案 0 :(得分:0)
首先预测您的火车或测试数据的响应 - 取决于您想要查看实际与预测(火车或测试数据)的差异的数据文件?
predict_train = predict(lm.HOSPITAL,newdata = train_HoSPITAL)
然后减去两个: 差异=预测 - train_HOSPITAL $ dailyQty
您也可以这样做,以查看测试数据的预测差异。
答案 1 :(得分:0)
您将面临的问题是原始模型中没有data
参数。因此,没有框架来评估&#34; newdata&#34; predict
中的论点。 (谁教你在$
- 公式中使用lm
?)。相反,以这种方式运行模型:
lm.HOSPITAL <- lm( dailyQty ~ DC_STATE + TYPE_340B_CDE_DESC + geoState + IsFriSat, data=train_HOSPITAL)
然后使用newdata
- 数据框使用predict
在这些变量的级别上获得所需的响应:
predict( lm.HOSPITAL , newdata= data.frame( DC_STATE= # values
, TYPE_340B_CDE_DESC= # values
, geoState= #values
, IsFriSat= #values
) )
或者,如果您已经拥有&#34; test_data&#34; -dataframe,那么只需:
predict( lm.HOSPITAL , newdata= test_data)