Minerao de dados Classificao outros algoritmos Apresentao baseada
Mineração de dados Classificação: outros algoritmos Apresentação baseada: no livro Introduction to Data Mining (Tan, Steinbach, Kumar) e em apresentações do prof. José Todesco (UFSC)
Naive Bayes l Abordagem estatística, baseada no teorema de Bayes. Naïve (ingênuo) porque considera que os atributos são independentes.
Naïve Bayes – visão geral Seja o exemplo de dados: Os objetos podem ser classificados em vermelho ou verde Como há mais objetos verdes que vermelhos, a probabilidade a priori é que um novo objeto seja verde Probabilidade a priori de verde = número de objetos verdes/ número total de objetos = 40/60 = 4/6 Probabilidade a priori de vermelho = número de objetos vermelhos / número total de objetos = 20/60 = 2/6
Naïve Bayes – visão geral l Queremos classificar um novo objeto X (ponto branco) l Como os objetos estão agrupados, é razoável considerar que quanto mais objetos de uma classe houver “parecidos” com X, maior a chance de X ser daquela classe. l Vamos considerar o “parecido” pelo círculo na figura (estar dentro do círculo) e calcular a probabilidade: l Probabilidade de “parecido” dado que é verde = número de objetos verdes no círculo/ número total de verdes= 1/40 l Probabilidade de “parecido” dado que é vermelho = número de objetos vermelhos no círculo/ número total de vermelhos= 3/20
Naïve Bayes – visão geral l Na análise Bayesiana, a classificação final é realizada considerando estas duas informações usando a probabilidade condicional do Teorema de Bayes: l A probabilidade condicional de X ser verde dado que é “parecido” = probabilidade a priori de verde vezes Probabilidade de “parecido” dado que é verde = 4/6. 1/40 = 1/60 l Analogamente, l A probabilidade condicional de X ser vermelho dado que é “parecido” = 2/6. 3/20 = 1/20 l Portanto, a classe predita de X seria vermelho, pois é a maior probabilidade
Mais tecnicamente…. l Aprendizagem da classificação: qual é a probabilidade da classe dado um exemplo? – Evidência E = exemplo (registro, com os valores dos atributos) – Hipótese H = valor da classe para o exemplo Teorema de Bayes (1763): P(E|H). P(H) P( H| E) = P(E) l l Suposição do classificador bayesiano ingênuo: evidência pode ser separada em partes independentes (os atributos do exemplo) P(E 1 , E 2 , . . . , En | H) =P(E 1 |H ). P( E 2|H). . P(En |H ) P( H| E) = P( E 1 |H ). P( E 2 | H). . P(En | H). P(H ) P( E 1 ). P( E 2). . P(En)
Exemplo: Naive Bayes 7
Exemplo: Naive Bayes Qual será a decisão (valor da classe), se o dia estiver com sol, a temperatura fria, a umidade alta e o vento forte ? P(Jogar = S | Aspecto = Sol, Temperatura = Fria, Umidade = Alta e Vento = Forte) = ? P(Jogar = N | Aspecto = Sol, Temperatura = Fria, Umidade = Alta e Vento = Forte) = ? 8
Exemplo: Naive Bayes P( H| E) = P( E 1 |H ). P( E 2 | H). . P(En | H). P(H ) P( E 1 ). P( E 2). . P(En) P(Jogar = S | Aspecto = Sol, Temperatura = Fria, Umidade = Alta e Vento = Forte) = = P( Sol|S) * P( Fria|S) * P(Alta|S) * P(Forte|S) * P(S) P( Sol) * P( Fria) * P(Alta)* P(Forte)
Exemplo: Naive Bayes P(Jogar = S) = 9/14; P(Jogar = N) = 5/14; P(Aspecto = Sol | Jogar = S) = 2/9; P(Aspecto = Sol | Jogar = N) = 3/5; P(Temperatura = Fria | Jogar = S) = 3/9; P(Temperatura = Fria | Jogar = N) = 1/5; P(Umidade = Alta | Jogar = S) = 3/9; P(Umidade = Alta | Jogar = N) = 4/5; P(Vento = Forte | Jogar = S) = 3/9; P(Vento = Forte | Jogar = N) = 3/5; 10
Exemplo: Naive Bayes P(Aspecto = Sol ) = 5/14 P(Temperatura = Fria) = 4/14 P(Umidade = Alta ) = 7/14 P(Vento = Forte ) = 6/14 11
Exemplo: Naive Bayes P(Jogar = S | Aspecto = Sol, Temperatura = Fria, Umidade = Alta e Vento = Forte) = P( Sol|S) * P( Fria|S) * P(Alta|S) * P(Forte|S) * P(S) = = P( Sol) * P( Fria) * P(Alta)* P(Forte) = (2/9 * 3/9 * 9/14) / (5/14 * 4/14 * 7/14 * 6/14) = = 0, 0053 / 0, 02186 = 0, 242 12
Exemplo: Naive Bayes P(Jogar = N | Aspecto = Sol, Temperatura = Fria, Umidade = Alta e Vento = Forte) = P( Sol|N) * P( Fria|N) * P(Alta|N) * P(Forte|N) * P(N) = P( Sol) * P( Fria) * P(Alta)* P(Forte) = = (3/5 * 1/5 * 4/5 * 3/5 * 5/14) / (5/14 * 4/14 * 7/14 * 6/14) = = 0, 0206 / 0, 02186 = 0, 942 Como (J=N) 0, 942 > (J=S) 0, 242 Então Jogar = Não 13
O problema da frequência zero • Se um valor de atributo nunca ocorrer para uma classe (como por exemplo Aspecto=nublado para a classe N) – A probabilidade será zero! P(nublado | N) = 0 – A probabilidade a posteriori será zero, independentemente dos outros valores! P(N | E) = 0 • Solução: Estimador de Laplace ⇒ somar 1 à contagem de todas as combinações de classe e valor de atributo. • Resultado: as probabilidades nunca serão zero!
Naïve Bayes l Vantagens: – rápido – Bons resultados em dados reais l Desvantagens: – Resultados não tão bons em problemas complexos l Mozilla Thunderbird e Microsoft Outlook usam classificadores naive bayes para filtrar (marcar) emails que seriam spam
Máquina de Vetores de Suporte [Vapnik et al, 1998] Em inglês: Support Vector Machine (SVM) l Método matemático, baseado no Teorema de Lagrange l
Conceitos de SVM l Qual o hiperplano ótimo para separar duas classes – Menor erro de classificação – Maior margem u. Distância entre vetores de suporte e o hiperplano
Conceitos de SVM l Qual o hiperplano ótimo? – Menor erro de classificação – Maior margem u. Distância entre vetores de suporte e o hiperplano
SVM l Vantagens: – Classificador não-linear poderoso l Desvantagens: – Demorado para gerar o modelo e para executar – sensível a ruídos – a escolha dos parâmetros influencia muito o resultado
k. NN: k - Nearest Neighbor l k vizinhos mais próximos l Método simples que consiste em procurar o (para k=1) ou os (para k>1) registros mais próximos (parecidos) com aquele para o qual se deseja saber a classe
K- Nearest Neighbor (vizinho mais próximo) Método antigo [Cover 1967] e muito difundido l Instâncias são representadas por pontos num espaço n dimensional n l instância x = <a 1(x), a 2(x), a 3(x), . . . , an(x)> Onde ar(x) representa o valor do r-ésimo atributo l A distância entre as instâncias pode ser calculada pela distância euclidiana ou outras
K- Nearest Neighbor (k-NN) l O resultado da classificação é aquele que aparecer mais vezes entre os k vizinhos mais próximos.
K- Nearest Neighbor (k-NN) Exemplo: A classificação de ? , (F(? )), será a classificação de Xi (F(Xi)), onde Xi é a instancia mais próxima de ? . Se k=1, na figura, ? seria classificado como Se k=7, na figura, ? seria classificado como
K-NN: Exemplo x = (idade(x), altura(x), peso(x), classe(x)), onde a classe pode ser “S” ou “N” q q q Dados classificados: § josé = (30, 1. 78, 72, S) § maria = (25, 1. 65, 60, S) § anastácia = (28, 1. 60, 68, N) Dado a classificar: § joão = (36, 1. 80, 76, ? ? ? ) Usar k=1 Cálculo das distâncias: § d(joão, josé) = [(36 -30)2 + (1. 80 -1. 78)2 + (76 -72)2]1/2 = (36+0. 0004+16)1/2 = 7, 21 § d(joão, maria) = (121+0. 0225+256)1/2 = 19, 41 § d(joão, anastácia) = (64+0. 04+64)1/2 = 11, 32 Portanto a classe de João é S, pois é a classe de José, que é o mais “próximo” de João
K-NN q Problema da dimensionalidade (muitos atributos) § Para calcular a distância entre os pontos, o método utiliza todos os atributos da instância q Conseqüências: § pode custar caro § atributos irrelevantes podem deturpar a classificação l Como não gera um modelo e sim compara sempre com todos os registros, pode ser lento
Figura obtida em http: //blog. peltarion. com/2006/07/10/classifier-showdown/
Figura obtida em http: //blog. peltarion. com/2006/07/10/classifier-showdown/
Figura obtida em http: //blog. peltarion. com/2006/07/10/classifier-showdown/
Figura obtida em http: //blog. peltarion. com/2006/07/10/classifier-showdown/
Referências l Tan, P-N; Steimbach, M; Kumar, V. Introduction to Data Mining. Boston: Addison Wesley, 2006. 769 p. l Vapnik, V. Statistical Learning. Theory. Wiley, 1998. l George H. John and Pat Langley. Estimating Continuous Distributions in Bayesian Classifiers. Proceedings of the Eleventh Conference on Uncertainty in Artificial Intelligence. pp. 338 -345. Morgan Kaufmann, San Mateo, 1995. l Cover T. M. , Hart P. E. Nearest neighbor pattern classification. IEEE Transactions on Information Theory. 13 (1): 21– 27, 1967.
Exercício Considerando os dados de treinamento abaixo, realizar os cálculos de probabilidade e aplicar o classificador Naive-Bayes, para atribuir a classe para o registro: P( H| E) = P( E 1 |H ). P( E 2 | H). . P(En | H). P(H) P( E 1 ). P( E 2). . P(En) 31
Exercício l Considerando os dados de treinamento abaixo, realizar os cálculos e aplicar o classificador k-NN, para atribuir a classe para o registro, considerando k=1 e k=3: atrib 1 atrib 2 classe 11 20 S 8 18 ? 12 21 S 9 19 S 5 18 N 6 19 N 6 20 N
- Slides: 32