Algumas possibilidades vêm à minha mente.
Observar a taxa geral de acertos geralmente não é uma idéia muito boa, pois dependerá da composição do conjunto de testes se o desempenho das diferentes classes for diferente. Portanto, no mínimo, você deve especificar (e justificar) a frequência relativa das classes nos seus dados de teste para obter um valor significativo.
Em segundo lugar, como o @Shorack já disse, especifique quais tipos de erro são importantes. Freqüentemente, o classificador precisa atender a certos critérios de desempenho para ser útil (e a precisão geral raramente é a medida adequada). Existem medidas como sensibilidade, especificidade, valor preditivo positivo e negativo que levam em consideração as diferentes classes e os diferentes tipos de classificação incorreta. Você pode dizer que essas medidas respondem a perguntas diferentes sobre o classificador:
- sensibilidade: Que fração dos casos que pertencem verdadeiramente à classe C é reconhecida como tal?
- especificidade: Que fração dos casos que verdadeiramente não pertencem à classe C é reconhecida como tal?
- valor preditivo positivo: dado o classificador prediz a classe C, qual é a probabilidade de que esta predição esteja correta?
- valor preditivo negativo: dado que o classificador prevê que o caso não é da classe C, qual é a probabilidade de que essa previsão esteja correta?
Essas perguntas geralmente permitem formular especificações que o classificador precisa para ser útil.
Os valores preditivos geralmente são mais importantes do ponto de vista da aplicação prática do classificador: eles são condicionados à previsão, que é a situação em que você se aplica ao aplicar o classificador (um paciente geralmente não está interessado em saber a probabilidade de O teste consiste em reconhecer casos de doenças, mas com que probabilidade o diagnóstico indicado está correto). No entanto, para calculá-los adequadamente, você precisa conhecer as frequências relativas das diferentes classes na população em que o classificador é usado (parece que você tem essas informações - então não há nada que o impeça de olhar para isso).
Você também pode observar o ganho de informações que uma previsão positiva ou negativa fornece. Isso é medido pela razão de verossimilhança positiva e negativa, LR⁺ e LR⁻. Resumidamente, eles dizem quanto a previsão altera as probabilidades em relação à classe em questão. (veja minha resposta aqui para uma explicação mais detalhada)
Para o seu classificador trivial, as coisas são assim: vou usar a classe "0" como a classe em questão, então "positivo" significa classe "0". Dos 100 casos, 100 são previstos positivos (pertencer à classe 0). 97 deles realmente fazem, 3 não. A sensibilidade para a classe 0 é 100% (todos os 97 casos pertencentes à classe 0 foram reconhecidos), a especificidade é 0 (nenhum dos outros casos foi reconhecido). o valor preditivo positivo (assumindo que a frequência relativa de 97: 3 é representativa) é de 97%, o valor preditivo negativo não pode ser calculado, pois nenhuma previsão negativa ocorreu.
LR+=sensitivity1−specificity=1
LR−=1−sensitivityspecificity=00
Direção de pensamento completamente diferente: você menciona que deseja avaliar diferentes classificadores. Isso soa um pouco como comparação ou seleção de classificadores. A ressalva das medidas discutidas acima é que elas estão sujeitas a uma incerteza aleatória muito alta (o que significa que você precisa de muitos casos de teste) se você os avaliar em rótulos de classe "rígidos". Se sua previsão for primariamente contínua (métrica, por exemplo, probabilidade posterior), você poderá usar medidas relacionadas que analisem o mesmo tipo de pergunta, mas não usem frações de casos, mas medidas contínuas, veja aqui . Eles também serão mais adequados para detectar pequenas diferenças nas previsões.
(@FrankHarrell dirá que você precisa de "regras de pontuação adequadas", portanto esse é outro termo de pesquisa a ser lembrado.)
fonte
A Curva de Operação do Receptor (ROC) http://en.wikipedia.org/wiki/Receiver_operating_characteristic e os cálculos associados (ou seja, Área Sob Curva-AUC) são comumente usados. basicamente, você imagina que seu classificador dá uma resposta contínua (por exemplo, entre 0 e 1) e plota a sensibilidade versus taxa de alarme falso (1-especificidade), pois o limiar de decisão varia entre 0 e 1. Eles foram projetados especificamente para eventos raros (detectando inimigos aviões?).
fonte
Quando você lida com dados fortemente desequilibrados, a curva Precision-Recall é uma ferramenta muito boa, melhor do que seu primo mais comum na curva ROC .
Davis et. al. mostraram que um algoritmo que otimiza a área sob a curva ROC não é garantido para otimizar a área sob a curva PR.
fonte