I am currently trying to build a neural network to predict what rank people within the data will place.
The Rank system is: A,B,C,D,E
Everything runs very smoothly until I get to my confusion matrix. I get the error "Error:
reference should be factors with the same levels.". I have tried many different methods on other posts but none seem to work.
The levels are both the same in NNPredicitions and test$Rank. I checked them both with table().
library(readxl) library(caret) library(neuralnet) library(forecast) library(tidyverse) library(ggplot2) Indirect <-read_excel("C:/Users/Abdulazizs/Desktop/Projects/Indirect/FIltered Indirect.xlsx", n_max = 500) Indirect$Direct_or_Indirect <- NULL Indirect$parentaccount <- NULL sum(is.na(Indirect)) counts <- table(Indirect$Rank) barplot(counts) summary(counts) part2 <- createDataPartition(Indirect$Rank, times = 1, p = .8, list = FALSE, groups = min(5, length(Indirect$Rank))) train <- Indirect[part2, ] test <- Indirect[-part2, ] set.seed(1234) TrainingParameters <- trainControl(method = "repeatedcv", number = 10, repeats=10) as.data.frame(train) as.data.frame(test) NNModel <- train(train[,-7], train$Rank, method = "nnet", trControl= TrainingParameters, preProcess=c("scale","center"), na.action = na.omit ) NNPredictions <-predict(NNModel, test, type = "raw") summary(NNPredictions) confusionMatrix(NNPredictions, test$Rank)