Como o Keras calcula a precisão?


26

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?


você está usando model.evaluate em keras?
Hima Varsha #

Sim, estou usando model.evaluate. Mais especificamente, model.evaluate_generator.
precisa saber é o seguinte


@SO possivelmente relacionado: Como Keras avalia a precisão? )
desertnaut

Respostas:


24

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.


Obrigado pela resposta. Isso significa que, mesmo para a classificação binária, os rótulos precisam ser codificados a quente?
Raghuram

@Raghuram Não, para classificação binária, você só precisa de 0 ou 1 como classe, não é necessário codificá-los a quente. Como K.mean (K.equal (y_true, K.round (y_pred))) corresponderá a 2 valores flutuantes para cada caso, portanto, ele deve ser 0 ou 1 e não [0,1], [1,0].
Divyanshu Kalra

Para precisão categórica, use categorical_accuracy.
Shital Shah

11
para um problema de várias classes (com mais de duas classes), existe uma diferença entre o uso de "precisão" e "precisão_categoria"?
Quetzalcoatl
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.