将大量数据输入 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)
如何将 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)