2017-03-01 3 views
0

Ceci est mon premier ANN donc j'imagine qu'il pourrait y avoir beaucoup de choses mal faites ici. Je ne suis pasMXN erreur impaire

J'essaie de prédire les espèces de fleurs de iris ensemble de données fournies dans la langue R mais je reçois l'erreur suivante:

Error in `dimnames<-.data.frame`(`*tmp*`, value = list(n)) : 
invalid 'dimnames' given for data frame 

Mon code:

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) 

MISE À JOUR :

J'ai réussi à me débarrasser de cette erreur en spécifiant la colonne à utiliser dans les étiquettes (traning.label[,1] et test.label[,1]) .

Cependant, maintenant je m'entraîne mon net pour prédire seulement une de mes variables binaires alors que j'en ai 3 (une pour chaque espèce).

Répondre

1

J'ai eu le même problème, apparu que: train.data doit être une matrice train.label doit être un vecteur numérique Vérifiez ces deux et nous espérons que cela devrait fonctionner.