gpt4 book ai didi

因子()和 NAs 的 R caret/rfe 变量选择

转载 作者:行者123 更新时间:2023-12-01 12:56:59 27 4
gpt4 key购买 nike

我有一个包含 NA 的数据集。

此外,它还有一些列需要factors()

我正在使用 caret 包中的 rfe() 函数来选择变量。

似乎 rfe() 中的 functions= 参数使用 lmFuncs 适用于具有 NA 但不适用于因子变量的数据,而rfFuncs 适用于因子变量但不适用于 NA。

有什么处理这个问题的建议吗?

我尝试了 model.matrix() 但它似乎只会导致更多问题。

最佳答案

由于包之间在这些点上的行为不一致,更不用说使用更多“元”包(如 caret)时的额外技巧,我总是发现处理 NA 和向上因子变量更容易前面,在我进行任何机器学习之前。

  • 对于 NA,忽略或估算(中位数、knn 等)。
  • 对于因子特征,您使用 model.matrix() 走在了正确的轨道上。它会让您为不同级别的因素生成一系列“虚拟”特征。典型的用法是这样的:
> dat = data.frame(x=factor(rep(1:3, each=5)))
> dat$x
[1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
Levels: 1 2 3
> model.matrix(~ x - 1, data=dat)
x1 x2 x3
1 1 0 0
2 1 0 0
3 1 0 0
4 1 0 0
5 1 0 0
6 0 1 0
7 0 1 0
8 0 1 0
9 0 1 0
10 0 1 0
11 0 0 1
12 0 0 1
13 0 0 1
14 0 0 1
15 0 0 1
attr(,"assign")
[1] 1 1 1
attr(,"contrasts")
attr(,"contrasts")$x
[1] "contr.treatment"

另外,以防万一你还没有(尽管听起来你有),CRAN 上的 caret 插图非常好,并且触及了其中的一些要点。 http://cran.r-project.org/web/packages/caret/index.html

关于因子()和 NAs 的 R caret/rfe 变量选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9145874/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com