Jak Keras oblicza dokładność na podstawie prawdopodobieństw klasowych? Powiedzmy, na przykład, że mamy 100 próbek w zestawie testowym, które mogą należeć do jednej z dwóch klas. Mamy również listę klasowych probabilitów. Jakiego progu używa Keras do przypisania próbki do jednej z dwóch klas?
neural-network
deep-learning
keras
Raghuram
źródło
źródło
Odpowiedzi:
W przypadku klasyfikacji binarnej kod metryki dokładności to:
K.mean(K.equal(y_true, K.round(y_pred)))
co sugeruje, że 0,5 jest progiem do rozróżnienia klas. W tym przypadku y_true powinno oczywiście wynosić 1-hots.
Trochę inaczej jest w przypadku klasyfikacji kategorycznej:
K.mean(K.equal(K.argmax(y_true, axis=-1), K.argmax(y_pred, axis=-1)))
co oznacza „jak często prognozy mają maksimum w tym samym miejscu, co wartości prawdziwe”
Istnieje również opcja dokładności jakościowej najwyższego k, która jest podobna do powyższej, ale oblicza, jak często klasa docelowa mieści się w przewidywaniach najwyższego k.
źródło
categorical_accuracy
.