如何使用R中的neuralnet包编程多个输出节点?
我正在建立一个神经网络来预测基于许多变量的“拟合”。“FitCls”分为三类:“优秀”、“良好”和“差”。我有10个输入变量,选择了一个有6个神经元的隐藏层。我想要三个输出神经元,这样我就可以将呈现给神经网络的情况分类为“适合”,即“优秀”、“良好”或“较差”。 我已经看到了一个类似的例子,其中使用iris数据(见幻灯片40等)实现了这一点:。我试图复制那个结构,但当我绘制网络时,我仍然只得到一个输出节点 以下是我的代码(加载“nfit”数据帧后):如何使用R中的neuralnet包编程多个输出节点?,r,machine-learning,neural-network,R,Machine Learning,Neural Network,我正在建立一个神经网络来预测基于许多变量的“拟合”。“FitCls”分为三类:“优秀”、“良好”和“差”。我有10个输入变量,选择了一个有6个神经元的隐藏层。我想要三个输出神经元,这样我就可以将呈现给神经网络的情况分类为“适合”,即“优秀”、“良好”或“较差”。 我已经看到了一个类似的例子,其中使用iris数据(见幻灯片40等)实现了这一点:。我试图复制那个结构,但当我绘制网络时,我仍然只得到一个输出节点 以下是我的代码(加载“nfit”数据帧后): nfit[nfit$FitCls==“优秀”
nfit[nfit$FitCls==“优秀”,“输出”]或多或少地复制您需要的iris示例:
library(neuralnet)
library(nnet)
trainset <- cbind(iris[, 1:4], class.ind(iris$Species))
espnnet2=neuralnet(setosa + versicolor + virginica ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width, trainset)
plot(espnnet2)
库(neuralnet)
图书馆(nnet)
列车组可能库将您的响应变量视为一个数字。您是否尝试将FitCls
列设置为因子列<代码>nfit$FitCls感谢您的回复。我已经试过了,但neuralnet似乎无法以这种方式处理各种因素。这种方法适用于nnet,但由于某些原因,不适用于neuralnet。
library(neuralnet)
library(nnet)
trainset <- cbind(iris[, 1:4], class.ind(iris$Species))
espnnet2=neuralnet(setosa + versicolor + virginica ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width, trainset)
plot(espnnet2)