我正在努力预测" 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
答案 0 :(得分:0)
在caret
软件包postResample(prediction, actual)
中,其中预测和实际都是数值或因子向量,这将为您提供RMSE,Rsquared和MAE