包含缺失值的分类、数字和 "unwanted" 变量混合的随机森林

Random Forest for a mixture of categorical,numeric and "unwanted" variables which include missing values

我正在尝试将 R 中的随机森林包用于我的数据集,其中包括分类变量和数值变量以及一些 "unwanted coloumns"(我不想将其作为预测变量包含的列)。此外,缺少一些我想要的变量(应该用作预测变量)。 我该如何处理?

我假设你的数据集看起来像这样。

mydf <- data.frame(target = c(1:100), 
                   param1 = c(rep("a",10), rep("b", 50), 
                              rep("c", 20), rep("a",15), rep(NA, 5)), 
                   param2 = runif(100,0,1), 
                   param3 = c(runif(20,1,10),runif(50,20,30),rep(NA,10),
                              runif(10,0,5), runif(10,70,80)))
  1. 仅使用所需的列

    一个。您可以在公式中指定要在随机森林中使用的列。 myrf <- randomForest(target ~ param1 + param2, mydf) # this excludes param3

    b。否则,您可以通过仅保留所需的列来对数据集进行子集化。

    mydf2 <- mydf[,c(target,param1,param2]
    myrf <- randomForest(target ~ ., mydf2)
    
  2. 处理 NA 值.

    一个。您可以尝试估算它们。

    b。或者您可以使用另一个可以处理它们的库,例如 rpart.

最后,我建议你看看这个帖子。

How to build random forests in R with missing (NA) values?