2014-03-31 72 views
1

我有一個5000點和12個屬性(其中是類變量)的數據集..我分爲訓練(3000分)和測試(2000分)的數據和執行的訓練分類數據和wnat使用準確度度量可惜的錯誤被拋出,你可以請幫我檢查錯誤率..樸素貝葉斯分類器中的錯誤

b=as.factor(test_data$Personal.Loan) 
model_naivebayes = naiveBayes(Personal.Loan ~.,data=train_data); 
naive_predict = predict(model_naivebayes, test_data); 
table(naive_predict,b) 

錯誤: 錯誤表(naive_predict,b): 所有參數必須有長度相同

當我檢查naive_predict中的內容時,它說因子W /' 0'evels

Regards, Sri。

+0

如果你請更新您的問題一個最小的,可重複的例子,它會更容易幫助你。 –

回答

0

看起來像錯誤是在第三行。預測時需要排除類變量。

naive_predict = predict(model_naivebayes, test_data[,-which(names(predictors) %in% c("Personal.Loans"))]; 
0

我有類似的問題,並通過這種方式解決它。

該代碼會給出錯誤信息:我將與iris數據顯示它

iris[ , 5] <- as.character(iris[ , 5]) 
classifier<-naiveBayes(iris[,1:4], iris[,5]) 
table(predict(classifier, iris[,-5]), iris[,5]) 

如果你使用的因素,它不會:

iris[ , 5] <- as.character(iris[ , 5]) 
classifier<-naiveBayes(iris[,1:4], factor(iris[,5])) 
table(predict(classifier, iris[,-5]), factor(iris[,5]))