В настоящее время я пытаюсь построить нейронную сеть, чтобы предсказать, какое место в данных будут занимать люди.
Система рангов: A, B, C, D, E
Все идет очень гладко, пока я не дохожу до своей путаницы. Я получаю ошибку «Ошибка: data
и reference
должны быть факторами с одинаковыми уровнями». Я пробовал много разных методов на других постах, но, похоже, ни один из них не работает.
Уровни одинаковы в NNPredicitions и тесте $ Rank. Я проверил их обоих с помощью таблицы ().
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)
длина (NNPredictions)
длина (тест $ Rank)
длина (NNPredictions)
[1] 98
длина (тест $ Rank)
[1] 98
таблица (NNPredictions, тест $ Rank, useNA = "ifany")
NNПрогнозы A B C D E
A 1 0 0 0 0
B 0 6 0 0 0
C 0 0 11 0 0
Д 0 0 0 18 0
E 0 0 0 0 62