【发布时间】:2019-12-04 16:08:13
【问题描述】:
我已将我的模型与我的训练数据进行了拟合,并使用 r 平方测试了模型的准确性。
但是,我想用我的测试数据来测试模型的准确性,该怎么做呢?
我的预测值是连续的。对此非常陌生,因此愿意接受建议。
LR_swim <- lm(racetime_mins ~ event_month +gender + place +
clocktime_mins +handicap_mins +
Wind_Speed_knots+
Air_Temp_Celsius +Water_Temp_Celsius +Wave_Height_m,
data = SwimmingTrain)
family=gaussian(link = "identity")
summary(LR_swim)
rsq(LR_swim) #Returns- 0.9722331
#Predict Race_Time Using Test Data
pred_LR <- predict(LR_swim, SwimmingTest, type ="response")
#Add predicted Race_Times back into the test dataset.
SwimmingTest$Pred_RaceTime <- pred_LR
【问题讨论】:
-
准确率是分类变量建模时的一个指标。因此,如果您在使用线性回归时将模型中的非分类变量作为因变量,则 R^2 是正确的度量。它只不过是解释的平方和与总平方比之比。它为您提供在 OLS 假设下的数据拟合性能。
-
一个直观的度量标准是Nash-Sutcliffe coefficient,虽然在环境科学之外可能并不常见。从本质上讲,它衡量您的模型预测观察结果的程度,并且与 R² 密切相关。它在
topmodel包中实现为NSEff。您传递您的观察和预测,该函数返回区间 (-∞,1] 中的值,其中 1 表示完美预测。 -
但从广义上讲,您似乎对cross validation 感兴趣。
-
@maydin 感谢您的回复,您知道如何将此方法应用于我在 r 中的测试集吗? IE。如何在我的代码中为“pred_LR”运行 rsquared
-
@Lyngbakr 感谢您的回复,我也会调查一下。
标签: r machine-learning linear-regression test-data