这是我的第一个 ANN,所以我想这里可能有很多事情做错了。我不关注
我正在尝试从iris
以语言提供的数据集中预测花卉种类,R
但出现以下错误:
Error in `dimnames<-.data.frame`(`*tmp*`, value = list(n)) :
invalid 'dimnames' given for data frame
我的代码:
require(mxnet)
train <- iris[1:130,]
test <- iris[131:150,]
train.data <- as.data.frame(train[-5])
train.label <- data.frame(model.matrix(data=train,object =~Species-1))
test.data <- as.data.frame(test[-5])
test.label <- data.frame(model.matrix(data=test,object =~Species-1))
var1 <- mx.symbol.Variable("data")
layer0 <- mx.symbol.FullyConnected(var1, num.hidden=3)
cat.out <- mx.symbol.SoftmaxOutput(layer0)
net.model <- mx.model.FeedForward.create(cat.out,
array.layout = "auto",
X=train.data,
y=train.label,
eval.data = list(data=test.data,label=test.label),
num.round = 20,
array.batch.size = 20,
learning.rate=0.1,
momentum=0.9,
eval.metric = mx.metric.accuracy)
更新:
traning.label[,1]
通过指定要在标签(和test.label[,1]
)中使用的列,我设法摆脱了这个错误。
但是现在我正在训练我的网络来预测我的二元变量中的一个,而我有 3 个(每个物种一个)。