Considere um cenário em que você recebe as matrizes KnownLabel Matrix e PredictedLabel. Eu gostaria de medir a qualidade da matriz PredictedLabel em relação à matriz KnownLabel.
Mas o desafio aqui é que a KnownLabel Matrix tem poucas linhas, apenas uma 1 e outras poucas linhas têm muitos 1's (essas instâncias têm várias legendas). Um exemplo da KnownLabel Matrix é dado abaixo.
A =[1 0 0 0
0 1 0 0
0 1 1 0
0 0 1 1
0 1 1 1]
Na matriz acima, as instâncias de dados 1 e 2 são dados de rótulo único, as instâncias de dados 3 e 4 são dois dados de rótulo e a instância de dados 5 é os três dados de rótulo.
Agora eu tenho PredictedLabel Matrix de instância de dados usando um algoritmo.
Gostaria de conhecer várias medidas que podem ser usadas para medir a bondade da Matriz PredictedLabel contra a Matriz KnownLabel.
Eu posso pensar na diferença da norma frobeinus entre eles como uma das medidas. Mas estou procurando a medida como precisão
Aqui, como podemos definir o para várias instâncias de dados?
fonte
Respostas:
(1) fornece uma boa visão geral:
A classificação de múltiplas etiquetas da página da Wikipedia contém também uma seção sobre as métricas de avaliação.
Eu acrescentaria um aviso de que, na configuração de vários rótulos, a precisão é ambígua: pode se referir à proporção exata de correspondência ou à pontuação de Hamming (consulte este post ). Infelizmente, muitos artigos usam o termo "precisão".
(1) Sorower, Mohammad S. " Uma pesquisa bibliográfica sobre algoritmos para aprendizado de vários rótulos " . Oregon State University, Corvallis (2010).
fonte
accuracy
medida, como você lida com casos elegantes em que o denominador|Y + Z| == 0
?A perda de Hamming é provavelmente a função de perda mais amplamente utilizada na classificação de vários rótulos.
Dê uma olhada em Estudos empíricos sobre classificação de rótulos múltiplos e classificação de rótulos múltiplos: uma visão geral , os quais discutem isso.
fonte
Correctly Predicted
é a interseção entre o conjunto de rótulos sugeridos e o conjunto esperado.Total Instances
é a união dos conjuntos acima (sem contagem duplicada).Portanto, dado um exemplo único em que você prediz classes
A, G, E
e o caso de teste temE, A, H, P
como os corretos, você acaba comAccuracy = Intersection{(A,G,E), (E,A,H,P)} / Union{(A,G,E), (E,A,H,P)} = 2 / 5
fonte