【发布时间】:2019-05-04 06:39:38
【问题描述】:
我在用 R 做朴素贝叶斯时出错,这是我的代码和错误
library(e1071)
#data
train_data <- read.csv('https://raw.githubusercontent.com/JonnyyJ/data/master/train.csv',header=T)
test_data <- read.csv('https://raw.githubusercontent.com/JonnyyJ/data/master/test.csv',header=T)
efit <- naiveBayes(y~job+marital+education+default+contact+month+day_of_week+
poutcome+age+pdays+previous+cons.price.idx+cons.conf.idx+euribor3m
,train_data)
pre <- predict(efit, test_data)
bayes_table <- table(pre, test_data[,ncol(test_data)])
accuracy_test_bayes <- sum(diag(bayes_table))/sum(bayes_table)
list('predict matrix'=bayes_table, 'accuracy'=accuracy_test_bayes)
错误:
bayes_table
我真的不明白发生了什么,因为我是 R 新手
【问题讨论】:
-
能否提供一些数据,以便我们重现错误?
-
错误是自定义的:两个向量之一不同。我们没有你的数据,所以我不知道我们是否能够重现这一点。
-
抱歉,我已经更新了我的问题@Lyngbakr
-
抱歉,我已经更新了我的问题
-
你需要调试,首先检查这些是否相等
length(pre),length(test_data[,ncol(test_data)])
标签: r naivebayes