R Caret NNET пакет
У меня есть два объекта R, как показано ниже.
матрица "datamatrix" - 200 строк и 494 столбца: это мои переменные x
фрейм данных Y. Y$V1 - моя переменная Y. Я преобразовал столбец V1 в фактор, который я строю, в модели классификации.
Я хочу построить нейронную сеть, и я побежал ниже команды.
model <- train(Y$V1 ~ datamatrix, method='nnet', linout=TRUE, trace = FALSE,
#Grid of tuning parameters to try:
tuneGrid=expand.grid(.size=c(1,5,10),.decay=c(0,0.001,0.1)))
Я получил ошибку - " argument "data" is missing, with no default"
Есть ли способ для пакета caret понять, что у меня есть мои переменные X в одном объекте R и переменная Y в другом? Я не хочу объединять два объекта данных, а затем написать формулу, так как формула будет слишком длинной
Y~x1+x2+x3.................x199+x200....x493+x494
1 ответ
argument "data" is missing
ошибка устраняется путем добавления data = datamatrix
аргумент train
вызов. То, как я бы это сделал, было бы примерно так:
datafr <- as.data.frame(datamatrix)
# V1 is the first column name if dimnames aren't specified
datafr$V1 <- as.factor(datafr$V1)
model <- train(V1 ~ ., data = datafr, method='nnet',
linout=TRUE, trace = FALSE,
tuneGrid=expand.grid(.size=c(1,5,10),.decay=c(0,0.001,0.1)))
Теперь вам не нужно извлекать переменную ответа отдельно.
.
идентификатор позволяет включать все переменные из datafr
(подробности см. здесь)