神经网络用于多元回归

时间:2014-12-02 21:34:21

标签: r neural-network regression

我有一个数据框Data,它有10列。前6个是输入值,接下来的4个列是输出值。

head(Data)
x1        x2       x3       x4       x5      x6      y1       y2     y3       y4
200       400      1.8     100       50      10     3884     3.9    5.98     1.91

我想使用神经网络通过使用neuralnet包预测输出值。当我使用以下代码时,我收到如下错误:

model <- neuralnet(Data[1:30,1:6], Data[1:30,7:10], data=Data, hidden=c(5,7), err.fct="ce", linear.output=FALSE)

Error in varify.variables(data, formula, startweights, learningrate.limit,  : 
  (list) object cannot be coerced to type 'double'

请告诉我这段代码有什么问题?

1 个答案:

答案 0 :(得分:0)

看起来你没有正确使用神经网络。

  1. 首先,你应该像这样指定你的公式: y1 + y2 + y3 + y4~x1 + x2 + x3 + x4 + x5 + x6

  2. 由于您正在解决回归问题,因此您应该使用默认值&#34; sse&#34;对于err.fct,而不是&#34; ce&#34;

  3. 同样,对于回归问题,我认为你应该选择线性激活函数,因此不需要指定&#34; linear.output = FALSE&#34;

  4. 所以你可能想要像这样调用神经网络:

    model&lt; - neuralnet(y1 + y2 + y3 + y4~x1 + x2 + x3 + x4 + x5 + x6,data = Data,hidden = c(5,7))

    在调用Neuralnet之前,您可能还需要重新调整输入要素。

    点击此处的文件: http://cran.r-project.org/web/packages/neuralnet/neuralnet.pdf