Curso de Data Mining Sandra de Amo Curvas Roc Uma curva ROC (Receiver Operating Characteristic) é um enfoque gráfico que permite visualizar os trade-offs entre as taxas de positivos verdadeiros e positivos falsos de vários modelos de um classificador. É um enfoque empregado quando se dispõe de duas classes não-balanceadas. Através do gráfico da curva ROC tem-se uma nítida idéia da qualidade preditiva do classificador, uma vez que a curva contém dados estatísticos de diferentes modelos induzidos pelo classificador. Através das curvas ROC, podemos comparar a qualidade de dois classificadores medindo a área abaixo de suas respectivas curvas: quanto maior a área maior a qualidade do classificador. Trade-off entre TPR e FPR A taxa de true-positivos (TPR) corresponde à medida Revocação (ou sensitividade ou Recall). É definida como a porcentagem de elementos CORRETAMENTE CLASSIFICA- DOS COMO POSITIVOS pelo modelo dentre todos os POSITIVOS REAIS. A taxa de falsepositivos (FPR) é definida como a porcentagem de elementos ERRONEAMENTE CLAS- SIFICADOS COMO POSITIVOS pelo modelo dentre todos os NEGATIVOS REAIS. T P R = T P T P + F N F P R = F P F P + T N Obviamente, um modelo de classificação ideal teria TPR = 1 e FPR = 0 (taxa de acerto = 1 e taxa de erro = 0). Um modelo aleatório teria TPR = 0,5 e FPR = 0,5. E um modelo totalmente contraditório teria TPR = 0 e FPR = 1 (taxa de acerto = 0 e taxa de erro = 1). A curva ROC de um classificador é um gráfico contendo no eixo x valores de FPR (taxas de erro) de diferentes modelos do classificador e no eixo y os valores de TPR (taxas de acerto) dos mesmos modelos. Assim, a curva ROC de um classificador consiste na plotagem da seguinte tabela: Modelo FPR TPR 1 f 1 t 1 2 f 2 t 2 3 f 3 t 3......... n f n t n A maneira como tais modelos são escolhidos é descrita a seguir. Como é construída uma curva ROC de um classificador? 1
Um classificador corresponde a um método de classificação, por exemplo o classificador ID3, o classificador J48, o classificador Bayesiano, o classificador SVM, o classificador AdaBoost, etc. Cada classificador C induz diferentes modelos, da seguinte maneira: Seja D um banco de dados de amostras classificadas. Uma amostragem de D é um par A = (T r, T e ) tal que T r D, T e D e T r T e = D. T r é chamado de Amostras de Treinamento e T e é chamado de Amostras de Testes. Cada amostragem A i induz um modelo M i do classificador: o conjunto T r é usado para construir o modelo de classificação e o conjunto T e é usado para testar o modelo. A acurácia do modelo M i é calculada como a porcentagem de amostras de T e corretamente classificadas dentre o total de amostras de T e. A acurácia do classificador C é calculada como sendo a média das acurácias dos modelos induzidos. Diversas técnicas de construir as diferentes amostragens (T r, T e ) são consideradas (Hold-out, cross-validation, bootstrap, etc), de modo a se ter uma medida de acurácia o mais confiável possivel. Dados diferentes modelos induzidos pelo classificador, como o classificador classifica uma amostra X? Para cada modelo induzido M i determina-se a classe que este modelo associa à amostra X. Após este cálculo, dispõe-se de uma função que associa a cada classe c a porcentagem de modelos que associaram esta classe à amostra X. Considera-se a classe com a maior porcentagem como sendo a classe associada a X pelo classificador. Por exemplo, suponha que tenhamos dez modelos M 1, M 2,..., M 10 e duas classes: c 1, c 2. Suponhamos que c 1 foi escolhida por 3 modelos, c 2 foi escolhida 7. Então X é classificada na classe c 2 com probabilidade 0,7. Para a construção da curva ROC do classificador C, procede-se da seguinte maneira: 1. considera-se a massa de dados de amostras D, os diferentes modelos M 1,..., M n induzidos, e um número m de amostras de D escolhidas aleatoriamente x 1, x 2,..., x m, de modo que se tenha exatamente o mesmo número de amostras de cada classe ( m 2 de cada classe). 2. Calcula-se a probabilidade de cada amostra ser classificada na classe positiva. 3. Ordena-se as amostras em ordem crescente de probabilidade de ser classificada na classe positiva. 4. Como se considerou um número muito grande de modelos induzidos para se efetuar a classificação das amostras x 1,..., x m, é razoável que existam modelos M 1, M 2,..., M m, M m+1 tais que: M 1 classifica todos as amostras na classe positiva, M 2 classifica m 1 amostras na classe positiva e uma na negativa, M 3 classifica m 2 amostras na classe positiva e duas na negativa,..., M m classifica 1 amostra na classe positiva e m 1 na negativa e M m+1 classifica m amostras na classe negativa e nenhuma na positiva. 5. Como as amostras estão ordenadas por ordem crescente de probabilidade de serem classificadas na classe positiva, é razoável de afirmar que o único elemento classificado como 2
negativo pelo modelo M 2 é o x 1 (já que a probabilidade de x 1 ser classificada como positiva é a mais baixa de todas), que os únicos dois elementos a serem classificados como negativos pelo modelo M 3 são x 1 e x 2 (já que estes dois elementos são os que têm a menor probabilidade de serem classificados na classe positiva - portanto a maior probabilidade de serem classificados na classe negativa), etc. 6. Resumindo, temos a seguinte tabela: Modelo Negativos Positivos M 1 nenhum {x 1,..., x m } M 2 {x 1 } {x 2,..., x m } M 2 {x 1, x 2 } {x 3,..., x m }......... M m {x 1,..., x m 1 } {x m } M m+1 {x 1,..., x m } nenhum 7. Para cada um dos modelos M i calcula-se as taxas TPR e FPR, calculando as medidas TP, FP, TN e FN da seguinte maneira: Exercícios Para o M 1 : T P = número de amostras positivas e F P = número de amostras negativas. T N = 0 e F N = 0. Logo TPR = 1 e FPR = 1. Para cada M i (i > 1): verifica-se a classe real da amostra x i 1 : se for positiva: TP de M i = TP de M i 1 1 FP de M i = FP de M i 1. TN de M i = TN de M i 1 FN de M i = FN de M i 1 + 1. se for negativa: TP de M i = TP de M i 1 FP de M i = FP de M i 1 1. TN de M i = TN de M i 1 + 1 FN de M i = FN de M i 1. 1. Explique as fórmulas para o cálculo de TP, FP, TN e FN de cada modelo M i. 2. Suponha dois classificadores C 1 e C 2 e uma massa de dados de amostras D que foi utilizada para avaliar a qualidade dos dois classificadores. Foram escolhidas 20 amostras x 1, x 2,..., x 20 de D e as seguintes informações foram obtidas: 3
(a) Classificador C 1 : Amostra Probabilidade da classe ser positiva Valor real da classe x 1 0,93 + x 2 0,24 - x 3 0,53 - x 4 0,72 + x 5 0,82 - x 6 0,85 - x 7 0,47 - x 8 0,33 - x 9 0,69 - x 10 0,78 + x 11 0,99 + x 12 0,97 + x 13 0,56 + x 14 0,79 + x 15 0,87 - x 16 0,94 + x 17 0,25 - x 18 0,43 + x 19 0,66 + x 20 0,89-4
(b) Classificador C 2 : Pede-se: Amostra Probabilidade da classe ser positiva Valor real da classe x 1 0,83 + x 2 0,26 - x 3 0,45 - x 4 0,65 + x 5 0,18 + x 6 0,85 - x 7 0,67 - x 8 0,20 - x 9 0,69 + x 10 0,75 + x 11 0,98 + x 12 0,95 - x 13 0,23 + x 14 0,77 + x 15 0,82 + x 16 0,94 - x 17 0,21 - x 18 0,12 - x 19 0,18 + x 20 0,97 - (a) Faça as tabelas contendo as medidas TP, TN, FP, FN, TPR e FPR de cada um dos 21 modelos dos classificadores C 1 e C 2, referentes às amostras x 1,..., x 20. (b) Faça as curvas ROC dos dois classificadores C 1 e C 2. (c) Qual é, em sua opinião, o melhor classificador? 5