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

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

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

我对此很新,所以欢迎建议。

#GENERALISED LINEAR MODELLR_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代码来实现。假设有一些虚拟数据:

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

均方误差(MSE)简单地为

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

平均绝对误差(MAE)

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

并且均方根误差(RMSE)简单地是MSE的平方根,即:

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

后两种测量方法的额外优势在于它们与原始数据的尺度相同(MSE的情况则不然)。

Related Posts

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注