Caffe peut non seulement imprimer une précision globale, mais aussi une précision par classe.
Dans le journal Keras, il n'y a qu'une précision globale. Il est difficile pour moi de calculer la précision des classes séparées.
Époque 168/200
0s - perte: 0,0495 - acc: 0,9818 - val_loss: 0,0519 - val_acc: 0,9796
Époque 169/200
0s - perte: 0,0519 - acc: 0,9796 - val_loss: 0,0496 - val_acc: 0,9815
Époque 170/200
0s - perte: 0,0496 - acc: 0,9815 - val_loss: 0,0514 - val_acc: 0,9801
Quelqu'un qui sait comment produire une précision par classe en keras?
La précision et le rappel sont des mesures plus utiles pour la classification multi-classes (voir définitions ). En suivant l'exemple Keras MNIST CNN (classification à 10 classes), vous pouvez obtenir les mesures par classe à l'aide de classification_report
de sklearn.metrics :
from sklearn.metrics import classification_report
import numpy as np
Y_test = np.argmax(y_test, axis=1) # Convert one-hot to index
y_pred = model.predict_classes(x_test)
print(classification_report(Y_test, y_pred))
Voici le résultat:
precision recall f1-score support
0 0.99 1.00 1.00 980
1 0.99 0.99 0.99 1135
2 1.00 0.99 0.99 1032
3 0.99 0.99 0.99 1010
4 0.98 1.00 0.99 982
5 0.99 0.99 0.99 892
6 1.00 0.99 0.99 958
7 0.97 1.00 0.99 1028
8 0.99 0.99 0.99 974
9 0.99 0.98 0.99 1009
avg / total 0.99 0.99 0.99 10000