R 如何使用线性回归训练预测因子并报告遗漏交叉验证的MAPE?

R 如何使用线性回归训练预测因子并报告遗漏交叉验证的MAPE?,r,R,我有一个名为auto的数据集,有1436行。我应该使用线性回归来训练模型,并报告遗漏交叉验证的MAPE。我编写了下面的代码并运行了它,但结果是NaN。谁能帮我弄清楚我该怎么办?非常感谢 library(MLmetrics) # train a predictor using linear regression and report the MAPE of leave-one-out cross-validation set.seed(1234) nFold=nrow(auto) valNum &

我有一个名为auto的数据集,有1436行。我应该使用线性回归来训练模型,并报告遗漏交叉验证的MAPE。我编写了下面的代码并运行了它,但结果是NaN。谁能帮我弄清楚我该怎么办?非常感谢

library(MLmetrics)
# train a predictor using linear regression and report the MAPE of leave-one-out cross-validation
set.seed(1234)
nFold=nrow(auto)
valNum <- floor(runif(nrow(auto))*nFold)

getAutoMAPE <- function(modelCall){
  for (k in nFold){
    trainingData <- subset(auto,valNum!=k)
    validationData <- subset(auto,valNum==k)
    model <- update(modelCall,data=trainingData)
    modelPerformance <- MAPE(predict(model,validationData),validationData$Price)
  }
  modelPerformance
}

getAutoMAPE(lm(Price~.,data = auto))
库(MLmetrics)
#使用线性回归培训预测者,并报告遗漏交叉验证的MAPE
种子集(1234)
nFold=nrow(自动)
瓦努姆