У меня есть набор данных с 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
Что еще можно попробовать?