Avaliação de Classificadores Binários

Slides:



Advertisements
Apresentações semelhantes
Correlação e Regressão
Advertisements

Aprendizado de Máquina
Cássio Luís Fernandes de Oliveira
HAC MD -junho/ Noções de algoritmos e estudo de casos das principais tarefas de Mineração de dados.
PREDIÇÃO DATA MINING AULA 13 SANDRA DE AMO
Cálculo Relacional Datalog não-recursivo
Aprendem a partir de seus vizinhos AULA 9 DATA MINING Sandra de Amo
Classificação Arvores de Decisão
Classificadores em Dados não Balanceados
Classificadores Bayesianos
Mineração dePreferências Contextuais A. Soulet et al AULA 19 Data Mining Profa. Sandra de Amo.
Inteligência Artificial
Reconhecimento de Padrões Receiver Operating Characteristics (ROC)
Irineu Júnior Pinheiro dos Santos Mirela Ferreira César
Delineando estudos de testes médicos
Objetivo Definições Cálculo do teste Exemplo Comentários Bibliografia
Avaliação de testes diagnósticos
Avaliação de Testes Diagnósticos
Tratamento de Dados Desbalanceados
Aprendizado de Máquina Aula 8
Aula Prática Classificação
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Tratamento de Dados Desbalanceados
Classificação. Classificação: Atribuição a uma classe (rótulo de um atributo categórico). Classifica dados (constrói um modelo) baseado em um conjunto.
K-NN Prof. Dr. Rogério Vargas.
DISTRIBUIÇÃO AMOSTRAL DA PROPORÇÃO DA AMOSTRA OU
DISTRIBUIÇÃO AMOSTRAL DA MÉDIA DA AMOSTRA OU DISTRIBUIÇÃO AMOSTRAL DE
Estatística e Probabilidade
Classificação Arvores de Decisão
DISTRIBUIÇÕES AMOSTRAIS
Avaliação de Clusteres Parte II
Teste de Hipótese.
O Processo de KDD Data Mining SUMÁRIO - AULA1 O processo de KDD
MEDIDAS DE DESEMPENHO Classificação SUPERVISIONADA
KNN – K Nearest Neighbor (K Vizinhos mais Próximos)
Noções de Inferência Estatística
1 Naïve Bayesian Learning Marcílo Souto DIMAp/UFRN.
LIG - Université Grenoble Mineração de Preferências Contextuais sobre dados de preferência “pairwise” Data Mining AULA 19 – Parte I Sandra de Amo.
Avaliação de testes diagnósticos
SENSIBILIDADE, ESPECIFICIDADE E VALORES PREDITIVOS
Marcus Sampaio DSC/UFCG Os slides 3-15 foram copiados de Pang-Ning Tan.
Problemas NP-completos e Programação Dinâmica
Classificação de Texto Baseada na aula de Henrique Borges e Ícaro Medeiros Alterada por Flávia Barros.
Universidade Federal Fluminense Faculdade de Medicina Mestrado Profissional em Saúde Materno-Infantil 2011 BIOESTATÍSTICA-aula 2 Prof. Cristina Ortiz Valete.
Classificação: conceitos básicos e árvores de decisão
Operações Aritméticas AULA 3 Análise de Algoritmos Pós-graduação em Ciência da Computação – UFU Profa. Sandra de Amo.
ERROS E TRATAMENTO DE DADOS ANALÍTICOS
M ÉTODOS E STATÍSTICOS PARA E XATIDÃO DE M APEAMENTO E A VALIAÇÃO DE M ODELOS Camilo Daleles Rennó Referata Biodiversidade 8 novembro 2007.
Aula 1 ESTATÍSTICA E PROBABILIDADE
Mineração de Dados Profa. Sandra de Amo
DISTRIBUIÇÕES DE PROBABILIDADE
Distribuição de Frequências
PROBABILIDADE E AVALIAÇÃO DE TESTES DE DIAGNÓSTICOS
Introdução à Estatística
Tecnologias e Sistemas de Informação
FEATURE SELECTION. Introdução  Estudo de metodologias relacionadas a seleção de atributos  Maldição da dimensionalidade  O número de atributos do desenvolvedor.
Classificadores Bayesianos Classificadores Bayesianos são classificadores estatísticos que classificam um objeto numa determinada classe baseando-se na.
Teste Exato de Fisher Evelyn Souza Paloma Gerlach Ribas
Aula Pratica Aprendizagem WEKA Prof. Ivan Gesteira Costa Filho Centro de Informática Universidade Federal de Pernambuco.
©2005 Germano C.Vasconcelos Projeto da Disciplina Germano C. Vasconcelos Centro de Informática - UFPE.
Aula X: Curva ROC e teste de hipóteses M-ário
Estimação e Intervalo de Confiança. Estimação Frequentemente necessitamos, por meio das amostras, conhecer informações gerais da população. A estimação.
Inferência 1:Estimação de Parâmetros Relembrando o Teorema Central do Limite Da aula anterior: a) Os estimadores da média e da s 2 são não viciados e de.
Distribuição de freqüências
DETEÇÃO E ESTIMAÇÃO Aula 18: Simulação de Monte Carlo – Parte 2.
DETEÇÃO E ESTIMAÇÃO Aula X+1: Simulação de Monte Carlo.
Métodos Probabilísticos
Utiliza-se a MoP para a análise da assimetria
Transcrição da apresentação:

Avaliação de Classificadores Binários AULA 9 – Parte I DATA MINING Sandra de Amo

Acurácia – Taxa de erros Acc(M) = porcentagem das tuplas dos dados de teste que são corretamente classificadas. Err(M) = 1 – Acc(M) Matriz de Confusão Classes Preditas C1 C2 Positivos verdadeiros Falsos Negativos Falsos Negativos Classes Reais

Problemas: Classes “não-balanceadas” Exemplo : acc(M) = 90% C1 = tem-câncer (4 pacientes) C2 = não-tem-câncer (500 pacientes) Classificou corretamente 454 pacientes que não tem câncer Não acertou nenhum dos que tem câncer Pode ser classificado como “bom classificador” mesmo com acurácia alta ?

Medidas para classificadores (classes não-balanceadas) % pacientes classificados corretamente como positivos dentre todos os que realmente são positivos Sensitividade (recall) = true-pos pos Especificidade = true-neg neg Precisão = true-pos true-pos + falso-pos % pacientes classificados corretamente como positivos dentre todos os que foram classificados como positivos Precisão e Recall : medidas originadas em Recuperação de Informação utilizadas em Classificação, quando se lida com “classes não-balanceadas”

Medida F1 : Média harmônica de Precisão e Recall 2 rp F1 = r + p 2 TP 2 TP + FP + FN Exercicio: 1. Mostrar que F1 = 2 1 + r p Exercicio: 2. Mostrar que F1 = = média harmônica entre p e r Média harmônica entre dois números x e y tende a ser próxima de min(x,y) Assim, F1 alto implica que precisão e recall são razoavelmente altos.

Trade-off entre TP e FP FP TP FN TN POSITIVOS REAIS NEGATIVOS REAIS

Curva ROC ROC = Receiver Operating Characteristic Curve Enfoque gráfico que mostra um trade-off entre as taxas de TP (TPR) e FP (FPR) de um classificador. TPR = TP/(TP + FN) ( = recall) = Porcentagem de amostras corretamente classificadas como positivas dentre todas as positivas reais FPR = FP/(TN + FP) Porcentagem de amostras erroneamente classificadas como positivas dentre todas as negativas reais Ideal : TPR = 1 e FPR = 0

Exercício Total de amostras = 12 Positivas = 8 Negativas = 4 TP = 5 FP = 2 Calcular precisão, recall, acurácia, TPR, FPR, TNR, FNR, F1

O que é uma curva ROC de um classificador ? Classificador = método de classificação (ID3, J48, SVM,...) Classificador + Dados de Amostras  M1, M2, ..., Mk Mi = modelo do classificador Mi  TPR, FPR Curva ROC do classificador: Plotagem da tabela FPR/TPR

Como classificar uma amostra usando diferentes modelos do classificador ? O classificador precisa produzir, para cada tupla X, a probabilidade que a tupla X ser classificada na classe Positiva. Classificadores como redes neurais e redes bayesianas produzem tais probabilidades. Para outros tipos de classificadores, é preciso calcular esta probabilidade.

Como classificar uma amostra usando diferentes modelos do classificador ? D = conjunto de amostras classificadas Amostragem de D = (Tr, Te) Tr = Treinamento , Te = Testes , Tr U Te = D Uma amostragem (Tr, Te) induz um modelo M do classificador Classificação de uma amostra X Pi = probabilidade de X ser classificada na classe ci = porcentagem de modelos que classifica X na classe ci

Construção da Curva ROC de um classificador Escolhe-se aleatoriamente m amostras da massa de dados: x1, ..., xm Calcula-se pi = probabilidade de xi ser classificada na classe positiva. Ordena-se as amostras xi por ordem crescente das probabilidades p1 < p2 < ... < pm Existem modelos M1, M2, ..., Mm, Mm+1 tais que: M1: Classificam todos os xi como positivos M2: Classificam um como negativo e os outros como positivos ... Mi: Classificam (i-1) como negativos e os outros como positivos Logo, é razoável supor que:

Cálculo de TPR e FPR para cada modelo Mi

Exemplo Classe + - + - - - + - + + 0.25 0.43 0.53 0.76 0.85 0.85 0.85 0.87 0.93 0.95 1.00 TP 5 4 4 3 3 3 3 2 2 1 FP 5 5 4 4 3 2 1 1 TN 1 1 2 3 4 4 5 5 5 FN 1 1 2 2 2 2 3 3 4 5 TPR 1 0.8 0.8 0.6 0.6 0.6 0.6 0.4 0.4 0.2 FPR 1 1 0.8 0.8 0.6 0.4 0.2 0.2

Exemplo TPR 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 FPR

Curva Roc Cada ponto na curva corresponde a um dos modelos induzidos pelo classificador Um bom modelo deve estar localizado próximo do ponto (0,1) Modelos localizados na diagonal são modelos aleatórios – TPR = FPR Modelos localizados acima da diagonal são melhores do que modelos abaixo da diagonal.

Exemplo TPR 1.0 Modelo ideal 0.9 0.8 0.7 0.6 0.5 0.4 0.3 Modelos que fazem previsões aleatórias 0.2 0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 FPR

Comparando performance relativas de diferentes classificadores Curvas Roc são utilizadas para se medir a performance relativa de diferentes classificadores. M1 M2 Até aqui M2 é melhor do que M1 A partir daí, M1 fica melhor do que M2 x

Area abaixo da curva ROC (AUC) A área abaixo da curva ROC fornece medida para comparar performances de classificadores. Quanto maior a área AUC melhor a performance global do classificador. Classificador optimal: área =1 Classificador randômico : área = 0.5

Referências P-N Tan et al. Introduction to Data Mining – Capitulo 5, seção 5.7 Jesse Davis, Mark Goadrich - The Relationship between Precision-Recall and ROC Curves. Proc. 23rd Int. Conf. On Machine Learning. 2006. Gary M. Weiss. Mining with Rarity: A Unifying Framework. SIGKDD Explorations, Vol. 6, Issue 1, 2007. Software: AUCCalculator 0.2 A Java program for finding AUC-ROC and AUC-PR http://www.cs.wisc.edu/~richm/programs/AUC/

Classificadores Bayesianos Naive AULA 9 – Parte II Sandra de Amo 4/22/2017 21 21

Classificadores Bayesianos Classificadores estatísticos Classificam um objeto numa determinada classe C baseando-se na probabilidade do objeto pertencer à classe C Vantagens Processo de classificação rápido Grande acurácia quando aplicados a grandes volumes de dados. 4/22/2017 Mestrado em Ciência da Computação 22 22

Classificador Bayesiano Simples Hipótese: atributos não-classe são independentes Valor de um atributo não influencia o valor de outros atributos Exemplo: Idade, Profissão, Renda não são independentes. Um médico tem uma probabilidade maior de ter uma renda alta do que um porteiro. Gênero, Cidade, Idade são independentes Porque considerar atributos independentes ? Cálculos envolvidos no processo de classificação são simplificados 4/22/2017 Mestrado em Ciência da Computação 23 23

Como funciona um classificador Bayesiano simples Classificador Eager – Constrói um modelo de classificação baseado em probabilidades condicionais Método geral D = base de treinamento – (tuplas classificadas) X = (a, b, c) : tupla não classificada X pode ser vista como um evento conjunto A = a e B = b e C = c X é classificada na classe Ci se P[Ci|X] > P[Cj|X] para todo j diferente de i P[Ci|X] = probabilidade condicional do evento Classe= Ci acontecer dado que o evento conjunto A = a e B = b e C = c acontece. 4/22/2017 Mestrado em Ciência da Computação 24 24

Classificação de uma tupla X Envolve o cálculo de todas as probabilidades condicionais P[Ci|X] para todo i = 1,…,n, onde n = número de classes A probabilidade mais alta corresponde à classe em que X será classificada P[Ci|X] : Probabilidade Posterior 4/22/2017 Mestrado em Ciência da Computação 25 25

Como calcular as probabilidades posteriores ? P[X ∩ C] = P[X|C] * P[C] = P[C|X] * P[X] Teorema de Bayes P[C|X] = P[X|C] * P[C] P[X] P[X] é constante (pois X está fixa) Para maximizar P[C|X] basta maximizar o numerador P[X|C] * P[C] 4/22/2017 Mestrado em Ciência da Computação 26 26

Como maximizar P[X|C] * P[C] P[C] é calculada através do banco de amostras É preciso encontrar a classe C para a qual o produto P[X|C] * P[C] é máximo Como calcular P[X|C] ? P[X|C] = P[A1=x1,A2=x2, ...,An = xn |C] onde X = (x1, x2, ..., xn) 4/22/2017 Mestrado em Ciência da Computação 27 27

Classificador Bayesiano Naïve Hipótese: Independência condicional dos atributos A1,...,An dado C A1, ..., An são ditos independentes dado C se P[Ai=xi | A1=x1 ,..., Ai-1 =xi-1,...,An=xn,C] = P[Ai=xi | C] para todo i ϵ {1,...,n} 4/22/2017 Mestrado em Ciência da Computação 28 28

Mestrado em Ciência da Computação Corolário A1, ..., An são independentes dado C se e somente se P[A1=x1,A2=x2,... , An= xn |C] = P[A1=x1| C] * … * P[An=xn| C] Prova: Aplicando o Teorema de Bayes para P[A1=x1,A2=x2,... , An= xn,C] : P[A1=x1,A2=x2,... , An= xn,C] = P[A1=x1,A2=x2,...,An = xn |C] . P[C] P[A1=x1, A2=x2,... , An= xn,C] = P[A1=x1| A2=x2,...,An=xn, C]. P[A2=x2,...,An=xn,C] Logo: P[A1=x1,A2=x2,...,An = xn |C] . P[C] = P[A1=x1| A2=x2,...,An=xn, C]. P[A2=x2,...,An=xn,C] = P[A1=x1| A2=x2,...,An=xn, C]. P[A2=x2,...,An=xn|C]. P[C] Logo: P[A1=x1,A2=x2,... An=xn |C] = P[A1=x1| A2=x2,...,An=xn, C]. P[A2=x2, ...,An=xn|C] = P[A1=x1| C]. P[A2=x2,..., An=xn|C] (usando a condição de independência dos atributos A1, ...., An) Repetindo o processo para P[A2=x2,...,An=xn|C] e assim por diante, concluimos a prova. 4/22/2017 Mestrado em Ciência da Computação 29 29

Mestrado em Ciência da Computação Cálculos Cada P[Ai=xi | C ] é calculada da seguinte maneira Se Ai é atributo categórico P[Ai=xi | C ] = P[Ai=xi,C ] / P[C] = núm. de tuplas classificadas em C com Ai = xi Total de tuplas classificadas em C 4/22/2017 Mestrado em Ciência da Computação 30 30

Mestrado em Ciência da Computação Cálculos Se Ai é atributo contínuo (não categórico) P[Ai=xi | C ] = g(Ai= xi, μ(C) , σ(C)) Onde g = função de distribuição de Gauss μ(C) = média σ(C) = desvio padrão g(A= x, μ(C) , σ(C)) = 1 e -(x- μ) 2σ 2 √2Π * σ 4/22/2017 Mestrado em Ciência da Computação 31 31

Mestrado em Ciência da Computação Resumo Input: um banco de tuplas classificadas Uma tupla X a ser classificada Output: P[C1|X], P[C2|X], ..., P[Cn|X], onde C1,...,Cn são todos os valores do atributo classe C A tupla X é classificada na classe Ci para a qual o número P[Ci|X] é o maior. 4/22/2017 Mestrado em Ciência da Computação 32 32

Mestrado em Ciência da Computação Exemplo Compra-computador ID IDADE RENDA ESTUDANTE CREDITO CLASSE 1 ≤ 30 Alta Não Bom 2 3 31...40 Sim 4 > 40 Média 5 Baixa 6 Excelente 7 8 9 10 11 12 13 14 4/22/2017 Mestrado em Ciência da Computação 33 33

Mestrado em Ciência da Computação Exemplo C1= sim, C2 = não Tupla desconhecida X = (≤ 30, Média,Sim,Bom) Precisamos maximizar P[X|Ci] * P[Ci] para i =1,2 P[C1] = 9/14 = 0.643 P[C2] = 5/14 = 0.357 P[Idade ≤ 30 | Compra = Sim ] = 2/9 = 0.222 P[Idade ≤ 30 | Compra = Não ] = 3/5 = 0.6 P[Renda = Média | Compra = Sim ] = 4/9 = 0.444 P[Renda = Média | Compra = Não ] = 2/5 = 0.4 4/22/2017 Mestrado em Ciência da Computação 34 34

Mestrado em Ciência da Computação Exemplo P[Est = sim | Compra = Sim ] = 6/9 = 0.667 P[Est = sim | Compra = Não ] = 1/5 = 0.2 P[Crédito = bom| Compra = Sim ] = 6/9 = 0.667 P[Crédito = bom | Compra = Não ] = 2/5 = 0.4 P[X|C1] = 0.222*0.444*0.667*0.667 = 0.044 P[X|C2] = 0.6*0.4*0.2*0.4 = 0.019 P[X|C1]*P[C1] = 0.044*0.643 = 0.028 P[X|C2]*P[C2] = 0.019*0.357 = 0.007 Tupla X classificada na classe C1 (compra computador = sim) 4/22/2017 Mestrado em Ciência da Computação 35 35