neural network using all input variables?

SuY*_*uYo 3 r formula neural-network

我是神经网络的新手,并且正在尝试使用一些大数据集.有没有办法将所有输入变量都包含在网络中而无需键入所有名称?例如,我有大约30个变量,我想用它们来预测输出.以下命令是否有快捷方式?

net <- neuralnet(Output~Var1+Var2+Var3+Var4+.....upto Var30, data, hidden=0)
Run Code Online (Sandbox Code Playgroud)

我到处寻找,但无法找到解决方案.对不起,如果这是一个基本问题!

Lyz*_*deR 6

有三种方法可以在函数的公式部分中插入变量:

首先使用.其中包括datadata.frame中除响应变量之外的所有变量(在本例中为变量Output):

net <- neuralnet(Output ~ ., data, hidden=0) #apart from Output all of the other variables in data are included
Run Code Online (Sandbox Code Playgroud)

如果您的data.frame只有Output和另外30个变量,请使用此选项.

其次,如果您想使用数据data.frame中包含的名称向量,您可以尝试:

names <- c('var1','var2','var3') #choose the names you want
a <- as.formula(paste('Output ~ ' ,paste(names,collapse='+')))

> a
Output ~ var1 + var2 + var3 #this is what goes in the neuralnet function below
Run Code Online (Sandbox Code Playgroud)

所以你可以使用:

net <- neuralnet( a , data, hidden=0) #use a in the function
Run Code Online (Sandbox Code Playgroud)

如果可以提供30个变量名称的向量,请使用此选项

第三,data使用函数中所需的列对data.frame进行子集化,例如:

net <- neuralnet(Output ~ ., data=data[,1:31] , hidden=0)
Run Code Online (Sandbox Code Playgroud)

使用它(或任何其他方便的子集)并选择所需的30个变量以及Output变量.然后.用来包括一切.

希望能帮助到你!