[R]当神经网络功能发生错误时该怎么办
神经网络功能
神经网络功能是R中的神经网络库之一。该库的优点是可以使用plot()直接可视化创建的学习器,并且可以一目了然地看到计算图和权重/偏差值。
以下是一个便条,它也可以用作便条,因为在以鸢尾花数据集作为练习进行多类分类时,我以各种方式迷失了方向。在R中实际试用神经网络时,建议选择另一个易于使用的库。
执行Neuronet时的错误和处理
定性变量输入错误
在许多R函数中,如果将定性变量定义为因子类型,它将被自动视为虚拟变量(python没有因子类型,pandas get_dummies函数等。将定性变量相除,0或1是指示其是否属于的列)。 由于神经网络功能只能处理定量变量,因此无法正确识别诸如虹膜的“种类”之类的定性变量,并且发生了错误。要将定性变量转换为虚拟变量,请运行以下代码。
library(caret)
tmp <- dummyVars(~.,data=train)
dummy <- as.data.frame(predict(tmp, train))
关于多类别分类时的公式
在nnet函数等中,可以编写如下。在这里,对于种类,将其他变量指定为解释变量(“.除目标变量外的其他均值)。
library(nnet)
nn1 <- nnet(formula = Species ~ ., size=5, data=train)
由于说明变量已转换为虚拟变量,因此公式通过将所有类别与“ +”连接来描述所有要分类的类别。
library("neuralnet") f = Species.setosa + Species.versicolor + Species.virginica
~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
nn2 <- neuralnet(formula = f, data = dummy)
结果
我能够安全地对虹膜进行分类。
讨论
评论清单
暂无任何评论