2015-08-19 48 views
0

我在使用決策樹(CART)進行預測時遇到問題。插入符號包中的決策樹中的預測問題

我有這樣的代碼:

training <- read.csv("pml-training.csv", header=TRUE) 
set.seed(1972) 
inTrain <- createDataPartition(y=training2$classe, p=0.6, list=FALSE) 
wk_training <- training2[inTrain,] 
wk_testing <- training2[-inTrain,] 

wk_trainng數據集有11776個VAR和wk_testing對wk_testing 7846.

set.seed(1972) 
model_dt <- train(wk_training$classe ~ ., data = wk_training, method="rpart") 
print(model_dt, digits=3) 

運行

predictions_dt <- predict(model_dt, newdata=wk_testing) 

那麼我期待predictions_dt有7846行因爲它有wk_testing, ,但predictions_dt只有165行

我不知道我在做什麼錯...

任何人都可以幫我嗎?

在此先感謝

+0

代碼中定義的'training2'變量在哪裏?你有可能在你的代碼中犯了一個錯字,並使用錯誤的變量嗎? – giliev

+0

我從訓練創建training2這樣的: NZV < - nearZeroVar(培訓,saveMetrics = TRUE) #消除接近零個值 COLS < - NZV $ NZV == FALSE training2 < - 訓練[,COLS] –

回答

0

如果你有缺失值,則predict功能默認爲na.action = na.omit。您可以使用na.action = na.fail來測試這是否是問題。如果是這種情況,您可能需要進行估算。請參閱train中的preProcess選項。