2016-01-17 45 views
1

我編碼情緒分析在R爲電影評論(康奈爾數據集)。我的列車數據由1800行和1096列組成(unigrams,bigrams和trigrams)。測試數據由200行和1096列組成(測試數據的特徵與列車數據的特徵相匹配)。我試圖從caret包中使用svmRadial來訓練模型(反過來使用kernlab包)。培訓工作正常,我也能夠從模型中提取重要的功能。但是,當我試圖預測一個新的數據集,它給了我下面的錯誤:錯誤與預測在從R的符號svmRadial R

In method$predict(modelFit = modelFit, newdata = newdata, submodels = param) : 
kernlab class prediction calculations failed; returning NAs 

我無法弄清楚,爲什麼我的預測失敗,此測試數據。 (我嘗試使用插入符號中的樸素貝葉斯進行建模,訓練和測試完美無缺。)​​添加我的代碼以供參考。非常感謝任何幫助!非常感謝!

sessionInfo() 
R version 3.2.3 (2015-12-10) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows >= 8 x64 (build 9200) 

//Training svm model 
svm.model <- train(as.factor(label) ~., 
       data = dtm, 
       method = "svmRadial", 
       preProc = c("center", "scale"), 
       trControl = trainControl(method = "cv", number = 5), 
       tuneLength = 8) 

//prediction on test data - gives warning and returns "NA"s 
svm.pred <- predict(svm.model, testData) 
+0

檢查,如果你在你的數據幀沒有任何丟失的數據。 – phiver

回答

0

行更改

trControl = trainControl(method = "cv", number = 5) 

trControl = trainControl(method = "cv", number = 5, classProbs = TRUE)