使用 (caret) 训练 mlp 模型时出错

时间:2021-05-09 09:02:45

标签: r r-caret mlp

我用 caret 用这段代码训练了一个 mlp 模型。

    library(datasets)
    library(MASS)
    library(caret)
    DP = caret::createDataPartition(Boston$medv, p=0.75, list = F)

    train = Boston[DP,]
    test = Boston[-DP,]
    colnames(train) = colnames(Boston)
    colnames(test) = colnames(Boston)

    mlp = caret::train(medv ~., data = Boston, method = "mlp", trControl = trainControl(method = "cv", number = 3),
                       tuneGrid = expand.grid(size = 1:3), linOut = T, metric = "RMSE")

    Yp = caret::predict.train(mlp, test[,1:13])

我收到此错误消息:

In nominalTrainWorkflow(x = x, y = y, wts = weights, info = trainInfo, : There were missing values in resampled performance measures.

请伙计们,我需要了解为什么会出现此错误?

1 个答案:

答案 0 :(得分:0)

某些运行的 R 平方值抛出 NA,您可以检查输出:

set.seed(111)
mlp = caret::train(medv ~., data = Boston, method = "mlp",
trControl = trainControl(method = "cv", number = 3),
tuneGrid = expand.grid(size = 1:3), linOut = T, metric = "RMSE")

    mlp$results
  size      RMSE    Rsquared       MAE    RMSESD RsquaredSD     MAESD
1    1  9.152376         NaN  6.640184 0.9213123         NA 0.6877405
2    2 14.353732 0.000965434 12.274448 8.3227673         NA 8.6994894
3    3 12.701064         NaN 10.988850 3.2658958         NA 3.6549478

请注意,即使对于有效的模型,您的 Rsquared 也太低了。模型有两个问题,1)你的规模可能太小,2)你没有缩放数据,所以你的预测只给你一个值,而 R2 完全是无稽之谈:

Yp = caret::predict.train(mlp, test[,1:13])

table(Yp)
Yp
20.0358009338379 
             125

尝试这样的事情:

mlp = caret::train(medv ~., data = Boston, method = "mlp",
trControl = trainControl(method = "cv", number = 3),
preProcess = c("center","scale"),
tuneGrid = expand.grid(size = 3:5), linOut = T, metric = "RMSE")

mlp
Multi-Layer Perceptron 

506 samples
 13 predictor

Pre-processing: centered (13), scaled (13) 
Resampling: Cross-Validated (3 fold) 
Summary of sample sizes: 337, 338, 337 
Resampling results across tuning parameters:

  size  RMSE      Rsquared   MAE     
  3     7.926669  0.3291762  5.619198
  4     6.976707  0.4913297  5.130273
  5     6.894459  0.5188481  5.040821