如何处理R中神经网络预测结果中的NA
how to deal with NA in neural network prediction result in R
我正在泰坦尼克号数据集上应用神经网络(包含 PClass、性别、年龄、Sibsp、Parch、Fare、Embarked)
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 个结果。关于如何处理它有什么建议吗?谢谢
寻找
summary(test_df)
您可以看到 Age
和 Fare
列中存在缺失值,因此在 运行 predict()
函数之前您需要修复这些中的 NA
两列。
一个选项可能是 -
- 在
Fare
列中用它的平均值填充 NA
。
- 在
Age
列中填写 NA
与它的平均值 wrt Pclass
即
if Pclass==1 then missing_age <- 37
if Pclass==2 then missing_age <- 29
else missing_age <- 24
希望对您有所帮助!
我正在泰坦尼克号数据集上应用神经网络(包含 PClass、性别、年龄、Sibsp、Parch、Fare、Embarked)
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 个结果。关于如何处理它有什么建议吗?谢谢
寻找
summary(test_df)
您可以看到 Age
和 Fare
列中存在缺失值,因此在 运行 predict()
函数之前您需要修复这些中的 NA
两列。
一个选项可能是 -
- 在
Fare
列中用它的平均值填充NA
。 - 在
Age
列中填写NA
与它的平均值 wrtPclass
即
if Pclass==1 then missing_age <- 37
if Pclass==2 then missing_age <- 29
else missing_age <- 24
希望对您有所帮助!