Я работал над моим проектом 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)