2014-09-23 3 views
4

Я использую пакет rpart для классификации дерева решений. У меня есть кадр данных с около 4000 функций (столбцов). Я хочу использовать все функции в rpart() для моей модели. Как я могу это сделать? В основном, rpart() спросит меня, чтобы использовать функцию таким образом:Как использовать все функции в rpart?

dt <- rpart(class ~ feature1 + feature2 + ....) 

Мои функции слова в документах, так что у меня больше, чем 4k функции. Каждая функция представлена ​​словом. Есть ли возможность использовать все функции без их написания?

ответ

4

Я понял это:

dt <- rpart(class ~ ., data) 

"" представляет все функции.

1

Библиотека caret действительно полезна, потому что вы можете легко применять различные модели и сравнивать их производительность. Он может вызывать rpart, но использует несколько иной синтаксис для включения всех функций.

library(caret) 

library(data.table) 

mt <- data.table(mtcars) 

tr <- train(x=mt[,-'hp', with=FALSE], y = mt[, hp], method='rpart') 

plot(tr$finalModel) 
text(tr$finalModel) 

Использование всех функций 4000 для дерева решений может привести к переобучению, особенно если количество наблюдений не велико. Caret обеспечивает встроенную перекрестную проверку. Вы также можете посмотреть на model='rf' для случайных лесов.

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