-1

Я пытаюсь использовать выбор функции Caret с использованием генетических алгоритмов или имитационного отжига, и я получаю одинаковое сообщение об ошибке в обоих случаях.Выбор генетических алгоритмов Caret

Я пробовал самую основную форму gafs и safs с очень простым фреймом входных данных.

> 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? 

Я признателен, если кто-то может поделиться опытом, если бы столкнулся с подобной проблемой (кстати, п имеют только 14 наблюдений, хотя я пытался с большим количеством различных кадров данных и получил такое же сообщение об ошибке)

Спасибо

+1

Обеспечение воспроизводимый пример и результаты 'sessionInfo' поможет. Прежде всего я предполагаю, что вы не указали какие-либо функции для использования GA. Вы должны потратить некоторое время и прочитать [расширенную документацию] (http://topepo.github.io/caret/GA.html) и убедиться, что знаете, что делает эта функция. – topepo

ответ

1

Я думаю, проблема в том, что вы не предоставляете необходимый параметр gafsControl. См gafs вызов в documentation example:

## 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) 
Смежные вопросы