R-室遗传算法特征选择



我正在尝试使用遗传算法或模拟退火使用CARET功能选择,并且在两种情况下,我都会收到相同的错误消息。

我尝试了使用非常简单的输入数据框架的GAF和SAF的最基本形式。

> library(caret)
> head(n)
id   group hs.grad  race gender age m.status   political n.kids income score  time1  time2  time3
1 ID.1 control      no white female  37 divorced       other      1  96000        0.71  99.02 101.72 100.07
2 ID.2 control     yes white   male  34 divorced independent      0  16000 -0.43  43.78  45.54  45.79
3 ID.3   treat     yes white female  39    never    democrat      2  13000  1.80 100.23 101.01 103.00
4 ID.4 control     yes white female  29  married independent      4  12000 -0.05  95.64  99.61  96.38
5 ID.5 control     yes white female  36  married    democrat      0   7000 -0.50  47.25  47.25  49.11
6 ID.6 control     yes asian   male  19    never  republican      0  18000  0.00  77.66  78.43  85.68
> obj <- gafs(x=n[,1:8],
+             y=n$time3,
+             iters = 10)
Error in gafs.default(x = n[, 1:8], y = n$time3, iters = 10) : 
promise already under evaluation: recursive default argument reference or  earlier problems?

我很感谢是否有人可以分享经验,如果遇到了类似问题(顺便说一句,N只有14个观察结果,尽管我尝试了许多不同的数据框架并收到相同的错误消息)

谢谢

我认为问题是您没有提供必要的gafsControl参数。请参阅文档中的gafs调用示例:

## Not run: 
set.seed(1)
train_data <- twoClassSim(100, noiseVars = 10)
test_data  <- twoClassSim(10,  noiseVars = 10)
## A short example 
ctrl <- gafsControl(functions = rfGA, 
                    method = "cv",
                    number = 3)
rf_search <- gafs(x = train_data[, -ncol(train_data)],
                  y = train_data$Class,
                  iters = 3,
                  gafsControl = ctrl)

最新更新