2

您好我正在使用以下 r 脚本来构建随机森林:

# load the necessary libraries                      
library(randomForest)


testPP<-numeric()


# load the dataset
QdataTrain <- read.csv('train.csv',header = FALSE)
QdataTest <- read.csv('test.csv',header = FALSE)

QdataTrainX <- subset(QdataTrain,select=-V1)
QdataTrainY<-as.factor(QdataTrain$V1)   

QdataTestX <- subset(QdataTest,select=-V1)
QdataTestY<-as.factor(QdataTest$V1)
mdl <- randomForest(QdataTrainX, QdataTrainY) 

我收到以下错误:

Error in randomForest.default(QdataTrainX, QdataTrainY) : 
  NA not permitted in predictors

但是我在我的数据中没有看到 NA 的出现。

这里是我的数据供参考:

https://docs.google.com/file/d/0B0iDswLYaZ0zUFFsT01BYlRZU0E/edit

有谁知道为什么会抛出这个错误?在此期间,我会继续寻找。提前感谢您的帮助!

4

1 回答 1

5

给定的数据确实包含一些缺失值(特别是 7 个):

sapply(QdataTrainX, function(x) sum(is.na(x)))

## V2  V3  V4  V5  V6  V7  V8  V9 V10 V11 V12 V13 V14 V15 V16 
## 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 
## V17 V18 V19 V20 V21 V22 V23 V24 V25 V26 V27 V28 V29 
## 0   0   0   0   0   0   1   1   1   1   1   1   1 

因此,V23 到 V29 列各有一个缺失值

which(is.na(QdataTrainX$V23))

## 318

给出行号。

于 2013-05-07T12:40:41.687 回答