classificação. classificação: atribuição a uma classe (rótulo de um atributo categórico)....
Post on 18-Apr-2015
109 Views
Preview:
TRANSCRIPT
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 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)
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.
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).
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
Classificação: um processo em duas etapas
PreprocessedData
Training Data
Testing Data
Model Development
Model Assessment
(scoring)
2/3
1/3
Classifier
Prediction Accuracy
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)
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?
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
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
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
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.
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.
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
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
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).
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.
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
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),(
• 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)
Ganho de informação para o atributo raíz
Idade?
overcast
SimSimNãoNãoNão
SimSimSimNãoNão
<=30 >40
SimSimSimSim
30..40
Renda?
overcast
SimSimNãoNão
SimSimSimNão
alta baixa
SimSimSimSimNãoNão
média
Ganho de informação para o atributo raíz
Estudante?
SimSimSimNãoNãoNãoNão
SimSimSimSimSimSimNão
não sim
Ganho de informação para o atributo raíz
Crédito?
SimSimSimSimSimSimNãoNão
SimSimSimNãoNãoNão
passável excelente
Ganho de informação para o atributo raíz
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
Idade?
overcast
Estudante?
não sim
<=30 >40
NãoNãoNão
SimSim
30..40
Ganho de informação para o atributo seguinte
Idade?
overcast
Crédito?
passável excelente
<=30 >40
SimSimNãoNão
SimNão
30..40
Ganho de informação para o atributo seguinte
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
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”
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
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
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
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
top related