Я пробую рисовать кривую ROC для них результат моего классификатора Нэйв Бейес.
attach(TrainFactor)
NB <- naiveBayes(Result~., data=TrainFactor)
NB_pred <- predict(NB, TestFactor, type = c("class"))
NB_table <- table(NB_pred, TestFactor[,31])
## ROC
NB_predictiontest <- prediction(NB_pred,TestFactor$Result)
NB_perftest <- performance(NB_predictiontest,"tpr","fpr")
plot(NB_perftest,col="blue",lwd=2, main="Naive Bayes ROC Curve")
Но меня печатает ошибка, когда я пробую выполнять функцию "prediction":
Error in prediction(NB_pred, TestFactor[, 31]) :
Format of predictions is invalid.
Кто-то может помогать мне с этим?
Как говорит Матиас, кривая ROC оценивает вектор вероятности. Он производится начиная с результатов классификации считая различные точки двора, тогда ты нуждаешься в том, чтобы иметь предсказание не как класс, а как вероятность. По умолчанию, возврати вероятность, так что не надо ничего не помещать в type
.
NB_pred <- predict(NB, TestFactor)
(Кроме того ты был бы должен обеспечивать себе, что TestFactor$Result
будьте бинарным)