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 の列には、それぞれ 1 つの欠損値があります。

which(is.na(QdataTrainX$V23))

## 318

そのための行番号を与えます。

于 2013-05-07T12:40:41.687 に答える