2017-07-14 2 views
0

Je veux obtenir la matrice de confusion mais pour cela j'ai besoin de l'ensemble des éléments et étiquettes prédicats. comment puis-je obtenir ces données de tflearn par exemple pour cet exemple (Pannous speech_data) https://github.com/llSourcell/tensorflow_speech_recognition_demo/blob/master/demo.pyComment obtenir la matrice de confusion lors de l'utilisation de Tflearn

merci!

model.fit(trainX, trainY, n_epoch=10, validation_set=(testX, testY), show_metric=True,batch_size=batch_size) 
_y=model.predict(X) 
predictions.append(_y) 
labels.append(trainY) 
bp() 
confusionMat=tf.confusion_matrix(labels,predictions,num_classes=classes,dtype=tf.int32,name=None,weights=None) 
print(np.matrix(confusionMat)) 

Répondre

1
_y=model.predict(X) # predictions 
y = train_Y # i think this is actual labels data 

tf.confusion_matrix(
labels,    # put y here 
predictions,   #put _y here 
num_classes=None, 
dtype=tf.int32, 
name=None, 
weights=None 
) 
+0

Merci pour votre réponse rapide. simple et logique :). Il faut donc ajouter à chaque itération le _y et le train_Y à la prédiction et aux étiquettes, puis à la fin calcler la matrice de confusion? – user271077

+0

l'a essayé mais les étiquettes et les prédictions doivent être un tableau de classes. Cependant, avec tflearn chaque élément est un tableau avec la probabilité pour cette classe. comment dois-je l'utiliser comme étiquettes/prediciton? – user271077

+0

Veuillez essayer de déboguer et de comprendre le code. votre matrice de confusion attend deux tableaux. une étiquette que vous avez et l'autre est la classe de prédiction. Donc, au lieu de retourner le score de probabilité, essayez de retourner la classe de prédiction. classe de prédiction est où le score de probabilité obtient classifier. –