如何验证广义线性回归模型的性能

时间:2019-07-25 18:08:01

标签: r machine-learning regression linear-regression glm

我正在尝试验证具有连续输出的广义线性模型的性能。通过研究,我发现验证连续模型性能的最有效方法是利用rsquared,调整后的rsquared和RMSE方法(如果我错了请纠正我)而不是使用混淆矩阵法(准确性,精度,f1等) 。)用于二项式模型。

如何根据实际值与预测值找到模型的平方值。下面是我的glm模型的代码,数据已分为训练和测试。

对此非常陌生,因此欢迎您提出建议。

#GENERALISED LINEAR MODEL
LR_swim <- glm(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)

#Predict Race_Time 
pred_LR <- predict(LR_swim, SwimmingTest, type ="response")
pred_LR

1 个答案:

答案 0 :(得分:0)

可以使用简单的R代码行来实现这种性能度量。因此,对于一些虚拟数据:

preds <- c(1.0, 2.0, 9.5)
actuals <- c(0.9, 2.1, 10.0)

mean squared error (MSE)很简单

mean((preds-actuals)^2)
# [1] 0.09

mean absolute error (MAE)

mean(abs(preds-actuals))
# [1] 0.2333333

root mean squared error (RMSE)只是MSE的平方根,即:

sqrt(mean((preds-actuals)^2))
# [1] 0.3

最后两个度量的另一个优势是与原始数据的规模相同(MSE并非如此)。