我使用naiveBayes e1071
对我的数据集进行分类(Classification class:“V32”0/1)。
以下是我的工作:
d <- read.table("Modeling_Data.txt",header=FALSE,sep="\t",
comment.char="",quote="")
#divide into training and test data 70:30
trainingIndex <- createDataPartition(d$V32, p=.7, list=F)
d.training <- d[trainingIndex,]
d.testing <- d[-trainingIndex,]
nb.classifier <- naiveBayes(as.factor(d$V32) ~ ., data = d.training)
但是我收到了这个错误:
Error in names(dimnames(tables[[i]])) <- c(Yname, colnames(x)[i]) :
attempt to set an attribute on NULL
predict(nb.classifier,d.testing[,-50000])
Error in predict(nb.classifier, d.testing[, -50000]) :
object 'nb.classifier' not found
我尝试使用包含的数据集(虹膜),一切正常。我的方法出了什么问题?
答案 0 :(得分:0)
似乎构建模型失败(因此未构造分类器)。如果不查看您的数据,我最好的猜测是您的案例不完整。
您可以尝试使用complete.cases
删除包含缺失数据的案例,如下所示。
d <- read.table("Modeling_Data.txt",header=FALSE,sep="\t",comment.char="",quote="")
# remove incomplete cases
d[complete.cases(d),]
# divide into training and test data 70:30
trainingIndex <- createDataPartition(d$V32, p=.7, list=F)