52
Classificadores Cleiane Gon Cleiane Gon ç ç alves Oliveira alves Oliveira Mestrado em Ciência da Computação Universidade Federal de Uberlândia

Seminario classificadores

Embed Size (px)

Citation preview

Page 1: Seminario classificadores

Classificadores

Cleiane GonCleiane Gonççalves Oliveiraalves OliveiraMestrado em Ciência da Computação

Universidade Federal de Uberlândia

Page 2: Seminario classificadores

Agenda

� A tarefa de classificação

� Um classificador lazy: KNN

� Um classificador eager: Redes bayesianas

� A ferramenta WEKA

Page 3: Seminario classificadores

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

Page 4: Seminario classificadores

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

Page 5: Seminario classificadores

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.

Page 6: Seminario classificadores

Etapas do Processo

REGRAS

Classificador

Amostras

Classificadas Banco de

Testes

REGRAS CONFIÁVEIS

Page 7: Seminario classificadores

Etapas do Processo

Amostras

Classificadas

Page 8: Seminario classificadores

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

Page 9: Seminario classificadores

Etapas do Processo

REGRAS

Classificador

Amostras

Classificadas

Page 10: Seminario classificadores

Regras

� Se � idade = 41..50 e

�Renda = Media-Alta

então ClasseProdEletr = Sim.

� Se �Renda = Baixa

então ClasseProdEletr = Nao.

Page 11: Seminario classificadores

Etapas do Processo

REGRAS

Classificador

Amostras

Classificadas Banco de

Testes

Page 12: Seminario classificadores

Banco de testesNome 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 idade = 41..50 e Renda = Media-Alta

então ClasseProdEletr = Sim.

Se Renda = Baixa

então ClasseProdEletr = Nao.

Acurácia: 50%Acurácia: 50%

Page 13: Seminario classificadores

Etapas do Processo

REGRAS

Classificador

Amostras

Classificadas Banco de

Testes

REGRAS CONFIÁVEIS

Page 14: Seminario classificadores

Classificadores

� Classificadores lazy

�Método kNN (k-nearest-neighbor)

�Case-Based Reasoning (CBR)

Page 15: Seminario classificadores

Classificadores

� Classificadores eager

�Arvores de Decisão

�Redes Neuronais

�Redes Bayseanas

�Máquinas de Suporte Vetorial

Page 16: Seminario classificadores

KNN

Page 17: Seminario classificadores

Método

Dados: Banco de Dados de m tuplas classificadas (a1,...,an,C)

Page 18: Seminario classificadores

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.

Page 19: Seminario classificadores

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

próximas de X.K = 3

Page 20: Seminario classificadores

Diferentes valores de K

K = 1 K = 2 K = 3

Page 21: Seminario classificadores

Banco de Dados com tuplas classificadas

� Qualidade de lenço de papel

X1 = durabilidade (segundos)

X2 = força (kg/metro quadrado)

Classificação

7 7 Ruim

7 4 Ruim

3 4 Bom

1 4 Bom

Page 22: Seminario classificadores

Tupla não classificada

� Qualidade de lenço de papel

X1 = durabilidade (segundos)

X2 = força (kg/metro quadrado)

Classificação

7 7 Ruim

7 4 Ruim

3 4 Bom

1 4 Bom

3 7 ?

Page 23: Seminario classificadores

Calcular a distância

� Distância Euclidiana

� Distância de Mahalanobis.

� Distância de Minkowsky.

� Hamming Distance.

Page 24: Seminario classificadores

Calcular a distância

� Distância Euclidiana

� As coordenadas das tuplas (px,py)

� As coordenadas da tupla a ser classificada (qx,qy)

∑=

−=

n

i

ii qpqpd1

2)(),(

Page 25: Seminario classificadores

Calcular a distância

X1 X2 Cálculo Resultado Classe Ranking

7 7 (7-3)2 + (7-7)2 16 Ruim

7 4 (7-3)2 + (4-7)2 25 Ruim

3 4 (3-3)2 + (4-7)2 9 Bom

1 4 (1-3)2 + (4-7)2 13 Bom

� K = 3

4

3

2

1

BOM!!!

Page 26: Seminario classificadores

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?

Page 27: Seminario classificadores

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.

Page 28: Seminario classificadores

Aplicações

� Reconhecimento de voz

� Classificação de animais

� Mapas, definição de fronteiras

� Classificação automática de textos e

imagens

Page 29: Seminario classificadores
Page 30: Seminario classificadores
Page 31: Seminario classificadores

Redes Bayesianas

Page 32: Seminario classificadores

Rede Bayesiana

Z

X Y

Valores de X = { 1, 3}

Valores de Y = {2,4}

Valores de Z = {5,6}

X = 1

Y = 2

X = 1

Y = 4

X = 3

Y = 2

X = 3

Y = 4

Z = 5 0.5 0.3 0.2 0.1

Z = 6 0.5 0.7 0.8 0.9

P[Z |{X,Y}]

Page 33: Seminario classificadores

Como classificar usando uma Rede Bayesiana de Crença

� Output: P[C1|X], P[C2|X], ..., P[Cn|X]

� 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.

Page 34: Seminario classificadores

Exemplo Histórico

FamiliarFumante

Efisema

DispnéiaRaio

X+

Câncer

Pulmão

Page 35: Seminario classificadores

Exemplo HF= 1

F = 1

HF= 1

F = 0

HF= 0

F = 1

HF= 0

F = 0

1 0.8 0.5 0.7 0.1

0 0.2 0.5 0.3 0.9

F=1 F= 0

1 0.03 0.2

0 0.97 0.8

CP=1 CP=0

1 0.9 0.02

0 0.1 0.98

HF F

CP E

DRX+

HF =história familiar E = Efisema

F = fumante D = Dispnéia

CP = câncer de pulmão RX+ = raio X +

CPT(CP)

CPT(E) CPT(RX+)

CPT(D)

CP=1

E=1

CP=1

E=0

CP=0

E=1

CP=0

E=0

1 0.99 0.3 0.2 0.01

0 0.01 0.7 0.8 0.99

X = (HF=1, F=1, E = 0, RX+ = 1, D=0)

Page 36: Seminario classificadores

Cálculo das probabilidades

P[C|X]

Teorema de Bayes

P[C|X] = P[X|C] * P[C]P[X]

P[x1|pais(x1)] * P[x2|pais(x2)] * ...* P[xn|pais(xn)]* P[Ci|pais(Ci)]

Page 37: Seminario classificadores

Cálculos

X = (HF=1, F=1, E = 0, RX+ = 1, D=0)

P[X|CP=0] * P[CP=0] =

HF F

CP E

DRX+P[HF=1] *

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).

Page 38: Seminario classificadores

Exemplo HF= 1

F = 1

HF= 1

F = 0

HF= 0

F = 1

HF= 0

F = 0

1 0.8 0.5 0.7 0.1

0 0.2 0.5 0.3 0.9

F=1 F= 0

1 0.03 0.2

0 0.97 0.8

CP=1 CP=0

1 0.9 0.02

0 0.1 0.98

HF F

CP E

DRX+

HF =história familiar E = Efisema

F = fumante D = Dispnéia

CP = câncer de pulmão RX+ = raio X +

CPT(CP)

CPT(E) CPT(RX+)

CPT(D)

CP=1

E=1

CP=1

E=0

CP=0

E=1

CP=0

E=0

1 0.99 0.3 0.2 0.01

0 0.01 0.7 0.8 0.99

X = (HF=1, F=1, E = 0, RX+ = 1, D=0)

Page 39: Seminario classificadores

Cálculos

X = (HF=1, F=1, E = 0, RX+ = 1, D=0)

P[X|CP=0] * P[CP=0] =

1 *

1 *

0,97 *

0,02 *

0,99 *

0,2

HF F

CP E

DRX+

= 0,00384

Page 40: Seminario classificadores

Cálculos

X = (HF=1, F=1, E = 0, RX+ = 1, D=0)

P[X|CP=1] * P[CP=1] =

HF F

CP E

DRX+P[HF=1] *

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).

Page 41: Seminario classificadores

Exemplo HF= 1

F = 1

HF= 1

F = 0

HF= 0

F = 1

HF= 0

F = 0

1 0.8 0.5 0.7 0.1

0 0.2 0.5 0.3 0.9

F=1 F= 0

1 0.03 0.2

0 0.97 0.8

CP=1 CP=0

1 0.9 0.02

0 0.1 0.98

HF F

CP E

DRX+

HF =história familiar E = Efisema

F = fumante D = Dispnéia

CP = câncer de pulmão RX+ = raio X +

CPT(CP)

CPT(E) CPT(RX+)

CPT(D)

CP=1

E=1

CP=1

E=0

CP=0

E=1

CP=0

E=0

1 0.99 0.3 0.2 0.01

0 0.01 0.7 0.8 0.99

X = (HF=1, F=1, E = 0, RX+ = 1, D=0)

Page 42: Seminario classificadores

Cálculos

X = (HF=1, F=1, E = 0, RX+ = 1, D=0)

P[X|CP=1] * P[CP=1] =

1 *

1 *

0,97 *

0,9 *

0,7 *

0,8

HF F

CP E

DRX+

= 0,48 > 0,00384

X = CP = 1

Page 43: Seminario classificadores

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

Page 44: Seminario classificadores
Page 45: Seminario classificadores
Page 46: Seminario classificadores

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

Page 47: Seminario classificadores

WEKA

Waikato Environment for Knowledge Analysis

Page 48: Seminario classificadores

Arquivo .ARFF@relation jogar_golfe

@attribute ceu {sol, nublado, chuva}

@attribute temperatura {alta,baixa,suave}

@attribute umidade {alta, normal}

@attribute vento {sim, nao}

@attribute classe {sim, nao}

@data

sol,alta,alta,nao,nao

sol,alta,alta,sim,nao

nublado,alta,alta,nao,sim

chuva,alta,alta,nao,sim

chuva,baixa,normal,nao,sim

chuva,baixa,normal,sim,nao

nublado,baixa,normal,sim,sim

Page 49: Seminario classificadores

Interface

� Weka

� Carregando arquivos

� Classificadores

Page 50: Seminario classificadores

� Executando um classificador Knn

�Algoritmo Ibk

�Correctly Classified Instances

�Matriz de discussão

Page 51: Seminario classificadores

� 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

Page 52: Seminario classificadores

� Obrigada!