stevenpawley / colino

Recipes Steps for Supervised Filter-Based Feature Selection
https://stevenpawley.github.io/colino/
Other
35 stars 5 forks source link

colino & caret compatibility #10

Open cadam00 opened 3 months ago

cadam00 commented 3 months ago

Hi, I observed a compatibility issue of your package function colino::step_select_boruta when using it on caret::train... What to do? Thanks a lot!!!!


library(caret)
library(colino)
library(doParallel)

set.seed(42)

## A dummy dataset
dataset <- mtcars
dataset$am <- as.factor(dataset$am)
levels(dataset$am) <- c("zero","one")

## Despite the colino::step_select_boruta working for a dataset
rec_boruta <-
 recipe(am ~ ., data = dataset) %>%
 colino::step_select_boruta(all_predictors(), outcome = "am")

prepped <- prep(rec_boruta)
prepped

cl <- makePSOCKcluster(detectCores())
registerDoParallel(cl)

## It is not working for caret::train
fit_model <- train(rec_boruta,
                   data = dataset,
                   method = "glm")

# Error in { : task 1 failed - "$ operator is invalid for atomic vectors"

## But caret::train is working for other step like recipes::step_corr
rec_corr <-
 recipe(am ~ ., data = dataset) %>%
 step_corr(all_predictors())

fit_model <- train(rec_corr,
                   data = dataset,
                   method = "glm")