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)
我到处寻找,但无法找到解决方案.对不起,如果这是一个基本问题!
有三种方法可以在函数的公式部分中插入变量:
首先使用.其中包括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变量.然后.用来包括一切.
希望能帮助到你!