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