Classificadores Bayesianos Introduction to Data Mining (Cap. 5.3) Tan, Steinbach, Kumar Irineu Júnior Pinheiro dos Santos Mirela Ferreira César Roberto Ribeiro Castro Menezes Sumário Introdução Teorema de Bayes Teorema de Bayes na Classificação Classificador Naive Bayes M-Estimate das Probabilidades Condicionais 2 Introdução - Conceitos Classificadores Bayesianos são classificadores estatísticos que tem a função de classificar um objeto numa determinada classe, baseando-se na probabilidade deste objeto pertencer a esta classe. Em muitas aplicações, a relação entre o conjunto de atributos e a variável classe são nãodeterminísticos. 3 Introdução - Exemplo Predizer quando uma pessoa tem doença no coração considerando os fatores alimentação saudável e freqüência que pratica exercícios. 4 Introdução - Exemplo Alimentação Saudável e Exercícios Doença no coração? Outros Fatores podem ocasionar a doença: fumo, Relação não determinística colesterol elevado e hereditariedade. 5 Teorema de Bayes Fornece o cálculo das probabilidades de que uma determinada amostra de dados pertença a cada uma das classes possíveis, predizendo para a amostra, a classe mais provável. Considerando X e Y variáveis aleatórias, uma probabilidade condicional P(Y|X) refere-se a probabilidade de Y assumir um valor determinado, observando-se o valor assumido por X. P( X | Y ) P(Y ) P(Y | X ) P( X ) 6 Teorema de Bayes na Classificação Exemplo: ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Idade <= 30 <= 30 31..40 > 40 > 40 > 40 31..40 <= 30 <= 30 > 40 <= 30 31..40 31..40 > 40 Renda Estudante Alta Não Alta Não Alta Não Média Não Baixa Sim Baixa Sim Baixa Sim Média Não Baixa Sim Média Sim Média Sim Média Não Alta Sim Média Não Crédito Bom Bom Bom Bom Bom Excelente Excelente Bom Bom Bom Excelente Excelente Bom Excelente Compra_computador Não Não Sim Sim Sim Não Sim Não Sim Sim Sim Sim Sim Não Classificar os seguintes valores: X = (Idade <= 30, Renda = Media, Estudante = sim, Crédito = bom) Y = Compra_Computador? 7 Teorema de Bayes na Classificação Exemplo: ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Idade <= 30 <= 30 31..40 > 40 > 40 > 40 31..40 <= 30 <= 30 > 40 <= 30 31..40 31..40 > 40 Renda Estudante Alta Não Alta Não Alta Não Média Não Baixa Sim Baixa Sim Baixa Sim Média Não Baixa Sim Média Sim Média Sim Média Não Alta Sim Média Não Crédito Bom Bom Bom Bom Bom Excelente Excelente Bom Bom Bom Excelente Excelente Bom Excelente Compra_computador Não Não Sim Sim Sim Não Sim Não Sim Sim Sim Sim Sim Não P(Y=sim) e P(Y=não) P(Y=sim) = 9/14 = 0,643 P(Y=não) = 5/14 = 0,357 = 1-P(Y=sim) 8 Teorema de Bayes na Classificação X = (Idade <= 30, Renda = Media, Estudante = sim, Crédito = bom) ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Idade <= 30 <= 30 31..40 > 40 > 40 > 40 31..40 <= 30 <= 30 > 40 <= 30 31..40 31..40 > 40 Renda Estudante Alta Não Alta Não Alta Não Média Não Baixa Sim Baixa Sim Baixa Sim Média Não Baixa Sim Média Sim Média Sim Média Não Alta Sim Média Não Crédito Bom Bom Bom Bom Bom Excelente Excelente Bom Bom Bom Excelente Excelente Bom Excelente Compra_computador Não Não Sim Sim Sim Não Sim Não Sim Sim Sim Sim Sim Não Probabilidades: P[Idade <= 30 | Y = sim] = 2/9 = 0,222 P[Idade <= 30 | Y = não] = 3/5 = 0,6 9 Teorema de Bayes na Classificação X = (Idade <= 30, Renda = Media, Estudante = sim, Crédito = bom) ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Idade <= 30 <= 30 31..40 > 40 > 40 > 40 31..40 <= 30 <= 30 > 40 <= 30 31..40 31..40 > 40 Renda Estudante Alta Não Alta Não Alta Não Média Não Baixa Sim Baixa Sim Baixa Sim Média Não Baixa Sim Média Sim Média Sim Média Não Alta Sim Média Não Crédito Bom Bom Bom Bom Bom Excelente Excelente Bom Bom Bom Excelente Excelente Bom Excelente Compra_computador Não Não Sim Sim Sim Não Sim Não Sim Sim Sim Sim Sim Não Probabilidades: P[Renda = Media | Y = sim] = 4/9 = 0,444 P[Renda = Media | Y = não] = 2/5 = 0,4 10 Teorema de Bayes na Classificação X = (Idade <= 30, Renda = Media, Estudante = sim, Crédito = bom) ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Idade <= 30 <= 30 31..40 > 40 > 40 > 40 31..40 <= 30 <= 30 > 40 <= 30 31..40 31..40 > 40 Renda Estudante Alta Não Alta Não Alta Não Média Não Baixa Sim Baixa Sim Baixa Sim Média Não Baixa Sim Média Sim Média Sim Média Não Alta Sim Média Não Crédito Bom Bom Bom Bom Bom Excelente Excelente Bom Bom Bom Excelente Excelente Bom Excelente Compra_computador Não Não Sim Sim Sim Não Sim Não Sim Sim Sim Sim Sim Não Probabilidades: P[Estudante = sim | Y = sim] = 6/9 = 0,667 P[Estudante = sim | Y = não] =1/5 = 0,2 11 Teorema de Bayes na Classificação X = (Idade <= 30, Renda = Media, Estudante = sim, Crédito = bom) ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Idade <= 30 <= 30 31..40 > 40 > 40 > 40 31..40 <= 30 <= 30 > 40 <= 30 31..40 31..40 > 40 Renda Estudante Alta Não Alta Não Alta Não Média Não Baixa Sim Baixa Sim Baixa Sim Média Não Baixa Sim Média Sim Média Sim Média Não Alta Sim Média Não Crédito Bom Bom Bom Bom Bom Excelente Excelente Bom Bom Bom Excelente Excelente Bom Excelente Compra_computador Não Não Sim Sim Sim Não Sim Não Sim Sim Sim Sim Sim Não Probabilidades: P[Credito = bom | Y = sim] = 6/9 = 0,667 P[Credito = bom | Y = não] = 2/5 = 0,4 12 Teorema de Bayes na Classificação Calculamos isoladamente o valor da probabilidade condicional de cada atributo, mas para que eles sejam calculado de forma interseccionada, temos: P[x1, x2,... xd | C] = P(x1| C) * P(x2| C) * … * P(xd| C) Com isso, é possível chegar a uma forma mais geral do Teorema de Bayes: d P(Y ) i 1 P( X i | Y ) P(Y | X ) P( X ) 13 Teorema de Bayes na Classificação Temos: P(X|Y=sim) = 0,222 * 0,444 * 0,667 * 0,667 = 0,044 P(X|Y=não) = 0,6 * 0,4 * 0,2 * 0,4 = 0,019 Pela lei da probabilidade total: P(X) = P(X|Y=sim)*P(Y=sim) + P(X|Y=não)*P(Y=não) P(X) = 0,044*0,643 + 0,019*0,357 = 0,028 + 0,007 = 0,035 P(X|Y=sim) * P(Y=sim) / P(X) = 0,044 * 0,643 = 0,028 / 0,035 = 0,8 P(X|Y=não) * P(Y=não) / P(X) = 0,019 * 0,357 = 0,007 / 0,035 = 0,2 Ou seja, P(X|Y=sim) > P(X|Y=não) O classificador Bayesiano prediz que a tupla X é classificada na classe Compra-Computador = sim 14 Classificador Naive Bayes Um classificador Naive Bayes estima a probabilidade de classe condicional P(X|Y). Pré-considerações: Assume-se que os atributos são condicionalmente independentes (Naive Bayes ingênuo ou simples); As probabilidades condicionais são estimadas para os atributos de acordo com a sua classificação: Categórico; Contínuo. 15 Atributos Condicionalmente Independentes São atributos que apresentam independência estatística entre si: Dois eventos são estatisticamente independentes se a probabilidade da ocorrência de um evento não é afetada pela ocorrência do outro evento. Exemplo: Tamanho do braço x Habilidades de Leitura Considerando a Idade, a dependência não ocorre. 16 Atributos Categóricos É aquele atributo para o qual é possível estabelecer um conjunto de valores finito. Exemplo: Sexo: {Masculino, Feminino} Cor da Pele: {Branca, Marrom, Amarela, Preta} 17 Atributos Categóricos Para uso no algoritmo Naive Bayes: Estima-se a fração das instâncias de treinamento de acordo com cada valor da classe. Exemplo: Casa Própria Estado Civil Inadimplente Sim Casado Sim Sim Solteiro Não Não Casado Não Sim Divorciado Não P(Casa Própria=Sim|Não) 18 Atributos Categóricos Exemplo: Casa Própria Estado Civil Inadimplente Sim Casado Sim Sim Solteiro Não Não Casado Não Sim Divorciado Não P(Casa Própria=Sim|Não) = 2/3 19 Atributos Contínuos São considerados contínuos os atributos que possuem muitos ou infinitos valores possíveis Exemplo: Idade: 0 Peso: R 0 20 Atributos Contínuos Existem duas formas de estimar a probabilidade de classe condicional para atributos contínuos: Discretização dos atributos; Distribuição Gaussiana. 21 Atributos Contínuos Discretização de atributos contínuos: Os atributos contínuos são divididos em intervalos discretos, que substituem os valores desses atributos. Esta abordagem transforma os atributos contínuos em atributos ordinais. A transformação dos atributos contínuos em atributos discretos permite que sejam tratados como atributos categóricos. 22 Atributos Contínuos Distribuição Gaussiana: Assume uma certa forma de distribuição de probabilidade para variáveis contínuas, e estima os parâmetros da distribuição usando os dados de treinamento. Caracterizada por dois parâmetros: Média (µ) Variância (σ2) da amostra 23 Atributos Contínuos Para cada valor de classe y, a probabilidade da classe condicional para o atributo X é: P( X x | Y y ) x 2 1 exp 2 2 2 y n x n 1 2 2 24 Classificador Naive Bayes Exemplo: Dado o seguinte conjunto de treinamento: Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não 4 Sim Casado 120K Não 5 Não Divorciado 95K Sim 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim Atributos Categóricos Atributos Contínuos Classe 25 Classificador Naive Bayes Cálculo dos atributos categóricos: Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não 4 Sim Casado 120K Não 5 Não Divorciado 95K Sim 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim P(Casa Própria=Sim|Não) = 3/7 26 Classificador Naive Bayes Cálculo dos atributos categóricos: Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não 4 Sim Casado 120K Não 5 Não Divorciado 95K Sim 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim P(Casa Própria=Sim|Não) = 3/7 P(Casa Própria=Não|Não) = 4/7 27 Classificador Naive Bayes Cálculo dos atributos categóricos: Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não 4 Sim Casado 120K Não 5 Não Divorciado 95K Sim 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim P(Casa Própria=Sim|Não) = 3/7 P(Casa Própria=Não|Não) = 4/7 P(Casa Própria=Sim|Sim) = 0 28 Classificador Naive Bayes Cálculo dos atributos categóricos: P(Casa Própria=Sim|Não) = 3/7 Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não P(Casa Própria=Sim|Sim) = 0 4 Sim Casado 120K Não P(Casa Própria=Não|Sim) = 1 5 Não Divorciado 95K Sim 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim P(Casa Própria=Não|Não) = 4/7 29 Classificador Naive Bayes Cálculo dos atributos categóricos: P(Casa Própria=Sim|Não) = 3/7 Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não P(Casa Própria=Sim|Sim) = 0 4 Sim Casado 120K Não P(Casa Própria=Não|Sim) = 1 5 Não Divorciado 95K Sim P(Estado Civil=Solteiro|Não) = 2/7 6 Não Casado 60K Não 7 Sim Divorciado 220K Não P(Estado Civil=Divorciado|Não) = 1/7 8 Não Solteiro 85K Sim P(Estado Civil=Casado|Não) = 4/7 9 Não Casado 75K Não P(Estado Civil=Solteiro|Sim) = 2/3 10 Não Solteiro 90K Sim P(Casa Própria=Não|Não) = 4/7 P(Estado Civil=Divorciado|Sim) = 1/3 P(Estado Civil=Casado|Sim) = 0 30 Classificador Naive Bayes Cálculo dos atributos contínuos: Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não 4 Sim Casado 120K Não 5 Não Divorciado 95K Sim 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim Para a classe Não Média: µ = (125 + 100 + 70 + 120 + 60 + 220 + 75) / 7 = 110 Variância: σ2 = (125-110)2 + (100-110)2 + (70-110)2 + (120-110)2 + (60-110)2 + (220-110)2 + (75-110)2 / 6 = 2975 31 Classificador Naive Bayes Cálculo dos atributos contínuos: Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não 4 Sim Casado 120K Não 5 Não Divorciado 95K Sim 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim Para a classe Sim Média: µ = (95 + 85 + 90) / 3 = 90 Variância: σ2 = (95-90)2 + (85-90)2 + (90-90)2 / 2 = 25 32 Classificador Naive Bayes Resultado dos cálculos básicos: P(Casa Própria=Sim|Não) = 3/7 Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não P(Casa Própria=Sim|Sim) = 0 3 Não Solteiro 70K Não P(Casa Própria=Não|Sim) = 1 4 Sim Casado 120K Não 5 Não Divorciado 95K Sim 6 Não Casado 60K Não P(Estado Civil=Divorciado|Não) = 1/7 7 Sim Divorciado 220K Não P(Estado Civil=Casado|Não) = 4/7 8 Não Solteiro 85K Sim P(Estado Civil=Solteiro|Sim) = 2/3 9 Não Casado 75K Não 10 Não Solteiro 90K Sim P(Casa Própria=Não|Não) = 4/7 P(Estado Civil=Solteiro|Não) = 2/7 P(Estado Civil=Divorciado|Sim) = 1/3 P(Estado Civil=Casado|Sim) = 0 Para o cálculo da Renda Anual: Classe Não: Média: 110 Variância: 2975 Classe Sim: Média: 90 Variância: 25 33 Classificador Naive Bayes Dado o conjunto de treinamento anterior, qual a classe do seguinte registro de teste: X = (Casa Própria=Não, Estado Civil=Casado, Renda Anual=120K) Avaliar qual a maior probabilidade entre as probabilidades posteriores: P(Inadimplente=Não|X) e P(Inadimplente=Sim|X) 34 Classificador Naive Bayes Para calcular as probabilidades posteriores P(Não|X) e P(Sim|X) necessitamos: Calcular as classes condicionais P(X|No) e P(X|Yes) P(X|Não) P(Casa Própria=Não|Não) * P(Estado Civil=Casado|Não) * P(Renda Anual=120K|Não) 4/7 * 4/7 * 0,0072 0,0024 Distribuição Gaussiana P(X|Sim) P(Casa Própria=Não|Sim) * P(Estado Civil=Casado|Sim) * P(Renda Anual=120K|Sim) 1 * 0 * 1,2x10-9 0 35 Classificador Naive Bayes Juntando os termos: P(Não|X) α * P(Não) * P(X|Não) α * 7/10 * 0,0024 0,0016α Onde α = 1/P(X) → Termo constante! Como a probabilidade condicional de P(X|Sim) é zero: P(Sim|X) = 0 Logo, P(Não|X) > P(Sim|X) O registro X é classificado como Não 36 M-Estimate das Probabilidades Condicionais Problema: se a probabilidade da classe condicional de um dos atributos é zero, a probabilidade posterior para a classe inteira, quando avaliado esse atributo, também será. Pois Lembre-se: P[x1, x2,... ,xk | C] = P(x1| C) * P(x2| C) * … * P(xk| C) Quando essa condição existe para atributos das duas classes, o algoritmo não é capaz de classificar o registro. 37 M-Estimate das Probabilidades Condicionais Exemplo, imagine que o conjunto de treinamento fosse assim: Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não 4 Sim Casado 120K Não 5 Não Divorciado 95K Sim 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim E agora queremos saber P(X | C) sendo X = (Casa Própria = Sim, Estado Civil = Divorciado, Renda = 120k) 38 M-Estimate das Probabilidades Condicionais Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não 4 Sim Casado 120K Não 5 Não Divorciado 95K Sim 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim P(Não) = 6/9 = 0.666 39 M-Estimate das Probabilidades Condicionais Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não 4 Sim Casado 120K Não 5 Não Divorciado 95K Sim 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim P(Não) = 6/9 = 0.666 P(Sim) = 3/9 = 0.333 40 M-Estimate das Probabilidades Condicionais Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não P(Não) = 6/9 = 0.666 4 Sim Casado 120K Não P(Sim) = 3/9 = 0.333 5 Não Divorciado 95K Sim P(Casa Própria = Sim | Não) = 2/6 = 0.33 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim 41 M-Estimate das Probabilidades Condicionais Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não P(Não) = 6/9 = 0.666 4 Sim Casado 120K Não P(Sim) = 3/9 = 0.333 5 Não Divorciado 95K Sim P(Casa Própria = Sim | Não) = 2/6 = 0.33 6 Não Casado 60K Não P(Estado Civil = Divorciado | Não) = 0 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim 42 M-Estimate das Probabilidades Condicionais Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não P(Não) = 6/9 = 0.666 4 Sim Casado 120K Não P(Sim) = 3/9 = 0.333 5 Não Divorciado 95K Sim P(Casa Própria = Sim | Não) = 2/6 = 0.33 6 Não Casado 60K Não P(Estado Civil = Divorciado | Não) = 0 7 Sim Divorciado 220K Não P(Renda Anual = 120k | Não) = 0,0072 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim Média (µ) = 91,66k Variância (σ2) = 732,76 43 M-Estimate das Probabilidades Condicionais Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não 4 Sim Casado 120K Não 5 Não Divorciado 95K Sim 6 Não Casado 60K Não 7 Sim Divorciado 220K Não 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim P(Não) = 6/9 = 0.666 P(Sim) = 3/9 = 0.333 P(Casa Própria = Sim | Não) = 2/6 = 0.33 P(Estado Civil = Divorciado | Não) = 0 P(Renda Anual = 120 | Não) = 0,0072 P(Casa Própria = Sim | Yes) = 0/3 = 0 44 M-Estimate das Probabilidades Condicionais Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não P(Não) = 6/9 = 0.666 4 Sim Casado 120K Não P(Sim) = 3/9 = 0.333 5 Não Divorciado 95K Sim P(Casa Própria = Sim | Não) = 2/6 = 0.33 6 Não Casado 60K Não P(Estado Civil = Divorciado | Não) = 0 7 Sim Divorciado 220K Não P(Renda Anual = 120 | Não) = 0,0072 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim P(Casa Própria = Sim | Sim) = 0/3 = 0 P(Estado Civil = Divorciado | Sim) = 0.333 45 M-Estimate das Probabilidades Condicionais Registro Casa Própria Estado Civil Renda Anual Inadimplente 1 Sim Solteiro 125K Não 2 Não Casado 100K Não 3 Não Solteiro 70K Não P(Não) = 6/9 = 0.666 4 Sim Casado 120K Não P(Sim) = 3/9 = 0.333 5 Não Divorciado 95K Sim P(Casa Própria = Sim | Não) = 2/6 = 0.33 6 Não Casado 60K Não P(Estado Civil = Divorciado | Não) = 0 7 Sim Divorciado 220K Não P(Renda Anual = 120 | Não) = 0,0072 8 Não Solteiro 85K Sim 9 Não Casado 75K Não 10 Não Solteiro 90K Sim P(Casa Própria = Sim | Sim) = 0/3 = 0 P(Estado Civil = Divorciado | Sim) = 0.333 P(Renda Anual = 120 | Sim) = 1,2 * 10-9 46 M-Estimate das Probabilidades Condicionais Aplicando a fórmula de Bayes: P(C = Não | X) = α * 0.666 * (0.333 * 0 * 0,0072) P(C = Sim | X) = α * 0.333 * ( 0 * 0.333 * 1,2 * 10-9) P(C = Não | X) = 0 P(C = Sim | X) = 0 Ou seja, o algoritmo não foi capaz de predizer a probabilidade neste caso 47 M-Estimate das Probabilidades Condicionais É possível contornar o problema utilizando a abordagem MEstimate para o cálculo das probabilidades condicionais 48 M-Estimate das Probabilidades Condicionais Onde: n é o número total de instâncias da classe y nc é o número de exemplos de treinamento da classe y com o valor x m é um parâmetro conhecido como o tamanho de amostra equivalente m é dito valor de compensação p é um parâmetro especificado pelo usuário + ou – a proporção da classe no treinamento Utilizando m = 3 e p = 2/3 (para a classe “Não”), é possível calcular a probabilidade condicional que anteriormente era zero: P(Estado Civil=Divorciado|Não) = (0 + 3*2/3)/(6+3) = 2/9 49 M-Estimate das Probabilidades Condicionais Assumindo p=1/3 para classe “Sim” e p=2/3 para a classe “Não”, as classes condicionais dos demais atributos são calculadas: P(Casa própria=Sim|Não) = (2 + 3*2/3)/(6 + 3) = 4/9 = 0.444 P(Estado Civil = Divorciado | Não) = 2/9 = 0.222 (calculado na lâmina anterior) P(Renda Anual = 120k | Não) = 0,0072 P(C = Não | X) = α * 0.666 * (0.444 * 0.222 * 0,0072) = 0,004α P(Casa própria=Sim|Sim) = (0 + 3*1/3)/(3 + 3) = 1/6 = 0,166 P(Estado Civil = Divorciado | Sim) = (1 + 3 * 1/3) / (3 + 3) = 2/6 = 0,333 P(Renda Anual = 120k | Sim) = 1,2 * 10-9 P(C = Sim | X) = α * 0.333 * ( 0,166 * 0.333 * 1,2 * 10-9) = 0,022 * 10-9α Portanto, o algoritmo de Naive Bayes prediz que para o conjunto de atributos X utilizado, a classe deverá ser NÃO 50 Caracteristicas Naive Bayes Vantagens: São robustos para isolar pontos de ruído, pois tais pontos são calculados pela média quando estima-se a probabilidades condicionais dos dados. Atributos irrelevantes não tem impacto na computação da probabilidade posterior. Desvantagens: Atributos correlacionados degradam a performance de classificadores bayesianos, pois a independência condicional não é mais assegurada. 51 Perguntas?