Easily specify which dummy variables to be used in a random forest with many dummy variables [R]
我预先向您道歉,这是一个非常简单的问题,但是我一直很难用Google和堆栈交换搜索来解决这个问题。
我有一个要在其上运行随机森林的数据集。一些变量是具有超过32个级别的因子,因此为了运行随机森林,我已将它们转换为虚拟变量。问题是这给我留下了1000个变量,尽管我想使用其中大部分,但并不是我想在随机森林中使用所有变量。
我的随机森林代码看起来像这样,除了waaaay太多的虚拟变量让我无法手动列出。
1 | fit <- randomForest(result ~ dummy_1 + dummy_2 + dummy_3..., data=df, importance=TRUE, ntree=2000) |
本质上,我的问题是,是否有一种方法可以在随机林中指定大范围的列而不按名称列出。我尝试在随机森林命令中运行model.matrix,并尝试使用df [1:34,]等指定列的范围,但这些方法均无效。
先谢谢您!
e:我想只是删除列并制作一个新的数据框就可以了,但是有没有很好的选择呢?
您可以通过在
1 2 3 4 | exclude_cols <- c('dummy_48','dummy_50','other_var_to_be_dropped') fit <- randomForest(result ~ ., data=df[ !names(df) %in% exclude_cols ] , importance=TRUE, ntree=2000) |
此函数的