【问题标题】:neuralnet for multiple regression用于多元回归的神经网络
【发布时间】:2015-01-31 06:56:49
【问题描述】:

我有一个数据框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'

你能告诉我这段代码有什么问题吗?

【问题讨论】:

    标签: r neural-network regression


    【解决方案1】:

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

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

    2. 由于您要解决回归问题,您应该为 err.fct 使用默认值“sse”,而不是“ce”

    3. 同样,对于回归问题,我相信您应该选择线性激活函数,因此无需指定“linear.output=FALSE”

    所以你可能想这样调用神经网络:

    模型

    此外,您可能需要在调用神经网络之前重新调整输入特征。

    在此处查看文档: http://cran.r-project.org/web/packages/neuralnet/neuralnet.pdf

    【讨论】: