2014-03-31 69 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]))