Je travaille sur un problème de classification multiclasse en utilisant Keras et j'utilise la précision binaire et la précision catégorique comme métriques. Quand j'évalue mon modèle, j'obtiens une valeur vraiment élevée pour la précision binaire et une valeur très basse pour la précision catégorique. J'ai essayé de recréer la métrique de précision binaire dans mon propre code mais je n'ai pas beaucoup de chance. Je crois comprendre que c'est le processus que je dois recréer:La métrique de précision binaire de Keras donne une précision trop élevée
def binary_accuracy(y_true, y_pred):
return K.mean(K.equal(y_true, K.round(y_pred)), axis=-1)
Voici mon code:
from keras import backend as K
preds = model.predict(X_test, batch_size = 128)
print preds
pos = 0.00
neg = 0.00
for i, val in enumerate(roundpreds):
if val.tolist() == y_test[i]:
pos += 1.0
else:
neg += 1.0
print pos/(pos + neg)
Mais cela donne une valeur beaucoup plus faible que celle donnée par la précision binaire. La précision binaire est-elle même une métrique appropriée à utiliser dans un problème multi-classes? Si oui, est-ce que quelqu'un sait où je vais mal?
Vous ne devriez pas utiliser la précision binaire pour un problème multiclass, les résultats n'auraient pas de sens. –