在数值响应变量的情况下,如何计算样本外错误?

问题描述 投票:0回答:1

我试图从波士顿数据集预测“medv”(中位所有者拥有的房价)。这是一个数字变量。

我从训练数据集中创建了一个线性模型,并希望通过测试数据集来计算模型精度。以下是可重现的代码:

library("MASS")
Boston<-Boston

set.seed(12396911) # set random seed
index <- sample(1:nrow(Boston), floor(0.8 * nrow(Boston)), replace = FALSE)
training <- Boston[index,]
testing<- Boston[-index,]

fin_model<-lm(medv ~ lstat + rm + ptratio + black + dis + nox + zn + chas + rad + tax + crim, data = training)
prediction<-predict(fin_model,testing)


tab<-data.frame(cbind(prediction,testing$medv))
colnames(tab)<-c("pred","true")
mse<-sum((tab$pred - tab$true)^2)/(length(tab)-1)
mse

我有一个关于如何在预测分类响应时计算准确性的想法(它将真实值与预测值进行比较,因此它是“是”或“否”,匹配的比例是我们的准确度)。

我在想correlation是否有意义作为准确度的衡量标准:如果1是100%准确,如果它是0,则预测是无用的。但我不确定。

cor(tab$pred,tab$true)
# 0.8522107
r linear-regression
1个回答
0
投票

caret包中可用,postResample(prediction, actual),其中预测和实际都是数字或因子向量将为您提供RMSE,Rsquared和MAE

© www.soinside.com 2019 - 2024. All rights reserved.