Como o Keras calcula a precisão a partir das probabilidades classwise? Digamos, por exemplo, temos 100 amostras no conjunto de teste que podem pertencer a uma das duas classes. Também temos uma lista das probabilidades de classe. Qual limite o Keras usa para atribuir uma amostra a uma das duas classes?
neural-network
deep-learning
keras
Raghuram
fonte
fonte
Respostas:
Para classificação binária, o código para métrica de precisão é:
K.mean(K.equal(y_true, K.round(y_pred)))
o que sugere que 0,5 é o limite para distinguir entre classes. É claro que y_true deve ter 1 hots neste caso.
É um pouco diferente para a classificação categórica:
K.mean(K.equal(K.argmax(y_true, axis=-1), K.argmax(y_pred, axis=-1)))
o que significa "com que frequência as previsões têm o máximo no mesmo local que os valores verdadeiros"
Há também uma opção para a precisão categórica das principais k, que é semelhante à acima, mas calcula com que frequência a classe de destino está dentro das previsões das principais k.
fonte
categorical_accuracy
.