【问题标题】:How to validate performance of generalized linear regression model如何验证广义线性回归模型的性能
【发布时间】:2019-07-25 18:08:01
【问题描述】:

我正在尝试验证具有连续输出的广义线性模型的性能。通过研究,我发现验证连续模型性能的最有效方法是使用 rsquared、adjusted 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

【问题讨论】:

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


    【解决方案1】:

    这样的性能指标可以用一行简单的 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 不是这种情况)。

    【讨论】:

    • 欢迎来到 SO;如果答案解决了您的问题,请接受(见What should I do when someone answers my question?) - 谢谢
    • 感谢您的回答 - 这行得通。我只是想确认您所说的“最后两项措施具有与原始数据相同规模的额外优势(MSE 不是这种情况)。”
    • @KateEnglish 最后两个数字(0.23333 和 0.3)可以“直观地”与您的数据进行比较; MSE(这里是 0.09)不能 - 它来自 squared 差异,并且没有任何平方根可以“抵消”它
    猜你喜欢
    • 1970-01-01
    • 2014-07-17
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 2015-04-06
    • 2020-08-09
    • 2018-09-06
    相关资源
    最近更新 更多