我正在建立一个神经网络来根据许多变量预测“适合”。 “FitCls”分为三类:“优秀”,“好”和“差”。我有10个输入变量,并选择了一个带有6个神经元的隐藏层。我想要三个输出神经元,以便我可以将呈现给神经网络的情况分类为“适合”,即“优秀”,“好”或“差”。 我已经看到了一个类似的例子,其中这是使用虹膜数据(在幻灯片40,等等)上完成的:http://www.slideshare.net/DerekKane/data-science-part-viii-artifical-neural-network。我试图复制该结构,但在绘制网络时我仍然只得到一个输出节点。
这是我的代码(加载'nfit'数据帧后):
nfit[nfit$FitCls=="Excellent", "Output"] <- 2
nfit[nfit$FitCls=="Good", "Output"] <- 1
nfit[nfit$FitCls=="Poor", "Output"] <- 0
nn <- neuralnet(Output~Universalism+Benevolence+Tradition+Conformity+Security+Power+Achievement+Hedonism+Stimulation+SelfDir, data = nfit, hidden = 6, err.fct = "ce", linear.output = FALSE)
当我运行神经网络时,它会给我一个警告信息,它强制err.fct为“sse”,因为响应不是二进制的。我不确定出了什么问题,因为在我复制的例子中,神经网络的图显示了三个输出节点。请让我知道我做错了什么。
如果这不是使用神经网络进行分类的正确方法,我也非常感谢您可以提供的关于我应该做什么的任何帮助。非常感谢!