# Ошибка в confusionMatrix.default: данные не могут иметь больше уровней, чем ссылка - PullRequest
0 голосов
/ 22 апреля 2020

Я работал над моим проектом capstone и, похоже, не смог обойти эту последнюю ошибку с помощью confusionMatrix. Единственное решение, которое здесь сработало, я перечислил ниже, но после попытки 7 разных идей из stackoverflow ничего не получилось. Любые идеи или помощь будут великолепны!

Всего в наборе данных 744 наблюдения, и я разбился на группу тестов / поездов. Я управляю случайным лесом регрессии, чтобы предсказать LAT. Тестовые данные имеют 186 наблюдений, поэтому rf.preds имеет 186 уровней, но моя контрольная ссылка $ LAT имеет 136 уровней.

Я полагаю, что это происходит, поскольку у меня есть повторяющиеся числа в столбце LAT моего набора тестов.

Пример данных:

Date       LAT (in hours)
5/1/2016   3.55
5/1/2016   4.25
5/1/2016   6.91
5/1/2016   1.49
5/1/2016   2.11
5/1/2016   3.33
5/1/2016   1.76
5/1/2016   0.66
rf_tuned <- randomForest( LAT~., data = train, ntree=500, mtry=2, importance=TRUE)

rf.preds <- predict(rf_tuned, newdata=test,)

results <- data.frame(actual = round(test$LAT, 2), predicted = round(rf.preds, 2))
test.lat <- as.factor(test$LAT)

rf.preds <- as.factor(rf.preds)

confusionMatrix(rf.preds,test.lat) 

#Error in confusionMatrix.default(rf.preds, test.lat) : 
  the data cannot have more levels than the reference

TRIED:

predictions <- predict(rf_tuned, newdata=test)

ext_u <- union(predictions, test$LAT)

ext_table <- table(factor(predictions, ext_u),factor(test$LAT,ext_u))

dim(ext_table)

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