如何处理R中神经网络预测结果中的NA

时间:2017-08-05 15:45:40

标签: r machine-learning neural-network r-caret

我将神经网络应用于泰坦尼克数据集(包含PClass,性别,年龄,Sibsp,Parch,票价,登船)

library(caret)
model_nnet <- train(as.factor(Survived) ~.,  
              method="nnet",
              train_df, 
              linout=FALSE, 
              trace = FALSE,
              preProcess = c("center", "scale"))

nnet_predict <- predict(model_nnet, test_df)

虽然我预计nnet_predict与测试数据帧(418条记录)的长度相同,但它实际上包含NA并且只有331条结果。有关如何处理它的任何建议?谢谢

1 个答案:

答案 0 :(得分:1)

寻找

summary(test_df)

您可以看到Age&amp;中存在缺失值Fare列,因此在运行predict()函数之前,您需要在这两列中修复NA

一个选项可能是 -

  • NA列填写Fare及其平均值。
  • NA列填写Age,其平均值为Pclass,即
if Pclass==1 then missing_age <- 37
if Pclass==2 then missing_age <- 29
else missing_age <- 24

希望这有帮助!