Получите ошибку: неверное количество измерений при использовании R - PullRequest
0 голосов
/ 03 декабря 2018

Когда я использую ROCR для оценки наивной модели Байеса, я получил эту ошибку: неверное количество измерений, действительно не знаю, как это отладить, вот мой журнал ошибок.

$`predict matrix`

pre    0    1
  0 7282  956

$accuracy
[1] 0.8839524

> #ROCR
> library(ROCR)
> pred<-prediction(predictions =pre[,2],labels =test_data$y)
Error in pre[, 2] : incorrect number of dimensions

А это мой сценарий R.

library(e1071) 
library(rvest)
library(dplyr)
#data
train_data <- read.csv('/Users/jonnyy/Desktop/IS/S2/IS688/project/train.csv')
test_data <- read.csv('/Users/jonnyy/Desktop/IS/S2/IS688/project/test.csv')
#construct naiveBayes model
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) 
#using predict function on test data to classified prediction
pre <- predict(efit, test_data, type = "raw") %>%
  as.data.frame() %>%
  mutate(prediction = if_else(0 < 1, 0, 1)) %>%
  pull(prediction)
#predict matrix and accuracy
bayes_table <- table(pre, test_data$y)
accuracy_test_bayes <- sum(diag(bayes_table)) / sum(bayes_table)
list('predict matrix' = bayes_table, 'accuracy' = accuracy_test_bayes)



#ROCR
library(ROCR)
pred<-prediction(predictions =pre[,2],labels =test_data$y)
perf<-performance((pred.measure ="tpr",x.measure="fpr"))
plot(perf,main="ROC curve",col="blue",lwd=3)
abline(a=0,b=1,lwd=2,lty=2)

Дело в том, что моя матрица предсказания - 2X1, кажется, что это только одно измерение?Но когда я изменяю pre [, 2] на pre [, 1], он все равно не работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...