我正在尝试使用 R 对以下数据执行逻辑回归:multinom()
训练数据测试数据nnet
资料说明:
train 和 test 文件各有 10,000 行数据和 144 个变量,其中最后一列是“Predict”,也就是测试数据中应该预测的列。由于 predict 仅包含两个值 0 和 1(二进制),我开始使用multinom()
. 大多数行是连续的数值,而少数字段包含名称字段,例如工作日名称(“Sunday”,“Monday”,...),这些都将被视为因素。
这是使用的以下代码:
train_data <- read.csv("train_data.csv")
test_data <- read.csv("test_data.csv")
library(nnet)
my_multinom <- multinom(formula= as.factor(Predict) ~ ., data= train_data)
predictions <- predict(my_multinom, test_data[,1:143])
输出是:
> summary(predictions)
0 1 NA's
130 52 9818
其中,NA's
在 的Predict
列中没有train_data
:
> summary(as.factor(train_data$Predict))
0 1
9734 266
我想知道发生如此大量NA's
(超过98%)的原因是什么以及如何进一步进行以避免这些NA's
?