将大量数据输入 R 中的神经网络函数

Feeding large amounts of data into neuralnet function in R

如何将 100 种不同情况输入 neuralnet 包中的 neuralnet() 函数,而无需手动输入它们。

如果有一个数据帧colnames(df) = "one","two","three"..."one hundred"

我想将每一列用作神经网络的输入,有没有办法像这样应用 neuralnet 函数:

nn <- neuralnet(one~two+three+four+five+six+seven+eight...+one hundred, data=df, 
      err.fct = 'sse', linear.output = F, likelihood=T)

无需实际输入所有一百个 colnames。



我试过输入:

nn <- neuralnet(one~as.factor(paste(names(df)[-1], collapse="+")) data=df, 
      err.fct = 'sse', linear.output = F, likelihood=T)

并收到错误

Error in model.frame.default(formula.reverse, data) : 
  variable lengths differ (found for 'as.factor(paste(names(df)[-1], collapse="+"))')

可能是重复的问题。 编辑:@Hong Ooi 指出 "dot solution" 在 neuralnet() 中不起作用。

dta <- data.frame(a=rnorm(10), a2=rnorm(10), a3=rnorm(10))
frm <- as.formula(paste(names(dta)[1], " ~ ", paste(names(dta)[-1], collapse= "+")))
nn <- neuralnet(frm, data=dta, err.fct = 'sse', linear.output = F, likelihood=T)