classificação. classificação: atribuição a uma classe (rótulo de um atributo categórico)....

33
Classificação

Upload: internet

Post on 18-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Classificação

Page 2: 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

• Classificação: • Atribuição a uma classe (rótulo de um atributo categórico).• Classifica dados (constrói um modelo) baseado em um

conjunto de treinamento previamente rotulado e usa o modelo para classificar novas observações.

• Previsão (regressão): • Modela funções contínuas, previsão de valores

desconhecidos ou ausentes.

• Aplicações • Aprovação de crédito• Diagnóstico médico• etc.

Classificação versus Predição (regressão)

Page 3: 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

Classificação: um processo em duas etapas

• Construção do modelo (aprendizagem): descrição de um conjunto de classes a priori• Supõe-se que cada observação é oriunda de uma classe

predefinida, como indicado pelo atributo rótulo da classe.• Conjunto de treinamento: o conjunto de observações

usadas para construir o modelo.• Exemplos de modelos: regras de classificação, árvores de

decisão, fórmulas matemáticas.

Page 4: 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

Classificação: um processo em duas etapas

• Uso do modelo: para classificar observações desconhecidas• Avaliação da precisão do modelo

• O rótulo conhecido de uma observação é comparado com o resultado do modelo (conjunto de teste).

• A taxa de erro é a percentagem de observações do conjunto teste que são classificadas incorretamente pelo modelo.

• O conjunto de teste deve ser independente do conjunto de treinamento, senão poderá ocorrer super ajustamento (over-fitting).

Page 5: 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

Classificação: um processo em duas etapas

True Positive

Count (TP)

FalsePositive

Count (FP)

TrueNegative

Count (TN)

FalseNegative

Count (FN)

True Class

Positive Negative

Pos

itive

Neg

ativ

e

Pre

dict

ed C

lass FNTP

TPRatePositiveTrue

FPTN

TNRateNegativeTrue

FNFPTNTP

TNTPAccuracy

FPTP

TPrecision

P

FNTP

TPcallRe

Page 6: 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

Classificação: um processo em duas etapas

PreprocessedData

Training Data

Testing Data

Model Development

Model Assessment

(scoring)

2/3

1/3

Classifier

Prediction Accuracy

Page 7: 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

Processo de classificação (1): construção do modelo

Dados de treinamento

NOME CATEGORIA ANOS EfetivoTonho Prof. Assist. 3 nãoMaria Prof. Assist. 7 simJoão Professor 2 simJosé Prof. Assoc. 7 simDavid Prof. Assist. 6 nãoAna Prof. Assoc. 3 não

Algoritmos deClassificação

IF categoria = ‘professor’OU Anos > 6THEN Efetivo = ‘sim’

Classificador(Modelo)

Page 8: 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

Processo de classificação (2): uso do modelo para a previsão

Classificador

Dados deteste

NOME CATEGORIA ANOS EFETIVOTonho Prof. Assist. 2 nãoMelisa Prof. Assoc. 7 nãoGeorge Professor 5 simJose Prof. Assist. 7 sim

Dados não

(Jeferson, Professor, 4)

Efetivo?

Page 9: 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

Aprendizagem supervisionada vs. Aprendizagem não supervisionada

• Aprendizagem supervisionada (classificação)

• Supervisão: os dados de treinamento são rótulados pelas

classes as quais pertencem

• As novas observações são classificadas com base no

conjunto de aprendizagem

• Aprndizagem não supervisionada (clustering)

• As classes dos dados de treinamento são desconhecidas

• O objetivo é formar/descobrir classes à partir dos dados

Page 10: 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

Preparação de dados para classificação

• Preparação de dados• Pré-processamento dos dados para reduzir o ruído e tratar

os valores ausentes

• Seleção de variáveis• Remoção dos atributos irrelevantes ou redundantes

• Transformação dos dados• Generalização e/ou normalização dos dados

Page 11: 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

Avaliação dos métodos de classificação

• Previsão da taxa de erro• Velocidade e escalabilidade

• Tempo para a construção do modelo• Tempo para o uso do modelo

• Robustez• Ruido e valores ausentes

• Escalabilidade• Eficiencia em grandes base de dados

• Interpretabilidade: • Compreensão fornecida pelo modelo

• Adequação das regras• Tamanho das árvores de decisão• Compacticidade das regras de classificação

Page 12: 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

Classificação via árvores de decisão

• Árvores de Decisão • Estrutura semelhante a uma árvore.• Os nós internos representam um teste em um

atributo.• Os ramos representam o resultado do teste.• As folhas representam os rótulos das classes.

Page 13: 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

Classificação via árvores de decisão

• Duas fases na geração de uma árvore de decisão• Construção da árvore

• No início, todos os exemplos de treinamento estão na raíz.

• Os exemplos são particionados recursivamente com base nos atributos selecionados.

• Poda da árvore• Identificar e remover ramos que refletem ruidos e

aberrações.

Page 14: 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

Conjunto de treinamento

idade renda estudante? crédito computador?

<=30 alta não passavel no

<=30 alta não excelente no

30…40 alta não passavel yes

>40 média não passavel yes

>40 baixa sim passavel yes

>40 baixa sim excelente no

31…40 baixa sim excelente yes

<=30 média não passavel no

<=30 baixa sim passavel yes

>40 média sim passavel yes

<=30 média sim excelente yes

31…40 média não excelente yes

31…40 alta sim passavel yes

>40 média não excelente no

Page 15: 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

Saída: árvore de decisão para “compra_computador”

Idade?

overcast

Estudante? Crédito?

não sim Passávelexcelente

<=30 >40

não nãosim sim

Sim

30..40

Page 16: 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

Algoritmo de árvores de decisão

• Algoritmo básico• A árvore é construída recursivamente de cima para

baixo no modo dividir para conquistar.• No início, todos os exemplos se encontram na raíz• Os atributos são discretos (os atributos contínuos

são discretizados previamente).• Os exemplos são particionados recursivamente com

base em atributos selecionados.• Os atributos são selecionados heuristicamente ou

através de uma critério estatístico (ex., ganho de informação).

Page 17: 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

Algoritmo de árvores de decisão

• Condições de parada• Todas as amostras de um dado nó pertencem a

mesma classe.• Não há mais atributo disponível para futuras

partições – usa-se voto da maioria para classificar a folha.

• Não há mais exemplos disponíveis.

Page 18: 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

Critério para a seleção de atributos

• ganho de informação (ID3/C4.5)

• Supõe-se que todos os atributos são categóricos

• Pode ser modificado para atributos contínuos

• Selecione o atributo com o maior ganho de informação

• Suponha que existem duas classes, P e N

• Seja S o conjunto de exemplos com p elementos da classe P e

n elementos da classe N

Page 19: 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

Ganho de informação (ID3/C4.5)

• A quantidade de informação necessária para decidir se um

exemplo arbitrário de S pertence a P ou a N é definido como

npn

npn

npp

npp

npI

22 loglog),(

Page 20: 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

• Suponha que usando-se um atributo A um conjunto S será particionado em {S1, S2 , …, Sv}

• Se Si contem pi exemplos de P e ni exemplos de N, a

entropia, ou a informação esperada necessária para classificar objetos em todas as sub árvores Si é

• A informação que seria ganha ao ramificar-se por A

1),()(

iii

ii npInp

npAE

)(),()( AEnpIAGain

Ganho de informação (ID3/C4.5)

Page 21: 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

Ganho de informação para o atributo raíz

Idade?

overcast

SimSimNãoNãoNão

SimSimSimNãoNão

<=30 >40

SimSimSimSim

30..40

Page 22: 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

Renda?

overcast

SimSimNãoNão

SimSimSimNão

alta baixa

SimSimSimSimNãoNão

média

Ganho de informação para o atributo raíz

Page 23: 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

Estudante?

SimSimSimNãoNãoNãoNão

SimSimSimSimSimSimNão

não sim

Ganho de informação para o atributo raíz

Page 24: 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

Crédito?

SimSimSimSimSimSimNãoNão

SimSimSimNãoNãoNão

passável excelente

Ganho de informação para o atributo raíz

Page 25: 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

Seleção de atributos pelo calculo do ganho de informação

Classe P: computador? = “sim”

Classe N: computador? = “não”

I(p, n) = I(9, 5) = 0.940

Calculo da entropia para idade:

E(idade) = (5/14)I(2,3) +

(4/14)I(4,0)+

(5/14)I(3,2) = 0.693

Logo

Gain(idade) =I(9,5) – E(idade)

Gain(idade) = 0.247

Da mesma forma

Gain(renda) = 0.029

Gain(estudante) = 0.151

Gain(crédito) = 0.048

idade pi ni I(pi, ni)<=30 2 3 0,97130…40 4 0 0>40 3 2 0,971

Page 26: 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

Idade?

overcast

Estudante?

não sim

<=30 >40

NãoNãoNão

SimSim

30..40

Ganho de informação para o atributo seguinte

Page 27: 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

Idade?

overcast

Crédito?

passável excelente

<=30 >40

SimSimNãoNão

SimNão

30..40

Ganho de informação para o atributo seguinte

Page 28: 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

Idade?

overcast

Renda?

alta média

<=30 >40

NãoNão

SimNão

30..40

baixa

Sim

Ganho de informação para o atributo seguinte

Page 29: 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

Extração de regras de classificação a partir de árvores de decisão

• Representa o conhecimento na forma de regras IF-THEN• Cria-se uma regra para cada caminho ligando a raíz a uma

folha• Cada par atributo-valor ao longo de um caminho forma uma

conjunção• A folha fornece a previsão da classe• Exemplo

IF idade = “<=30” AND estudante = “não” THEN computador? = “não”

IF idade = “<=30” AND estudante = “sim” THEN computador? = “sim”

IF idade = “31…40” THEN computador? = “sim”

IF idade = “>40” AND crédito = “excelente” THEN computador? = “sim”

IF idade = “<=30” AND crédito = “passável” THEN computador = “não”

Page 30: 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

Overfitting em Classificação

• A árvore gerada pode super ajustar os dados de treinamento • Ramos demais, alguns podem ser o resultado de anomalias

devido a ruidos e dados aberrantes• Taxa de erro maior para as observações desconhecidas

• Duas abordagens para evitar o overfitting • Pré-Poda: Parar a construção da árvore cedo—não dividir um nó

se isso resultar em um critério abaixo de um limiar• Difícil escolher o limiar apropriado

• Pos-Poda: Remover ramos de uma árvore completa—obter uma sequencia de árvores progressivamente podadas

• Usar um conjunto de dados diferente dos dados de treinamento para decidir qual é a melhor árvore podada

Page 31: 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

Abordagens para determinar o tamanho final da árvore

• Conjuntos de treinamento (2/3) e teste (1/3) separados

• Usar cross validation, ex., 10-fold cross validation

• Usar todos os dados para treinar

• mas aplicar um teste estatístico (ex., qui-quadrado) para estimar se a expansão ou a poda de um nó pode ser realizada

Page 32: 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

Melhoramentos na árvore de decisão básica

• Permitir a manipulação de atributos contínuos• Definir dinamicamente novos atributos discretos que

particionam os atributos contínuos em um conjunto de intervalos

• Manipular valores ausentes• Atribuir o valor mais comum do atributo

• Atribuir o valor mais provável

• Construção de atributos• Criar novos atributos com base naqueles representados

esparsamente

Page 33: 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

O que é previsão

• Previsão é similar a classificação• Primeiro, o modelo é construído• Depois, usa-se o modelo para prever valores

desconhecidos• O mais importante método de previsão é a regressão

• Regressão linear e múltipla• Regressão não linear

• Previsão é diferente de classificação• Classificação diz respeito a previsão do rótulo de uma

classe• Previsão é apropriada para modelar funções contínuas