curva_roc

17
Mineração de Dados e Aprendizado de Máquina Prof. Dr. Sílvio César Cazella

Upload: jean-lopes

Post on 25-Sep-2015

217 views

Category:

Documents


0 download

DESCRIPTION

curva roc

TRANSCRIPT

  • Minerao de Dados e Aprendizado de

    Mquina

    Prof. Dr. Slvio Csar Cazella

  • SumrioSumrio

    ROC CURVE

  • Acurcia Taxa de erros Acc(M) = porcentagem das tuplas dos dados de teste que sao

    corretamente classificadas. Err(M) = 1 Acc(M) Matriz de Confuso

    C1 C2

    C1 Positivosverdadeiros

    Falsos Negativos

    C2 Falsos Positivos

    Negativosverdadeiros

    Classes Preditas

    Classes Reais

  • Problemas: Classes no-balanceadas

    Exemplo : acc(M) = 90% C1 = tem-cncer (4 pacientes) C2 = no-tem-cncer (500 pacientes) Classificou corretamente 454 pacientes que no tem

    cncerNo acertou nenhum dos que tem cncer !!!Pode ser classificado como bom classificadormesmo com acurcia alta ?

  • Medidas para classificadores (classes no-balanceadas)

    Sensitividade (recall) = true-pos pos

    Preciso = true-pos true-pos + falso-pos

    % pacientes classificados corretamente como positivos dentre todos os que foram classificados como positivos

    % pacientes classificados corretamente como positivos dentre todos os que realmente so positivos

    Preciso e Recall : medidas originadas em Recuperao de Informao utilizadas em Classificao, quando se lida com classes no-balanceadas

  • Curva ROCCurva ROC

    ROC = Receiver Operating Characteristic Curve Enfoque grfico que mostra um trade-off entre as

    taxas de TP (TPRate) e FP (FPRate) de um classificador.

    TPR = TP/(TP + FN) FPR = FP/(TN + FP) Ideal : TPR = 1 e FPR = 0

  • ExerccioExerccio

    Total de amostras = 12 Positivas = 8 Negativas = 4 TP = 5 FP = 2 Calcular preciso, recall, acurcia,

    TPR, FPR, TNR, FNR, F1

  • Como gerar a curva ROC de um Como gerar a curva ROC de um classificador classificador ??

    O classificador precisa produzir, para cada tupla X, a probabilidade que a tupla X ser classificada na classe Positiva.

    preciso calcular esta probabilidade para rvores de deciso.

  • Como gerar a curva ROC de um Como gerar a curva ROC de um classificador classificador ??

    1. Ordene as tuplas da base de testes por ordem crescente de seus valores de output (prob. de estar na classe positiva)2. Selecione a primeira tupla X1 e

    Classifique X1 como POSITIVA

    Classifique todas as tuplas com outputs maiores do que X1 como POSITIVAS Neste caso, todas as tuplas foram classif icadas como positivas. Logo: todas as positivas foram corretamente classificadas TPR = 1 todas as negativas foram incorretamente classificadas FPR = 13. Selecione a segunda tupla X2 e

    Classifique X2 como POSITIVA

    Classifique todas as tuplas com outputs maiores do que X2 como POSITIVAS e as com outputs menores como NE GATIVAS

    Calcu le os novos valor es de TP e FP

    Se a cl as se de X1 posit iva ento TP dec rementado de 1 e F P continua o mesmo

    Se a cl as se de X1 negativa ento TP conti nua o mesmo e FP dec rementado.4. Repita o processo para a terceira tupla at varrer todo o banco de testes5. Faa o grfico dos valores de TPR (eixo y) por FPR (eixo x )

  • ExemploExemplo

    TP

    FP

    TN

    FN

    TPR

    FPR

    Classe - + - - - + - +++0.43 0.53 0.76 0.85 0.85 0.85 0.87 0.930.25 0.95

    5

    5

    0

    0

    1

    4

    5

    0

    1

    0.8

    1

    4

    4

    1

    1

    0.8

    0.8

    3

    4

    1

    2

    0.6

    0.8

    1

    3

    3

    2

    2

    0.6

    0.6

    3

    2

    3

    2

    0.6

    0.4

    3

    1

    4

    2

    0.6

    0.2

    2

    1

    4

    3

    0.4

    0.2

    2

    0

    5

    3

    0.4

    0

    1

    0

    5

    4

    0.2

    0

    0

    0

    5

    5

    0

    0

    1.00

    eixo yeixo x

  • ExemploExemplo

    0.1

    0.3

    0.2

    0.40.50.60.70.80.91.0

    0.00.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 FPR

    TPR

  • Curva RocCurva Roc

    Cada ponto na curva corresponde a um dos modelos induzidos pelo classificador

    Um bom modelo deve estar localizado prximo do ponto (0,1)

    Modelos localizados na diagonal so modelos aleatrios TPR = FPR

    Modelos localizados acima da diagonal so melhores do que modelos abaixo da diagonal.

  • ExemploExemplo

    0.1

    0.3

    0.2

    0.40.50.60.70.80.91.0

    0.00.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 FPR

    TPRModelo ideal

    Modelos que fazem previses aleatrias

  • Comparando performance relativas de diferentes classificadores

    Curvas Roc so utilizadas para se medir a performance relativa de diferentes classificadores.

    M1

    M2

    x

    At aqui M2 melhor do que M1A partir da, M1 fica melhor do que M2

  • rea abaixo da curva ROC (AUC)rea abaixo da curva ROC (AUC)

    A rea abaixo da curva ROC fornece medida para comparar performances de classificadores.

    Quanto maior a rea AUC (Area Under Curve) melhor a performance global do classificador.

    Classificador optimal: rea =1 Classificador randmico : rea = 0.5

  • FONTE:

    Amo, Sandra. Data Mining. Notas de Aula. Como

    comparar classificadores ? Universidade Federal

    de Uberlndia. 2010

  • Thats all folks

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17