Marcus Sampaio DSC/UFCG Os slides 3-15 foram copiados de Pang-Ning Tan Classificação: Definição Marcus Sampaio DSC/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 Ilustração da Tarefa de Classificação 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 Marcus Sampaio DSC/UFCG Learning algorithm Induction Learn Model Model 10 Training Set Tid Attrib1 Attrib2 11 No Small 55K ? 12 Yes Medium 80K ? 13 Yes Large 110K ? 14 No Small 95K ? 15 No Large 67K ? 10 Test Set Attrib3 Apply Model Class Deduction Exemplos de Tarefas de Classificação Marcus Sampaio DSC/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 Modelos de Classificação • Á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 Marcus Sampaio DSC/UFCG Marcus Sampaio DSC/UFCG Árvore de Decisão Tid Refund Marital Status Taxable Income 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 No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes 60K Splitting Attributes Refund Yes No NO MarSt Single, Divorced TaxInc < 80K NO NO > 80K YES 10 Training Data Married Model: Decision Tree Outro Exemplo de Árvore de Decisão Marcus Sampaio DSC/UFCG MarSt 10 Tid Refund Marital Status Taxable Income 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 No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes 60K Married NO Single, Divorced Refund No Yes NO TaxInc < 80K NO > 80K YES There could be more than one tree that fits the same data! The induced tree is algorithm-dependent Acurácia de Treinamento Marcus Sampaio DSC/UFCG • 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 Sampaio DSC/UFCG Testando o Modelo Test Data Start from the root of tree. Refund Yes 10 No NO MarSt Single, Divorced TaxInc < 80K NO Married NO > 80K YES Refund Marital Status Taxable Income Cheat No 80K Married ? Marcus Sampaio DSC/UFCG Testando o Modelo Test Data Refund Yes 10 No NO MarSt Single, Divorced TaxInc < 80K NO Married NO > 80K YES Refund Marital Status Taxable Income Cheat No 80K Married ? Marcus Sampaio DSC/UFCG Testando o Modelo Test Data Refund Yes 10 No NO MarSt Single, Divorced TaxInc < 80K NO Married NO > 80K YES Refund Marital Status Taxable Income Cheat No 80K Married ? Marcus Sampaio DSC/UFCG Testando o Modelo Test Data Refund Yes 10 No NO MarSt Single, Divorced TaxInc < 80K NO Married NO > 80K YES Refund Marital Status Taxable Income Cheat No 80K Married ? Marcus Sampaio DSC/UFCG Testando o Modelo Test Data Refund Yes 10 No NO MarSt Single, Divorced TaxInc < 80K NO Married NO > 80K YES Refund Marital Status Taxable Income Cheat No 80K Married ? Marcus Sampaio DSC/UFCG Testando o Modelo Test Data Refund Yes Refund Marital Status Taxable Income Cheat No 80K Married ? 10 No NO MarSt Single, Divorced TaxInc < 80K NO Married NO > 80K YES Assign Cheat to “No” Test Accuracy?! Qualidade de Modelos Marcus Sampaio DSC/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 Marcus Sampaio DSC/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 Complementaridade de Algoritmos de Árvore de Decisão Marcus Sampaio DSC/UFCG ID3 (WEKA) Acurácia de treinamento Acurácia de teste Acurácia de previsão alta média média J48 (WEKA) Análise média ID3 é bom para síntese dos dados alta J48 tende a ser melhor para testes alta J48 tende a ser mais confiável que ID3 Árvores 1R Marcus Sampaio DSC/UFCG • Á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 Sampaio DSC/UFCG Estado Temp Umid Vento Jogo ensol quente alta falso não ensol quente alta verdade não nublado quente alta falso sim chuvoso amena alta falso sim chuvoso fria normal falso sim chuvoso fria normal verdade não nublado fria normal verdade sim ensol amena alta falso não ensol fria normal falso sim Marcus Sampaio DSC/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 Sampaio DSC/UFCG Estado Ensolarado Chuvoso Nublado Não Sim Sim Algoritmo de Indução de Árvores 1R Marcus Sampaio DSC/UFCG Para cada atributo ( atributo de classificação) Para cada valor do atributo, faça Conte quantas vezes cada classe aparece Encontre a classe mais freqüente Forme um ramo da árvore Calcule a taxa de erro da árvore candidata Escolha uma das árvores candidatas com a menor taxa de erro Marcus Sampaio DSC/UFCG atributo regras erros total de erros 1 estado ensolarado não nublado sim chuvoso sim 2/5 0/4 2/5 4/14 2 temperatur a quente não* amena sim fria sim 2/4 2/6 1/4 5/14 3 umidade alta não normal sim 3/7 1/7 4/14 4 ventania falso sim verdade não* 2/8 3/6 5/14 *- Escolha aleatória Algoritmo Marcus Sampaio DSC/UFCG • 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 livrotexto), mas não quando o tempo estiver ensolarado Árvores de Decisão Stricto Sensu Marcus Sampaio DSC/UFCG Análise de Crédito Salário 1.000 4.000 1.500 7.500 1.800 Educação secundária graduado graduado pós-grad pós-grad Status rejeitado aceito rejeitado aceito aceito Salário < 2.000 2.000 Conj. de Treinamento Educação aceito pós-grad aceito graduado rejeitado Construção de Árvores Marcus Sampaio DSC/UFCG • 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 Sampaio DSC/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 Sampaio DSC/UFCG Marcus Sampaio DSC/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 Sampaio DSC/UFCG Marcus Sampaio DSC/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 Sampaio DSC/UFCG Marcus Sampaio DSC/UFCG • Exercício – Calcule a acurácia de treinamento da árvore do slide anterior Marcus Sampaio DSC/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 conjuntotreinamento 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! Algoritmos Que Induzem Árvores Marcus Sampaio DSC/UFCG • 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 Poda ("Pruning") Marcus Sampaio DSC/UFCG • Principal técnica para contornar “overfitting” • Exemplo: os dados a minerar referem-se a contratos de trabalho Antes da Poda Marcus Sampaio DSC/UFCG Acurácia de Treinamento = 100% Depois da Poda Marcus Sampaio DSC/UFCG Acurácia de Treinamento < 100%, mas o modelo se torna mais confiável (acurácia de previsão) Conclusões sobre Árvores de Decisão Marcus Sampaio DSC/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!