O documento discute classificadores, apresentando brevemente K-Nearest Neighbors (KNN) e redes bayesianas como exemplos de classificadores. É descrito o processo geral de classificação, incluindo o uso de amostras classificadas para desenvolver regras e testar um classificador, e a ferramenta Weka é mencionada.
1. Classificadores
Cleiane Gonçalves Oliveira
Mestrado em Ciência da Computação
Universidade Federal de Uberlândia
2. Agenda
A tarefa de classificação
Um classificador lazy: KNN
Um classificador eager: Redes bayesianas
A ferramenta WEKA
3. A tarefa de Classificação
Seguradora de automóveis
Sexo Idade Acidente
F 45 Não
M 25 Sim
F 18 Não
F 32 Não
M 37 Não
M 18 Sim
4. A tarefa de Classificação
Seguradora de automóveis
Sexo Idade Acidente
F 45 Não
F 18 Não
F 32 Não
M 37 Não
M 18 Sim
M 25 Sim
5. Classificadores
O que é um classificador?
Classificação é uma técnica que
consiste na aplicação de um conjunto
de exemplos pré-classificados para
desenvolver um modelo capaz de
classificar uma população maior de
registros.
6. Etapas do Processo
Amostras
Classificadas Banco de
REGRAS Testes
Classificador
REGRAS CONFIÁVEIS
8. Amostras classificadas
Nome Idade Renda Profissão Classe
Daniel ≤ 30 Média Estudante Sim
João 31..50 Média-Alta Professor Sim
Carlos 31..50 Média-Alta Engenheiro Sim
Maria 31..50 Baixa Vendedora Não
Paulo ≤ 30 Baixa Porteiro Não
Otavio > 60 Média-Alta Aposentado Não
10. Regras
Se
idade = 41..50 e
Renda = Media-Alta
então ClasseProdEletr = Sim.
Se
Renda = Baixa
então ClasseProdEletr = Nao.
11. Etapas do Processo
Amostras
Classificadas Banco de
REGRAS Testes
Classificador
12. Banco de testes
Nome Idade Renda Profissão Classe
Pedro 41 .. 50 Média-Alta Ecologista Não
José 41 .. 50 Média-Alta Professor Não
Luiza 41 .. 50 Média-Alta Assistente Social Não
Carla ≤ 30 Baixa Vendedora Não
Wanda ≤ 30 Baixa Faxineira Não
Felipe > 60 Média-Alta Aposentado Não
Se Se
idade = 41..50 e Renda = Baixa
Renda = Media-Alta então ClasseProdEletr = Nao.
então ClasseProdEletr = Sim.
Acurácia: 50%
13. Etapas do Processo
Amostras
Classificadas Banco de
REGRAS Testes
Classificador
REGRAS CONFIÁVEIS
17. Método
Dados: Banco de
Dados de m tuplas
classificadas
(a1,...,an,C)
18. Método
Uma tupla X = (x1,...,xn)
não classificada
Calcula-se a distância
de X a cada uma das
tuplas do banco de
dados.
19. Método
Pega-se as k tuplas do
banco de dados mais
próximas de X.
A classe de X é a
classe que aparece
com mais frequência
entre as k tuplas mais
K=3 próximas de X.
21. Banco de Dados com tuplas
classificadas
Qualidade de lenço de papel
X1 = X2 = força Classificação
durabilidade (kg/metro
(segundos) quadrado)
7 7 Ruim
7 4 Ruim
3 4 Bom
1 4 Bom
22. Tupla não classificada
Qualidade de lenço de papel
X1 = X2 = força Classificação
durabilidade (kg/metro
(segundos) quadrado)
7 7 Ruim
7 4 Ruim
3 4 Bom
1 4 Bom
3 7 ?
23. Calcular a distância
Distância Euclidiana
Distância de Mahalanobis.
Distância de Minkowsky.
Hamming Distance.
24. Calcular a distância
Distância Euclidiana
As coordenadas das tuplas (px,py)
As coordenadas da tupla a ser classificada
(qx,qy)
n
d ( p, q ) = ∑( p − q )
i =1
i i
2
26. Questões diversas
Como calcular a distância quando existem
atributos cujos valores não são numéricos,
por exemplo o atributo Cor ?
O que fazer quando a tupla a ser
classificada é incompleta, isto é, alguns
campos estão faltando ?
Como determinar o melhor valor de k?
27. Considerações
Técnica simples e facilmente
implementada
Dispendiosa computacionalmente
Necessidade de determinar o valor de K
O tipo de cálculo de distância escolhido
pode gerar melhores resultados.
28. Aplicações
Reconhecimento de voz
Classificação de animais
Mapas, definição de fronteiras
Classificação automática de textos e
imagens
32. Rede Bayesiana
Valores de X = { 1, 3}
Valores de Y = {2,4}
X Y Valores de Z = {5,6}
X=1 X=1 X=3 X=3
Y=2 Y=4 Y=2 Y=4
Z=5 0.5 0.3 0.2 0.1
Z Z=6 0.5 0.7 0.8 0.9
P[Z |{X,Y}]
33. Como classificar usando uma Rede
Bayesiana de Crença
Input:
um banco de tuplas classificadas
uma rede bayseana de crença
Um atributo da rede selecionado como sendo
o atributo classe
Uma tupla X a ser classificada.
Output: P[C1|X], P[C2|X], ..., P[Cn|X]
37. Cálculos HF F
X = (HF=1, F=1, E = 0, RX+ = 1, D=0) CP E
P[X|CP=0] * P[CP=0] =
P[HF=1] * RX+ D
P[F=1] *
P[E=0 | F=1] *
P[RX=1 |CP=0]*
P[D=0 |CP=0, E=0] *
P[CP=0 | HF = 1, F=1).
38. CPT(CP)
Exemplo HF= 1 HF= 1 HF= 0 HF= 0
F=1 F=0 F=1 F=0
1 0.8 0.5 0.7 0.1
HF F
0 0.2 0.5 0.3 0.9
CPT(E) CPT(RX+)
CP E F=1 F= 0 CP=1 CP=0
1 0.03 0.2 1 0.9 0.02
0 0.97 0.8 0 0.1 0.98
RX+ CPT(D)
D
CP=1 CP=1 CP=0 CP=0
E=1 E=0 E=1 E=0
HF =história familiar E = Efisema 1 0.99 0.3 0.2 0.01
F = fumante D = Dispnéia
CP = câncer de pulmão RX+ = raio X + 0 0.01 0.7 0.8 0.99
X = (HF=1, F=1, E = 0, RX+ = 1, D=0)
39. Cálculos HF F
X = (HF=1, F=1, E = 0, RX+ = 1, D=0) CP E
P[X|CP=0] * P[CP=0] =
1* RX+ D
1*
0,97 * = 0,00384
0,02 *
0,99 *
0,2
40. Cálculos HF F
X = (HF=1, F=1, E = 0, RX+ = 1, D=0) CP E
P[X|CP=1] * P[CP=1] =
P[HF=1] * RX+ D
P[F=1] *
P[E=0 | F=1] *
P[RX=1 |CP=1]*
P[D=0 |CP=1, E=0] *
P[CP=1 | HF = 1, F=1).
41. CPT(CP)
Exemplo HF= 1 HF= 1 HF= 0 HF= 0
F=1 F=0 F=1 F=0
1 0.8 0.5 0.7 0.1
HF F
0 0.2 0.5 0.3 0.9
CPT(E) CPT(RX+)
CP E F=1 F= 0 CP=1 CP=0
1 0.03 0.2 1 0.9 0.02
0 0.97 0.8 0 0.1 0.98
RX+ CPT(D)
D
CP=1 CP=1 CP=0 CP=0
E=1 E=0 E=1 E=0
HF =história familiar E = Efisema 1 0.99 0.3 0.2 0.01
F = fumante D = Dispnéia
CP = câncer de pulmão RX+ = raio X + 0 0.01 0.7 0.8 0.99
X = (HF=1, F=1, E = 0, RX+ = 1, D=0)
42. Cálculos HF F
X = (HF=1, F=1, E = 0, RX+ = 1, D=0) CP E
P[X|CP=1] * P[CP=1] =
1* RX+ D
1*
0,97 * = 0,48 > 0,00384
0,9 *
0,7 * X = CP = 1
0,8
43. Aplicações
Diagnóstico médico
Aprendizado de mapas
Sistema de exploração e aquisição de
conhecimento espacial
Interpretação de linguagem
Visão
44.
45.
46. Projetos
ABS-Bayes: Sistema Especialista Probabilístico para
Apoio ao Diagnóstico de Absenteísmo
Agente Bayesiano de Apoio à Vigilância de Infecção
Hospitalar - SAVIH
Sistema especialista probabilístico para apoio ao
diagnóstico de potencial econômico – SEPE
Sistema de Avaliação da Evasão Escolar: E-Bayes
Sistema Especialista de Apoio à Nutrição Enteral
Pediátrica - SANEP
Sistema de Avaliação do Crescimento Infantil - SACI
51. Executando um classificador bayesiano
Algoritmo BayesNet
Correctly Classified Instances
Matriz de discussão
Gráfico da rede bayesiana
Utilização de algoritmos de busca para a
confecção da rede e CPT