I am trying to use recursive feature elimination on weighted classification random forest with ranger. In my data, I want to weight observations as inverse of sample size, but for a reproducible example, let's just say Class1 weighted twice as much as Class2. The model trains successfully with and without weights argument, but when I try to run it with recursive feature elimination, the model containing weights returns an error. I think for some reason the weights argument does not get updated within the RFE algorithm, or am I missing something? I'm unsure if its a bug in rfe() or if I'm missing an argument somewhere.
I am trying to use recursive feature elimination on weighted classification random forest with
ranger
. In my data, I want to weight observations as inverse of sample size, but for a reproducible example, let's just say Class1 weighted twice as much as Class2. The model trains successfully with and without weights argument, but when I try to run it with recursive feature elimination, the model containing weights returns an error. I think for some reason the weights argument does not get updated within the RFE algorithm, or am I missing something? I'm unsure if its a bug inrfe()
or if I'm missing an argument somewhere.Minimal, runnable code:
Error in { : task 1 failed - "replacement has 100 rows, data has 50"
Session Info:
R version 4.2.1 (2022-06-23 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19044)
Matrix products: default
locale: [1] LC_COLLATE=English_United States.utf8 LC_CTYPE=English_United States.utf8
[3] LC_MONETARY=English_United States.utf8 LC_NUMERIC=C
[5] LC_TIME=English_United States.utf8
attached base packages: [1] stats graphics grDevices utils datasets methods base
other attached packages: [1] caret_6.0-93 lattice_0.20-45 ggplot2_3.4.0 ranger_0.14.1 dplyr_1.0.10
loaded via a namespace (and not attached): [1] tidyselect_1.1.2 purrr_0.3.4 reshape2_1.4.4 listenv_0.8.0
[5] splines_4.2.1 colorspace_2.0-3 vctrs_0.5.1 generics_0.1.3
[9] stats4_4.2.1 utf8_1.2.2 survival_3.3-1 prodlim_2019.11.13
[13] rlang_1.0.6 e1071_1.7-11 ModelMetrics_1.2.2.2 pillar_1.8.1
[17] glue_1.6.2 withr_2.5.0 foreach_1.5.2 lifecycle_1.0.3
[21] plyr_1.8.7 lava_1.6.10 stringr_1.4.1 timeDate_4021.104
[25] munsell_0.5.0 gtable_0.3.1 future_1.28.0 recipes_1.0.1
[29] codetools_0.2-18 parallel_4.2.1 class_7.3-20 fansi_1.0.3
[33] Rcpp_1.0.9 scales_1.2.1 ipred_0.9-13 parallelly_1.32.1
[37] digest_0.6.29 stringi_1.7.8 grid_4.2.1 hardhat_1.2.0
[41] cli_3.4.1 tools_4.2.1 magrittr_2.0.3 proxy_0.4-27
[45] tibble_3.1.8 future.apply_1.9.1 pkgconfig_2.0.3 ellipsis_0.3.2
[49] MASS_7.3-57 Matrix_1.5-1 data.table_1.14.6 pROC_1.18.0
[53] lubridate_1.8.0 gower_1.0.0 rstudioapi_0.14 iterators_1.0.14
[57] R6_2.5.1 globals_0.16.1 rpart_4.1.16 nnet_7.3-17
[61] nlme_3.1-157 compiler_4.2.1