使用所有输入变量的神经网络?

neural network using all input variables?

我不熟悉在 R 中使用神经网络,并且一直在使用一些广泛的数据集尝试该算法。有没有一种方法可以将所有输入变量包含到网络中而无需键入所有名称?例如,我有大约 30 个变量,我想将它们用作输入来预测输出。以下命令有快捷方式吗?

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

在函数的公式部分插入变量有3种方式:

首先 通过使用 . 这将包括 data data.frame 中的所有变量,除了响应变量(变量输出在这种情况下):

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

如果您的 data.frame 只有输出和另外 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

所以你可以使用:

net <- neuralnet( a , data, hidden=0) #use a in the function

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

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

net <- neuralnet(Output ~ ., data=data[,1:31] , hidden=0)

使用它(或任何其他方便的子集)并选择您需要的 30 个变量以及输出变量。然后使用 . 来包含所有内容。

希望对您有所帮助!