2013-11-20 2 views
1

В каретке :: train есть много параметров предварительной обработки, которые могут быть переданы с помощью аргумента «preProcessing». Это делает жизнь сверхпростой, потому что тестовые данные затем автоматически настраиваются автоматически, так же как и данные обучения при вызове 'pred.train'. Возможно ли сделать то же самое с 'findCorrelation' и 'nearZeroVar' в некотором роде?Caret - некоторые параметры предварительной обработки, недоступные в поезде

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

library("caret") 
set.seed (1234) 
data (iris) 

# split test vs training 
train.index <- createDataPartition (y = iris[,5], p = 0.80, list = F) 
train <- iris [ train.index, ] 
test <- iris [-train.index, ] 

# train the model after imputing the missing data 
fit <- train (Species ~ ., 
       train, 
       preProcess = c("findCorrelation", "nearZeroVar"), 
       method  = "rpart") 
predict (fit, test) 

ответ

1

Прямо сейчас, вы привязаны к чему бы то ни было preProcess.

Однако следующая версия (примерно в начале года, я надеюсь) позволит вам более легко писать пользовательские модели и предварительную обработку. Например, вы можете захотеть сбрасывать данные и т. Д.

Сообщите мне, если вы хотите протестировать эту версию, когда у нас есть бета-версия.

Макс.

+0

Определенно. Хотел бы помочь. –

+0

Оба этих метода предварительной обработки теперь доступны в 'preProcess' – topepo

+0

@topepo есть способ реализовать мои собственные методы предварительной обработки, не добавляя их в огромный код preProcess? – diugalde

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