Как Keras рассчитывает точность по классовым вероятностям? Например, у нас есть 100 образцов в тестовом наборе, которые могут принадлежать одному из двух классов. У нас также есть список классовых вероятностей. Какой порог использует Keras, чтобы назначить выборку любому из двух классов?
neural-network
deep-learning
keras
Raghuram
источник
источник
Ответы:
Для двоичной классификации код метрики точности:
K.mean(K.equal(y_true, K.round(y_pred)))
что говорит о том, что 0,5 является порогом для различия между классами. y_true в этом случае, конечно, должен быть 1-hots.
Это немного отличается для категориальной классификации:
K.mean(K.equal(K.argmax(y_true, axis=-1), K.argmax(y_pred, axis=-1)))
что означает «как часто прогнозы имеют максимум в том же месте, что и истинные значения»
Существует также опция для категориальной точности top-k, которая аналогична приведенной выше, но рассчитывает, как часто целевой класс находится в пределах прогнозов top-k.
источник
categorical_accuracy
.