RPART - типы функций

RPART использует другую процедуру разделения для непрерывных, порядковых и категориальных переменных. Есть ли способ "сообщить" RPART о типе переменной? Для иллюстрации у меня есть порядковая переменная с целочисленными значениями (1,..,5). Сейчас мне нужно привести его к символам, чтобы RPART не разделял его как непрерывную переменную.

Я хотел бы воздержаться от изменения всех моих типов переменных, только для RPART. Я бы предпочел это как-то объявить.

Благодарю.

1 ответ

Решение

Проблема в том, как R знать, что foo <- c(1,2,3,2,4,5,1,5) (например) не числовая переменная? Если вы посмотрите на класс foo вы увидите, что это число.

R> class(foo)
[1] "numeric"

Ваша проблема в том, что на самом базовом уровне вы не сказали R, что это за типы данных. Простое решение в этом случае заключается не в преобразовании этого в символьный вектор, а в преобразование его в упорядоченный коэффициент. Если бы только за то, что это то, что данные! rpart должен подобрать фактор фактор и относиться к нему соответственно.

Следовательно, способ сообщить rpart, что переменная является порядковым, состоит в том, чтобы сообщить R, что она является порядковым

foo <- as.ordered(foo)

R> foo
[1] 1 2 3 2 4 5 1 5
Levels: 1 < 2 < 3 < 4 < 5

Я подозреваю, что вы упускаете другие возможности R, потому что вы не можете определить характер данных. R делает предположение, что это не правильно.

Другие вопросы по тегам