У меня есть несколько учебных / тестовых разделов. В одном разделе одна переменная имеет только два уровня, и она сильно разбалансирована. Проблема в том, что в тестовом наборе есть только один уровень для всех строк, и это создает проблемы
Как я понимаю, и работает для других наборов данных, я должен сделать это
dummyfier = dummyVars(~ ., train_char)
train_char = predict(dummyfier, train_char) %>% data.frame()
test_char = predict(dummyfier, test_char) %>% data.frame()
Проблема в том, что я получаю следующую ошибку
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels
оставляю пример
train_char <- data.frame(da_b45 = c("N", "N", "S", "N"))
test_char <- data.frame(da_b45 = c("N", "N", "N"))
dummyfier = dummyVars(~ ., train_char)
train_char = predict(dummyfier, train_char) %>% data.frame()
test_char = predict(dummyfier, test_char) %>% data.frame()
Как я понимаю, обучающий набор должен иметь значения возможных переменных, а тестовый набор должен только проверять, какая из этих переменных.
Я действительно не понимаю этого поведения