包含缺失值的分类、数字和 "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)))
仅使用所需的列。
一个。您可以在公式中指定要在随机森林中使用的列。 myrf <- randomForest(target ~ param1 + param2, mydf) # this excludes param3
b。否则,您可以通过仅保留所需的列来对数据集进行子集化。
mydf2 <- mydf[,c(target,param1,param2]
myrf <- randomForest(target ~ ., mydf2)
处理 NA 值.
一个。您可以尝试估算它们。
b。或者您可以使用另一个可以处理它们的库,例如 rpart
.
最后,我建议你看看这个帖子。
How to build random forests in R with missing (NA) 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)))
仅使用所需的列。
一个。您可以在公式中指定要在随机森林中使用的列。
myrf <- randomForest(target ~ param1 + param2, mydf) # this excludes param3
b。否则,您可以通过仅保留所需的列来对数据集进行子集化。
mydf2 <- mydf[,c(target,param1,param2] myrf <- randomForest(target ~ ., mydf2)
处理 NA 值.
一个。您可以尝试估算它们。
b。或者您可以使用另一个可以处理它们的库,例如
rpart
.
最后,我建议你看看这个帖子。
How to build random forests in R with missing (NA) values?