我有一个数据框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'
请告诉我这段代码有什么问题?
答案 0 :(得分:0)
看起来你没有正确使用神经网络。
首先,你应该像这样指定你的公式: y1 + y2 + y3 + y4~x1 + x2 + x3 + x4 + x5 + x6
由于您正在解决回归问题,因此您应该使用默认值&#34; sse&#34;对于err.fct,而不是&#34; ce&#34;
同样,对于回归问题,我认为你应该选择线性激活函数,因此不需要指定&#34; linear.output = FALSE&#34;
所以你可能想要像这样调用神经网络:
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