marcus sampaio dsc/ufcg os slides 3-15 foram copiados de pang-ning tan
TRANSCRIPT
Marcus SampaioDSC/UFCG
Os slides 3-15 foram copiados de Pang-Ning Tan
Marcus SampaioDSC/UFCG
• Dada uma coleção de instâncias (conjunto de treinamento)– Cada instância contém um conjunto de atributos, um dos
atributos é a classe classificação supervisionada• A meta é induzir um modelo para o atributo
classe como uma função de valores de outros atributos
• Objetivo: instâncias novas ou de previsão devem ser classificadas tanto acuradamente quanto possível– Um conjunto de teste é usado para ajudar a estimar a
acurácia de previsão do modelo
Classificação: Definição
Marcus SampaioDSC/UFCG
Apply Model
Induction
Deduction
Learn Model
Model
Tid Attrib1 Attrib2 Attrib3 Class
1 Yes Large 125K No
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No
8 No Small 85K Yes
9 No Medium 75K No
10 No Small 90K Yes 10
Tid Attrib1 Attrib2 Attrib3 Class
11 No Small 55K ?
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ? 10
Test Set
Learningalgorithm
Training Set
Ilustração da Tarefa deClassificação
Marcus SampaioDSC/UFCG
• Predizer tumores em células: benigno, maligno
• Classificar transações de cartão de crédito: legítimas, fraudulentas
• Classificar estruturas secundárias de proteínas: “alpha-helix”, “beta-sheet”, “random coil”
• Categorizar notícias como finanças, tempo, esporte, etc
Exemplos de Tarefas deClassificação
Marcus SampaioDSC/UFCG
• Árvores de Decisão• Regras de Classificação• Modelos Estatísticos
– Naïve Bayes – Bayesian Belief Network*
• Support Vector Machines*• Redes Neurais*
*- Não serão vistos
Modelos de Classificação
Marcus SampaioDSC/UFCG
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
categorical
categorical
continuous
class
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Splitting Attributes
Training Data Model: Decision Tree
Árvore de Decisão
Marcus SampaioDSC/UFCG
Tid Refund MaritalStatus
TaxableIncome Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes10
categorical
categorical
continuous
classMarSt
Refund
TaxInc
YESNO
NO
NO
Yes No
Married Single,
Divorced
< 80K > 80K
There could be more than one tree that fits the same data! The induced tree is algorithm-dependent
Outro Exemplo deÁrvore de Decisão
Marcus SampaioDSC/UFCGAcurácia de Treinamento
• Cada árvore induzida terá uma acurácia de treinamento– Acurácia 100%: cada regra (ramo da árvore) com
acurácia = 100%– Acurácia de treinamento 100% Alta acurácia
de teste• Veremos as explicações, adiante
Marcus SampaioDSC/UFCG
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Test DataStart from the root of tree.
Testando o Modelo
Marcus SampaioDSC/UFCG
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Test Data
Testando o Modelo
Marcus SampaioDSC/UFCG
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Test DataTestando o Modelo
Marcus SampaioDSC/UFCG
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Test Data
Testando o Modelo
Marcus SampaioDSC/UFCG
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Test Data
Testando o Modelo
Marcus SampaioDSC/UFCG
Refund
MarSt
TaxInc
YESNO
NO
NO
Yes No
Married Single, Divorced
< 80K > 80K
Refund Marital Status
Taxable Income Cheat
No Married 80K ? 10
Test Data
Assign Cheat to “No”
Testando o Modelo
Test Accuracy?!
Marcus SampaioDSC/UFCG
• Acurácias de treinamento e teste– Alta acurácia significa que o modelo é um espelho
dos dados• Síntese dos dados (importante)
– Alta acurácia de treinamento não significa necessariamente que o modelo terá alta acurácia de teste
• Pode haver regras cobrindo poucas instâncias– Sem validade estatística, o que levaria a erro nos teste
– Overfitting• Alta acurácia de treinamento Baixa acurácia de teste
Qualidade de Modelos
Marcus SampaioDSC/UFCG
• Em resumo– Modelo-espelho
• Bom para conhecer os dados
– Alta acurácia de teste• Importante para acertar com o o conjunto de previsão
– Estimativa da acurácia de previsão
– Numa análise comparativa, é comum situações como
Marcus SampaioDSC/UFCG
ID3 (WEKA)
J48 (WEKA) Análise
Acurácia de treinamento
alta médiaID3 é bom
para síntese dos
dados
Acurácia de teste
média altaJ48 tende a ser melhor para testes
Acurácia de previsão
média altaJ48 tende a
ser mais confiável que ID3
Complementaridade de Algoritmosde Árvore de Decisão
Marcus SampaioDSC/UFCGÁrvores 1R
• Árvores de decisão com um só nível (fora a raiz) árvores 1R
• O interessante e surpreendente é que árvores 1R podem ser confiáveis– Alta acurácia de previsão
• Exemplo: Prever a realização de jogo, dadas as condições meteorológicas– Problema do tempo
Marcus SampaioDSC/UFCG
Estado Temp Umid Vento Jogoensol quente alta falso nãoensol quente alta verdade nãonublado quente alta falso simchuvoso amena alta falso simchuvoso fria normal falso sim
chuvoso fria normal verdade nãonublado fria normal verdade simensol amena alta falso nãoensol fria normal falso sim
Marcus SampaioDSC/UFCG
chuvoso amena normal falso sim
ensol amena normal verdade sim
nublado amena alta verdade sim
nublado quente normal falso sim
chuvoso amena alta verdade não
Atenção: Não é o mesmo conjunto das provas sim e não invertidos
Marcus SampaioDSC/UFCG
Chuvoso
Estado
EnsolaradoNublado
SimNão Sim
Marcus SampaioDSC/UFCG
Algoritmo de Indução deÁrvores 1R
Para cada atributo ( atributo de classificação)Para cada valor do atributo, faça
Conte quantas vezes cada classe apareceEncontre a classe mais freqüenteForme um ramo da árvore
Calcule a taxa de erro da árvore candidata Escolha uma das árvores candidatas com a menor taxa de erro
Marcus SampaioDSC/UFCG
atributo regras erros total de erros
1 estado ensolarado nãonublado simchuvoso sim
2/50/42/5
4/14
2 temperatura
quente não*amena simfria sim
2/42/61/4
5/14
3 umidade alta nãonormal sim
3/71/7
4/14
4 ventania falso simverdade não*
2/83/6
5/14
*- Escolha aleatória
Marcus SampaioDSC/UFCGAlgoritmo
• Interpretação da árvore– Com possivelmente alta probabilidade, existirá
jogo (previsão) quando o tempo estiver nublado ou chuvoso (vocês estão percebendo que isto é coisa de inglês, ou da "commonwealth“, ou do livro-texto), mas não quando o tempo estiver ensolarado
Marcus SampaioDSC/UFCG
Árvores de Decisão Stricto Sensu
Salário Educação Status1.000 secundária rejeitado4.000 graduado aceito1.500 graduado rejeitado7.500 pós-grad aceito1.800 pós-grad aceito
aceito rejeitado
Salário
2.000< 2.000
pós-grad
aceitoEducação
Análise de Crédito
graduado
Conj. de Treinamento
Marcus SampaioDSC/UFCGConstrução de Árvores
• Problema recursivo– Seleciona-se um atributo para ser o atributo-raiz da
árvore – Cada valor do atributo é um ramo da árvore
• Decompõe o conjunto-treinamento em sub-conjuntos, um para cada valor do atributo (intervalo, às vezes)
– Em princípio, quando todas as instâncias em um ramo tiverem a mesma classificação, o processo de decomposição pára
• Não esquecer que acurácia de treinamento de 100% pode não ser o objetivo
• Como determinar cada atributo-raiz?– A determinação é baseada no conceito de entropia
Marcus SampaioDSC/UFCG
• Entropia– Conceito emprestado da Termodinâmica, que
significa grau de desordem das moléculas de um gás entropia do gás
• Exemplo: o problema do tempo
Marcus SampaioDSC/UFCG
Marcus SampaioDSC/UFCG
• O primeiro atributo-raiz a ser escolhido é Estado– Menor entropia (entropia: grau de desordem)
• Ver, no livro-texto, como a entropia é calculada
– A ‘olho nu’, podia ser também Umidade– Note que o algoritmo 1R, por outras vias menor
taxa de erro chega a conclusões similares menor entropia, mas pára no primeiro nível da árvore
Marcus SampaioDSC/UFCG
Marcus SampaioDSC/UFCG
• Umidade é o segundo nodo do primeiro ramo da árvore – Note que não há necessidade de dividir os
conjuntos de instâncias deste modo• Induzir uma árvore-espelho não necessariamente leva à
melhor acurácia de previsão
• A aplicação recursiva da mesma idéia conduz à árvore final para o problema do tempo
Marcus SampaioDSC/UFCG
Marcus SampaioDSC/UFCG
• Exercício– Calcule a acurácia de treinamento da árvore do
slide anterior
Marcus SampaioDSC/UFCG
• Idealmente, o processo termina quando todos os nós-folhas são puros, isto é, todos os conjuntos de instâncias têm a mesma classe
• Entretanto, pode não ser possível alcançar esta 'feliz' situação – Podemos ter duas instâncias do conjunto-
treinamento com os mesmos valores do conjunto de atributos, porém com classes diferentes
• Um tipo de ‘sujeira’
• Uma ‘feliz’ situação pode não ser desejável: algoritmos sofisticados, como o J48, preferem errar no treinamento para acertar na previsão!
Marcus SampaioDSC/UFCG
Algoritmos Que InduzemÁrvores• ID3
– Objetiva 100% de acurácia de treinamento• Bom para conhecer os dados de mineração
• C4.5– Produz modelos em geral mais confiáveis que o ID3– Pode se afastar do conjunto de treinamento
• Mecanismo de poda (“pruning”), para a solução do problema de “overfitting”
• J.48– Versão WEKA do C4.5
• C5.0 (See5)– Versão comercial do C4.5
• Outros algoritmos– Ver a biblioteca WEKA
Marcus SampaioDSC/UFCGPoda ("Pruning")
• Principal técnica para contornar “overfitting”• Exemplo: os dados a minerar referem-se a
contratos de trabalho
Marcus SampaioDSC/UFCGAntes da Poda
Acurácia de Treinamento = 100%
Marcus SampaioDSC/UFCGDepois da Poda
Acurácia de Treinamento < 100%, mas o modelo se torna mais confiável (acurácia de previsão)
Marcus SampaioDSC/UFCG
• Os algoritmos de indução de árvores são muito eficientes, em termos de tempo
• Algoritmos de navegação em árvores, para previsão, são extremamente eficientes
• Árvores de decisão são fáceis de interpretar, se a sua complexidade for simples ou mediana– Muito frequentemente, não é assim
• Impossibilidade de gerar ‘galhos’ com negação ou disjunção• Os algoritmos de árvores de decisão induzem
modelos tão eficientes, na média, quanto os algoritmos que induzem outros tipos de modelo
• Um processo de MD deve decidir entre n modelos, incluindo árvores e outros tipos de modelo– Não existe o melhor modelo, mas– Existe o melhor modelo para um dado problema!
Conclusões sobreÁrvores de Decisão