Случайный лес в R: Новые уровни факторов отсутствуют в данных обучения. В каком столбце проблема? - PullRequest
0 голосов
/ 15 марта 2020

У меня есть набор данных с 73 столбцами, и почти все они являются факторами. Я пытаюсь понять, кто из них вызывает эту ошибку, но у меня нет идей. Благодаря другим вопросам здесь я смог написать l oop, чтобы сравнить уровни и исправить их , если необходимо, но никакой разницы нет. Кто-нибудь еще здесь что-нибудь понял?

Это мой l oop, чтобы убедиться, что уровни правильные:

for(factor_var in factor_vars) {
  if (isFALSE(all.equal(levels(test[[factor_var]]), levels(train[[factor_var]])))) {
    print(paste('problem in:', factor_var))
    test[[factor_var]] <- factor(test[[factor_var]], levels = levels(train[[factor_var]]))
  } else {
    print(paste('ok:', factor_var))
  }
}

Не было никакого измененного фактора, поэтому я действительно не понимаю, почему Я все еще получаю следующую ошибку:

> yhat$rf <- predict(modelLib$rf, newdata = test)
Error in predict.randomForest(.model$learner.model, newdata = .newdata,  : 
  New factor levels not present in the training data

Что еще можно попробовать?

...