2013-11-19 3 views
0

Я пытаюсь запустить пакет randomForest с несколькими зависимыми и несколькими независимыми переменными. Может кто-нибудь, пожалуйста, сообщите мне, если вообще можно использовать категориальную переменную (которая имеет такие значения, как «AAA», «HCC1», «HCC2» и т. Д.) В качестве зависимой переменной для пакета randomForest? Обратите внимание, что я не говорю о пакете cforest. По вышеизложенному вопросу я понял, что мне нужно преобразовать категориальные переменные в факторы. Но когда я проверяю класс, переменная отображается как коэффициент. Когда я бегу следующий синтаксис:Случайный лес с категориальными зависимыми переменными

fit <- randomForest(Bkt_DerivedVariable1+Bkt_DerivedVariable4+hcc_trans_2013_col1 ~ Bkt_TopSecondaryDiagnosis1_2+Bkt_TopPrimaryDiagnosis3,data=testdata1) 

Ошибка:

Error in na.fail.default(list(`Bkt_DerivedVariable1 + Bkt_DerivedVariable4 + Bkt_TopSecondaryDiagnosis1_1` = c(NA, : 
    missing values in object 
In addition: Warning message: 
In Ops.factor(Bkt_DerivedVariable1 + Bkt_DerivedVariable4, Bkt_TopSecondaryDiagnosis1_1) : 
    + not meaningful for factors 

Я уверен, что это подходит для hcc_trans_2013_col1 переменной, которая имеет вышеуказанные значения строки.

Может кто-нибудь скажет мне, что мне делать?

ответ

0

Ошибка говорит, что есть missing values in object.
Итак, перед применением randomForest(), попробуйте следующее:

library(randomForest) 
testdata1 <- na.roughfix(testdata1) # for imputing the missing values in the data 

, а затем:

fit <- randomForest(Bkt_DerivedVariable1+Bkt_DerivedVariable4+hcc_trans_2013_col1 ~ Bkt_TopSecondaryDiagnosis1_2+Bkt_TopPrimaryDiagnosis3,data=testdata1) 

Если проблема с отсутствующими значениями, то это должно помочь.

+0

Hi. Спасибо за ваш ответ. Но я уверен, что в зависимой переменной отсутствует недостающее значение. Это происходит из-за символьной строки. Я пытался использовать другую зависимую переменную, которая является числовой, RF работает нормально. Поэтому я хотел бы знать, как использовать зависимую переменную с символьной строкой в ​​Random Forest. – user3007045

+0

okay ... тогда, пожалуйста, проверьте, является ли зависимая переменная с символьной строкой класса 'factor' или нет (' is.factor (testdata1 $ your_coulumn_name) '). Если это не фактор, то преобразуйте его в коэффициент и снова попробуйте RF ('testdata1 $ your_coulumn_name <- as.factor (testdata1 $ your_coulumn_name)'). – StrikeR

+0

Привет. Еще раз спасибо. Да, я проверил, что зависимая переменная присутствует как фактор. Я использовал is.factor (имя var). Он говорит TRUE. Следовательно, это меня смущает больше, поскольку у меня уже есть зависимая переменная как фактор, и только потому, что она содержит дискретную строку символов, я не могу использовать RF. Я был бы очень признателен за то, что какое-либо решение придет. – user3007045

Смежные вопросы