2013-11-20 16 views
1

在插頁::列車中,有許多預處理選項可通過「預處理」參數傳遞。這使得生活變得非常簡單,因爲測試數據然後在調用'predict.train'時以與訓練數據相同的方式進行自動神奇預處理。 是否有可能以某種方式對'findCorrelation'和'nearZeroVar'進行相同處理?插頁 - 列車中不提供某些預處理選項

我清楚地從文檔中明白爲什麼下面的代碼不起作用,但我希望這可以澄清我的問題。理想情況下,我可以做到以下幾點。

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有沒有一種方法可以實現我自己的預處理方法,而無需將它們添加到巨大的預處理代碼中? – diugalde