包含缺失值的分类、数字和“不需要”变量的混合的随机森林

Posted

技术标签:

【中文标题】包含缺失值的分类、数字和“不需要”变量的混合的随机森林【英文标题】:Random Forest for a mixture of categorical,numeric and "unwanted" variables which include missing values 【发布时间】:2018-04-01 02:36:48 【问题描述】:

我正在尝试将 R 中的 Random Forest 包用于我的数据集,其中包括分类变量和数值变量以及一些“不需要的列”(我不想将其包含为预测变量的列)。此外,我的一些理想变量(应该用作预测变量)丢失了。 我该如何处理?

【问题讨论】:

【参考方案1】:

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

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 &lt;- 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?

【讨论】:

太棒了!谢谢

以上是关于包含缺失值的分类、数字和“不需要”变量的混合的随机森林的主要内容,如果未能解决你的问题,请参考以下文章

具有混合数据类型(文本、数字、分类)的 Python scikit-learn 分类

R中缺失和删失数据的多重插补

随机森林的混合预测器类型

选择分类算法对名义数据和数字数据的混合进行分类?

Python中分类变量的缺失值插补

在分布式阵列系统中查找缺失的数字