Agenda II Semana de Tecnologia da Informação IFBA Campus Vitória da Conquista I. 27 a 30 de maio de 2014 Introdução Mineração de Dados com a Ferramenta Weka II. Mineração de Dados Weka Conceitos, Métodos e Métricas de Avaliação Classificação Associação Agrupamento Prof. MSc Pablo Freire Matos III. Mineração de Dados em um SGBD Informática - Instituto Federal da Bahia (IFBA) [email protected] IV. Estudos de Caso Mineração de Dados com a Ferramenta Weka 2 Mineração de Dados: Por quê? Parte I - Introdução Grandes volumes de dados disponíveis Muitos dados, mas pouca informação Decisões são tomadas utilizando intuição Necessidade de transformar dados em informação útil Mineração de Dados com a Ferramenta Weka Mineração de Dados: Por quê? O que é Mineração? Frequentemente existe informação “escondida” nos dados que não é evidente de ser encontrada utilizando linguagens de consultas tradicionais Analistas humanos podem levar semanas para correlacionar e descobrir alguma informação útil dentro de uma grande massa de dados Boa parte dos dados nunca é analisado: “cemitério” de dados Mineração de Dados com a Ferramenta Weka 4 5 Extração de padrões interessantes ou conhecimento de um grande volume de dados Também conhecido como KDD (Knowledge Discovery in Databases) Mineração de Dados com a Ferramenta Weka 6 1 O que é Mineração? O que é Mineração? Para a comunidade de BI Para a comunidade de BD e DW Mineração de Dados com a Ferramenta Weka Mineração de Dados com a Ferramenta Weka 7 O que é Mineração? 8 O que é Mineração? Para a comunidade de AM e Estatística Estatística e IA AM e Reconhecimento de Padrões Mineração de Dados Banco de Dados Mineração de Dados com a Ferramenta Weka Mineração de Dados com a Ferramenta Weka 9 Tarefas de Mineração Predição MD Consiste na predição do valor de algum atributo de um caso baseado em exemplos de experiências passadas Classificação Predição Descrição O atributo a ser predito deve ser mapeado em uma classe conhecida Classificação Regressão 10 Agrupamento Associação Regressão O atributo a ser predito é um valor contínuo Mineração de Dados com a Ferramenta Weka 11 Diagnóstico Médico Detecção de Fraude Previsão de valor de ações Estimativa de Validade de Medição Mineração de Dados com a Ferramenta Weka 12 2 Descrição Caso Bank of America Identificação de propriedades e relações características em um conjunto de dados Agrupamento Grupos de dados com características similares Identificação de categorias de clientes Sugestão antes de colocar no carrinho de compras Associação Relações existentes entre valores de subconjuntos de atributos Sugestão após colocar no carrinho de compras Mineração de Dados com a Ferramenta Weka O banco usou técnicas de MD para selecionar entre seus 36 milhões de clientes aqueles com menor risco de dar calote num empréstimo. A partir desses relatórios, enviou cartas oferecendo linhas de crédito para os correntistas cujos filhos tivessem entre 18 e 21 anos e, portanto, precisassem de dinheiro para ajudar os filhos a comprar o próprio carro, uma casa ou arcar com os gastos da faculdade. Resultado: em três anos, o banco lucrou 30 milhões de dólares. Mineração de Dados com a Ferramenta Weka 13 Caso Walmart Ambiente WEKA 14 Explorer Experimento A empresa identificou um hábito curioso dos consumidores. Há cinco anos, ao procurar eventuais relações entre o volume de vendas e os dias da semana, o software de data mining apontou que, às sextas-feiras, as vendas de cervejas cresciam na mesma proporção que as de fraldas. Crianças bebendo cerveja? Não, uma investigação mais detalhada revelou que, ao comprar fraldas para seus bebês, os pais aproveitavam para abastecer o estoque de cerveja para o final de semana. Mineração de Dados com a Ferramenta Weka Linha de Comando Workflow Java API 15 Weka: Explorer Mineração de Dados com a Ferramenta Weka Mineração de Dados com a Ferramenta Weka 16 Base de Dados: ARFF 17 Mineração de Dados com a Ferramenta Weka 18 3 Base de Dados: CSV Base de Dados: SGBD CSV (Comma-separated values) Mineração de Dados com a Ferramenta Weka Mineração de Dados com a Ferramenta Weka 19 20 Conceitos Base de Exemplos Parte II – Classificação: Composta por exemplos contendo valores de atributos bem como a classe associada Conceitos, Métodos e Métricas de Avaliação Mineração de Dados com a Ferramenta Weka Conceitos A temperatura do dia Classe (ou rótulo) Mineração de Dados com a Ferramenta Weka 23 salário, temperatura Discreto x Contínuo Tipo de defeito de equipamento altura: {baixo, médio, alto, muito alto} Numéricos Atributo especial que descreve o conceito que se deseja aprender e poder fazer previsões a respeito cor do cabelo: {loiro, ruivo, preto, branco, castanho} Ordinais: a ordem importa, mas o valor que representa cada categoria não é conhecido Uma característica mensurável de um exemplo Nominais: categorias Um dia descrito por temperatura, umidade e situação das nuvens Atributo (ou característica) Um exemplo descrito por certo número de atributos Tipos de Atributos Exemplo (ou instância) 22 número finito de estados normalmente representado por um número real Mineração de Dados com a Ferramenta Weka 24 4 Base de Exemplos Classificação: Introdução Aparência Temperatura Umidade Vento Jogo Sol Quente 85 Falso Não Sol Quente 90 Verdadeiro Não Encoberto Quente 86 Falso Sim Chuvoso Agradavel 96 Falso Sim Chuvoso Frio 80 Falso Sim Chuvoso Frio 70 Verdadeiro Não Encoberto Frio 65 Verdadeiro Sim Sol Agradavel 95 Falso Não Sol Frio 70 Falso Sim Chuvoso Agradavel 80 Falso Sim Sol Agradavel 70 Verdadeiro Sim Encoberto Agradavel 90 Verdadeiro Sim Encoberto Quente 75 Falso Chuvoso Agradavel Mineração de Dados com91 a FerramentaVerdadeiro Weka Sim Não Mineração de Dados com a Ferramenta Weka 25 Dada uma coleção de registros (conjunto de treinamento) Spam de E-mail Objetivo: definir a classe de novos registros Potenciais Assinantes 27 cada registro contém um conjunto de atributos, e um dos atributos é a classe Encontrar um modelo para determinar o valor do atributo classe em função dos valores de outros atributos Upgrade de Pacotes Mineração de Dados com a Ferramenta Weka Attrib1 1 Yes Large 125K No 2 No Medium 100K No 3 No Small Attrib2 70K Attrib3 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 Tid Attrib1 11 No Small 55K ? 12 Yes Medium 80K ? 13 Yes Large 110K ? 14 No Small 95K ? 15 No Large 67K ? Induction Learn Model Model Training Set Attrib2 Attrib3 Apply Model Class Deduction 10 Test Set A classe deve ser atribuída o mais corretamente possívelMineração de Dados com a Ferramenta Weka 28 Classificadores eager (espertos) A partir da amostragem inicial (conjunto de treinamento), constroem um modelo de classificação capaz de classificar novos registros Uma vez o modelo pronto, o conjunto de treinamento não é mais utilizado na classificação de novos objetos (registros) Árvores de Decisão Naïve Bayes e Redes Bayesianas Redes Neurais Regras de Decisão Máquinas de Vetores de Suporte (SVM) Tid Attrib1 1 Yes Large 125K No 2 No Medium Attrib2 100K Attrib3 No Class 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 Tree Induction algorithm Induction Learn Model Model 10 Training Set Classificadores lazy (preguiçosos) Cada novo registro é comparado com todo o conjunto de treinamento e é classificado segundo a classe do registro que é mais similar Learning algorithm Class 10 O conjunto de dados é dividido em conjunto de treinamento (usado para gerar o modelo) e conjunto de teste Um conjunto de DADOS de teste é usado para avaliar o modelo Tid Como criar uma Árvore de Decisão? Métodos de Classificação 26 Classificação Supervisionada: Definição Classificar um objeto (registro, amostra, exemplo) é determinar com que grupo de entidades, já classificadas anteriormente, esse objeto apresenta mais semelhanças É uma das técnicas mais utilizadas na mineração Exemplos de Tarefas de Classificação Concessão de Empréstimo Classificação Método kNN (k-nearest-neighbor) Case-Based Reasoning (CBR) Outros Métodos Tid Attrib1 11 No Small 55K ? 12 Yes Medium Attrib2 80K Attrib3 ? 13 Yes Large 110K ? 14 No Small 95K ? 15 No Large 67K ? Apply Model Class Decision Tree Deduction 10 Algoritmos Genéticos e Conjuntos Fuzzy Mineração de Dados com a Ferramenta Weka Test Set 29 Mineração de Dados com a Ferramenta Weka 30 5 Método Árvore de Decisão Método Árvore de Decisão Ordem dos Atributos: CasaPrópria, EstCivil, Rendim. Ordem dos Atributos: EstCivil, CasaPrópria, Rendim. atributos Id Casa própria 1 S Solteiro 125K NÃO 2 N Casado 100K NÃO 3 N Solteiro 70K NÃO 4 S Casado 120K NÃO Mau EstCivil Rendim. Pagador 5 N Divorc. 95K SIM 6 N Casado 60K NÃO 7 S Divorc. 220K 8 N Solteiro 85K SIM 9 N Casado 75K NÃO N Solteiro 90K SIM 10 CasaPr. S N EstCivil NÃO Casado Solteiro, Divorc. valores de atributos Rendim. NÃO > 80K <= 80K NÃO NÃO SIM 10 Dados de Treinamento Modelo: Árvore de Decisão classe Mineração de Dados com a Ferramenta Weka Attrib1 1 Yes Large 125K No 2 No Medium Attrib2 100K Attrib3 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 S Solteiro 125K NÃO 2 N Casado 100K NÃO 3 N Solteiro 70K NÃO 4 S Casado 120K NÃO Class Mau EstCivil Rendim. Pagador 5 N Divorc. 95K SIM 6 N Casado 60K NÃO 7 S Divorc. 220K NÃO 8 N Solteiro 85K SIM 9 N Casado 75K NÃO 10 N Solteiro 90K SIM Attrib1 No Small 55K Attrib3 ? 12 Yes Medium 80K ? 13 Yes Large 110K ? 14 No Small 95K ? 15 No Large 67K ? N S Rendim. NÃO <= 80K > 80K NÃO SIM Pode haver mais de uma árvore para o mesmo conjunto de dados!!! 32 Dados para Teste Comece pela raiz da árvore Induction CasaPr. S Learn Model NÃO Apply Model Class Rendim. Mau pagador Casado Casado 80K ? EstCivil Rendim. <= 80K Deduction Estado Civil N 10 Solteiro, Divorc. Decision Tree Casa Própria N Model 11 CasaPr. NÃO Aplicando o Modelo nos Dados de Teste Training Set Tid Solteiro, Divorc. EstCivil Casado Mineração de Dados com a Ferramenta Weka 31 Tree Induction algorithm 10 Attrib2 Casa própria 1 10 Testando o Modelo Tid Id NÃO Casado Atribua o valor NÃO à classe NÃO > 80K SIM 10 Test Set Mineração de Dados com a Ferramenta Weka Mineração de Dados com a Ferramenta Weka 33 Como criar uma Árvore de Decisão? Algoritmo ID3 Algoritmo de Hunt (um dos mais antigos) CART ID3, C4.5 SLIQ, SPRINT Seleção dos nodos Algoritmos de Indução: 34 Teoria da Informação de Shannon Conceitos de entropia e ganho de informação Entropia Quantidade necessária de informação para identificar a classe de um caso (incerteza / confusão) Entropia (S) – (p1 log p21 p 2 log p22 ... pn log p2n ) Mineração de Dados com a Ferramenta Weka onde: S é o conjunto de amostras (registros) n é o número de valores possíveis da classe pi é a proporção de amostras da classe i em relação ao total de amostras 35 Mineração de Dados com a Ferramenta Weka 36 6 Entropia Entropia: Exemplos Considerando apenas 2 valores possíveis da classe, a entropia é dada pela fórmula: Entropia (S) (p, n) – ( p log pn p pn 2 n log pn n pn 2 P= (p; n) ) Onde: p é a quantidade de amostras positivas n é a quantidade de amostras negativas Exemplo: Se S é uma coleção de 14 exemplos com 9 instâncias positivas (classe=sim) e 5 negativas (classe=não), então, Entropia (S)=: = – (9/14) Log 2 (9/14) – (5/14) Log 2 (5/14) = (–0,64* –0,6439) (–0,36 *–1,4739) = 0,41 + 0,53 = 0,940Mineração de Dados com a Ferramenta Weka v pi ni Entropia (pi n i ) pn Onde: p é a quantidade de amostras positivas do conjunto n é a quantidade de amostras negativas do conjunto pi é a quantidade de amostras positivas do subconjunto ni é a quantidade de amostras negativas do subconjunto Umidade Sol Quente Sol Quente Encoberto P = (1,0 ; 0,0) entropia(P) = 0,0 Mineração de Dados com a Ferramenta Weka 38 Cria o modelo de classificação e utilize-o nos dados de teste Selecione o classificador ID3 e execute com os parâmetros default Compreenda a saída fornecida 39 Exemplo de Treinamento Temperatura Mineração de Dados com a Ferramenta Weka Aparência P = (0,67 ; 0,33) entropia(P) = 0,92 Onde: Ganho (S, A) é o ganho do atributo A sobre o conjunto S E (A) é o ganho esperado do atributo A do subconjunto i 1 Exemplo Redução esperada da entropia ao utilizarmos um atributo na árvore Ganho (S, A) Entropia (S) - E (A) E (A) P = (0,5 ; 0,5) 37 Ganho de Informação entropia(P) = 1 Métricas de Avaliação Particionamento e Métodos de Visualize a árvore gerada Mineração de Dados com a Ferramenta Weka 40 AD: Modelo Construído Vento Jogo Alta Falso Não Alta Verdadeiro Não Quente Alta Falso Sim Chuvoso Agradavel Alta Falso Sim Chuvoso Frio Normal Falso Sim Chuvoso Frio Normal Verdadeiro Não Encoberto Frio Normal Verdadeiro Sim Sol Agradavel Alta Falso Não Sol Frio Normal Falso Sim Chuvoso Agradavel Normal Falso Sim Sol Agradavel Normal Verdadeiro Sim Encoberto Agradavel Alta Verdadeiro Sim Encoberto Quente Normal Falso Sim Chuvoso Agradavel Alta Verdadeiro Não Mineração de Dados com a Ferramenta Weka 41 Mineração de Dados com a Ferramenta Weka 42 7 Treinamento: Formato ARFF AD: Modelo Construído (Weka) Save model Mineração de Dados com a Ferramenta Weka Métricas - Avaliação de Desempenho 44 Precisão e Revocação Recuperação de Informação Foco na capacidade preditiva do modelo Mineração de Dados com a Ferramenta Weka 43 E não no tempo que leva para classificar ou criar um modelo, na escalabilidade ... Elementos Recuperados FN Baseadas na Matriz de Confusão VN VP FP Classe prevista Classe real Sim Não Sim Verdadeiro Positivo (VP) Falso Negativo (FN) Pr ecisão Não Falso Positivo (FP) Verdadeiro Negativo (VN) Re vocação Mineração de Dados com a Ferramenta Weka Relevantes = Tem-câncer Irrelevantes = Não-tem-câncer Pr ecisão VP VP FP Re vocação Nº de elementos relevantes recuperados Nº total de elementos relevantes Mineração de Dados com a Ferramenta Weka 45 Precisão e Revocação – Exemplo Nº de elementos relevantes recuperados Nº total de elementos recuperados VP VP FN 46 Precisão e Revocação Inteligência Artificial Classe prevista Sim Classe real Não Sim 120 VP 30 FN Não 40 FP 310 VN Sim = Tem-câncer Não = Não-tem-câncer Pr ecisão 120 0,75 160 Re vocação Mineração de Dados com a Ferramenta Weka 120 0,8 150 Pr ecisão 47 VP 120 VP 120 0,8 0,75 Re vocação VP FN 150 VP FP 160 Mineração de Dados com a Ferramenta Weka 48 8 Resumo Métricas - Avaliação de Desempenho Medida-F (F-Measure) Taxa de VP : (Sensibilidade, Revocação, Recall) Derivada por van Rijsbergen (1979) ¹ Baseada na medida de eficiência Medida F 2 * Precisão * Revocação Precisão Revocação 0,775 Medida F 2 * 0,75 * 0,8 0,77 0,75 0,8 Medida F 2 * 0,45 * 0,9 0,6 0,45 0,9 Medida F VP 100% VP FN Classe prevista Sim 2 * 0,3 * 0,9 0,45 0,3 0,9 0,6 Precisão: VP 100% VP FP F-measure: 2. precisão.recall precisão recall Classe real Não Sim VP FN Não FP VN 0,675 ¹ VAN RIJSBERGEN, C. J. Information retrieval. 2nd ed. Butterworth-Heinemann, 1979. 224 p. Mineração de Dados com a Ferramenta Weka Holdout % p para treinamento p-1 para teste Cross-Validation Normalmente p>1/2 Típico p = 2/3 Mineração de Dados com a Ferramenta Weka 49 Métodos de Particionamento (Média harmônica entre precisão e recall) 50 Métodos de Particionamento Treinamento 67% Holdout Cross-Validation Teste 33% Mineração de Dados com a Ferramenta Weka Uso dos mesmos dados, repetidas vezes, divididos diferentemente Escolhidos aleatoriamente e exclusivos subconj 1 Conjunto de Exemplos 168 3 subconj 2 subconj 3 subconj 4 Modelo 3 Modelo 2 Modelo 1 Treinamento k-1 Teste fold restante 3-fold Cross-Validation Mineração de Dados com a Ferramenta Weka 52 4-fold Cross-Validation: Exemplo Cross-Validation: Validação Cruzada Mineração de Dados com a Ferramenta Weka 51 53 Modelo 4 treino subconj 1 treino subconj 1 treino subconj 1 treino subconj 2 treino subconj 2 teste subconj 2 treino subconj 2 treino subconj 3 teste subconj 3 treino subconj 3 treino subconj 3 teste subconj 4 treino subconj 4 treino subconj 4 treino subconj 4 Mineração de Dados com a Ferramenta Weka teste subconj 1 54 9 Exemplo de Teste AD: Modelo Construído (Weka) Aparência Temperatura Umidade Vento Jogo Predição Sol Frio Alta Verdadeiro Sim Não Chuvoso Quente Normal Falso Sim Sim Encoberto Frio Alta Verdadeiro Não Sim Sol Quente Normal Verdadeiro Sim Sim Sol Agradavel Alta Falso Não Não Frio Normal Verdadeiro Não Não Chuvoso Frio Alta Falso Não Sim Encoberto Chuvoso Quente Normal Falso Sim Sim Sol Agradavel Normal Verdadeiro Sim Sim Chuvoso Agradavel Alta Verdadeiro Não Não Salvar o modelo de novo? Mineração de Dados com a Ferramenta Weka VP VN FP Classe prevista Classe real Sim Não Sim VP = 4 FN = 1 Não FP = 2 VN = 3 Mineração de Dados com a Ferramenta Weka 56 Métricas de Avaliação Exemplo de Teste: Matriz de Confusão FN Mineração de Dados com a Ferramenta Weka 55 Precisão? Pr ecisão Recall? Re vocação VP 4 0,8 VP FN 5 F-Measure? Re vocação 2 P R 2 0,67 0,8 1,072 0,73 PR 0,67 0,8 1,47 Acurária? Acurária VP VN 7 0,7 VP VN FN FP 10 Mineração de Dados com a Ferramenta Weka 57 Teste: Formato ARFF VP 4 0,67 VP FP 6 58 AD: Exemplo Testado (Weka) Load model Mineração de Dados com a Ferramenta Weka 59 Mineração de Dados com a Ferramenta Weka 60 10 Relembrando o Exemplo Cria o modelo de classificação e utilize-o nos dados de teste Selecione o classificador ID3 e execute com os parâmetros default Compreenda a saída fornecida Métricas de Avaliação Particionamento e Métodos Parte III – Associação: Conceitos, Métodos e Métricas de Avaliação de Visualize a árvore gerada Mineração de Dados com a Ferramenta Weka 61 Mineração de Regras de Associação Motivação Dado um conjunto de transações, encontre regras para a predição da ocorrência de itens baseado na ocorrência de outros itens na transação TID Itens Exemplos de Regras de Associação 1 pão, leite 2 pão, fralda, cerveja, ovos 3 leite, fralda, cerveja, coca 4 pão, leite, fralda, cerveja 5 pão, leite, fralda, coca {fralda} {cerveja}, {leite, pão} {ovos, coca}, {cerveja, pão} {leite}, Implicação significa coocorrência, e não causa!!! Mineração de Dados com a Ferramenta Weka Mineração de Dados com a Ferramenta Weka 63 Definições: Frequent Itemsets Definição: Regra de Associação Itemset (conjunto de itens) Um conjunto de um ou mais items • Exemplo: {leite, pão, fralda} k-itemset TID • Um itemset com k itens Contador de Suporte () Suporte (s) Frequência de ocorrência de um conjunto de itens (itemset) Ex: ({leite, pão}) = 3 Itens 1 pão, leite 2 pão, fralda, cerveja, ovos 3 leite, fralda, cerveja, coca 4 pão, leite, fralda, cerveja 5 pão, leite, fralda, coca Uma expressão da forma X Y, onde X e Y são conjuntos disjuntos de itens Exemplo: {leite, fralda} {cerveja} Métricas de Avaliação das Regras: Um itemset cujo suporte é maior ou igual a um dado limite minsup pão, leite 2 pão, fralda, cerveja, ovos 3 leite, fralda, cerveja, coca 4 pão, leite, fralda, cerveja 5 pão, leite, fralda, coca Exemplo: Mede a frequência com que Y aparece nas transações que contêm X s c 65 Itens 1 Fração das transações que contêm X e Y Confiança (c) TID {leite, fralda} {cerveja } Suporte (s) Fração das transações que contêm um itemset Ex: s({leite, pão, fralda}) = 2/5 Mineração de Dados com a Ferramenta Weka Regras de Associação: (significado: quem compra leite e fralda também compra cerveja na mesma transação) Frequent Itemsets 64 (leite, fralda, cerveja ) |T| 2 0.4 5 (leite, fralda, cerveja ) 2 0.67 (leite, fralda ) 3 Mineração de Dados com a Ferramenta Weka 66 11 Mineração de Regras de Associação Métricas de Avaliação das Regras Suporte de A, B , C D número de transações que ocorrem A, B, C, D Total de Transações Confiança de A, B , C Objetivo da Mineração de Regras de Associação: D Dado um conjunto de transações T, é encontrar todas as regras com suporte ≥ minsup confiança ≥ minconf Abordagem da Força Bruta: liste todas as possíveis regras de associação calcule o suporte e a confiança para cada regra corte as regras que não satisfazem minsup ou minconf número de transações que ocorrem A, B, C, D número de transações que ocorrem A, B, C Computacionalmente proibitivo! Mineração de Dados com a Ferramenta Weka Problema: Número de Regras Geradas {AB} {AC} {AD} {BC} {BD} {CD} {ABC} {ABD} {ACD} {BCD} {ABCD} Regras Possíveis AB; BA AC; CA AD; DA BC; CB BD; DB CD; DC ABC; BAC; CAB; BCA; ACB; ABC ABD; BAD; DAB; BDA; ADB; ABD ADC; DAC; CAD; DCA; ACD; ADC DBC; BDC; CDB; BCD; DCB; DBC ABCD; BACD; CABD; DABC; ABCD; ACBD; ADBC; BCAD; BDAC; CDAB; BCDA; ACDB; ABDC; ABCD; TID Número de regras 2 2 2 2 2 2 6 6 6 R 3 2 d 1 pão, leite 2 pão, fralda, cerveja, ovos 3 leite, fralda, cerveja, coca 4 pão, leite, fralda, cerveja 5 pão, leite, fralda, coca {leite,fralda} {cerveja} (s=0.4, c=0.67) {leite,cerveja} {fralda} (s=0.4, c=1.0) {fralda,cerveja} {leite} (s=0.4, c=0.67) {cerveja} {leite,fralda} (s=0.4, c=0.67) {fralda} {leite,cerveja} (s=0.4, c=0.5) {leite} {fralda,cerveja} (s=0.4, c=0.5) 1. Todas as regras acima são partições binárias do mesmo itemset: {leite, fralda, cerveja} 2. Regras originadas do mesmo itemset têm o mesmo suporte mas podem ter confianças diferentes 1 Mineração de Dados com a Ferramenta Weka Exemplos de Regras: Itens 1 Observações: 6 14 50 d 3. Então, podemos separar o suporte da confiança Mineração de Dados com a Ferramenta Weka 69 Minerando Regras de Associação Reduzindo o Número de Candidatos Abordagem em dois passos: Geração dos Items frequentes (Etapa 1) um itemset é frequente, então todos os seus subconjuntos também são frequentes gerar regras de alta confiança para cada itemset, onde cada regra é um partição binária de um itemset frequente Etapa 2 – não há a varredura da base de dados Mineração de Dados com a Ferramenta Weka Este princípio é devido a seguinte propriedade do suporte: X , Y J : ( X Y ) f ( X ) f (Y ) A geração dos conjuntos de items frequentes ainda é computacionalmente custosa Etapa 1 – varre a base de dados → Mais custosa Princípio do Algoritmo Apriori: gerar todos os itemsets com suporte minsup Geração das Regras (Etapa 2) – 70 Se – 68 Minerando Regras de Associação Considerando 4 itens: A, B, C e D, sem considerar suporte e confiança, podemos ter quantas regras? Conjunto Mineração de Dados com a Ferramenta Weka 67 71 Se X for um subconjunto de Y, então f(X) não deve exceder f(Y) Propriedade anti-monotônica da medida do suporte Mineração de Dados com a Ferramenta Weka 72 12 O Algoritmo Apriori Ilustrando o Princípio do Apriori null A B C D E Método: seja k=1 Obtenha Conjunto de itens não frequentes AB AC AD AE BC BD BE CD CE DE ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE ABCD ABCE Conjuntos Podados ABDE ACDE Repita enquanto novos itemsets frequentes forem obtidos BCDE ABCDE Mineração de Dados com a Ferramenta Weka leite não sim não sim não não não não não não café sim não sim sim não não não não não não cerveja não sim não não sim não não não não não pão sim sim sim sim não não sim não não não manteiga sim sim sim sim não sim não não não não Obtenha itemsets candidatos de tamanho (k+1) a partir de itemsets de tamanho k (não inclua itemsets candidatos contendo subconjuntos de tamanho k infrequentes) Conte o suporte de cada candidato varrendo o BD Elimine candidatos frequentes arroz não não não não não não não não sim sim frequentes, deixando só os 74 Itemsets Frequentes (1-itemsets) Conjunto de itens suporte {leite} 2 {café} 3 {cerveja} 2 {pão} 5 {manteiga} 5 {arroz} 2 {feijão} 2 feijão não não não não não não não sim sim não Mineração de Dados com a Ferramenta Weka não Mineração de Dados com a Ferramenta Weka Dada a tabela abaixo onde cada registro corresponde a uma transação de um cliente, com itens assumindo valores binários (sim/não), indicando se o cliente comprou ou não o respectivo item, descobrir todas as regras associativas com suporte >= 0,3 e grau de certeza (confiança) >= 0,8. TID 1 2 3 4 5 6 7 8 9 10 73 Exemplo: Descoberta Regras de Associação conjuntos frequentes de tamanho 1 C1 1-itemsets Conjunto de itens suporte {café} 3 {pão} 5 {manteiga} 5 L1 Mineração de Dados com a Ferramenta Weka 75 Itemsets Frequentes: 2-itemsets e 3-itemsets 76 Regras Candidatas: 2-itemsets 2-itemsets Conjunto de itens suporte {café, pão} 3 {café, manteiga} 3 {pão, manteiga} 4 Conjunto de itens: {café, manteiga} Se café Então manteiga conf = 1,0 Se manteiga Então café conf = 0,6 C 2 , L2 3-itemsets Conjunto de itens {café, pão, manteiga} suporte 3 Conjunto de itens: {pão, manteiga} Se pão Então manteiga conf = 0,8 Se manteiga Então pão conf = 0,8 C 3 , L3 Mineração de Dados com a Ferramenta Weka Regras candidatas com dois itens com o seu valor de certeza: Conjunto de itens: {café, pão} Se café Então pão conf = 1,0 Se pão Então café conf = 0,6 77 Mineração de Dados com a Ferramenta Weka 78 13 Regras Candidatas: 3-itemsets Padrões Descobertos Regras candidatas com três itens com o seu valor de certeza: Conjunto de itens: {café, manteiga, pão} Se café, manteiga Então pão conf = 1,0 Se café, pão Então manteiga conf = 1,0 Se manteiga, pão Então café conf = 0,75 Se café Então manteiga, pão conf = 1,0 Se manteiga Então café, pão conf = 0,6 Se pão Então café, manteiga conf = 0,6 Mineração de Dados com a Ferramenta Weka Se café Então pão conf = 1,0 Se café Então manteiga conf = 1,0 Se café, manteiga Então pão conf = 1,0 Se café, pão Então manteiga conf = 1,0 Se café Então manteiga, pão conf = 1,0 Se pão Então manteiga conf = 0,8 Se manteiga Então pão conf = 0,8 Total de Regras e Total de Itemsets? R 3d 2d 1 1 37 271 1 2187 256 1 1932 Itemsets 2d 1 27 1 2186 79 Teste: Formato ARFF Mineração de Dados com a Ferramenta Weka Padrões descobertos, minSup = 0,3 e minConf = 0,8: Mineração de Dados com a Ferramenta Weka 80 Apriori no Weka 81 Mineração de Dados com a Ferramenta Weka 82 Aprendizado Indutivo Parte IV – Agrupamento: Conceitos, Métodos e Métricas de Avaliação Mineração de Dados com a Ferramenta Weka 84 14 Classificação x Agrupamento Classificação x Agrupamento Classificação Aprendizado Supervisionado Mineração de Dados com a Ferramenta Weka Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles Inerentemente é um problema bem definido? Como agrupar os seguintes animais? Mamífero Sem bico Água Terra Mineração de Dados com a Ferramenta Weka 87 Medidas de Similaridade Ave bico Com Colocar os objetos iguais (ou quase iguais) juntos num mesmo grupo e os desiguais em grupos distintos 86 O que é formação de agrupamentos? A partir de um conjunto de dados (de objetos), tentar agrupá-los de forma que os elementos que compõem cada grupo sejam mais parecidos entre si do que parecidos com os elementos dos outros grupos Mineração de Dados com a Ferramenta Weka Aprendizado Não Supervisionado Aprendizado por Observação 85 Clustering/Agrupamento: Conceito Aprendizado por Exemplo Agrupamento/Clusterização Mineração de Dados com a Ferramenta Weka Amostras de treinamento são classificadas Número de Classes é conhecido 88 Medidas de Similaridade Medidas de similaridade fornecem valores numéricos que expressam a “distância” entre dois objetos Variáveis numéricas: Quanto menor o valor desta “distância”, mais semelhantes serão os objetos, e tenderão a ficar no mesmo cluster Distancia Euclidiana é a medida que é normalmente usada para computar as dissimilaridades de objetos descritos por variáveis numéricas Normalização: Faz com que todas as variáveis tenham um peso igual Deve ser efetuada para todos os atributos Quanto maior a “distância”, menos similares serão os objetos e, em consequência, eles deverão estar em grupos distintos Mineração de Dados com a Ferramenta Weka 89 Mineração de Dados com a Ferramenta Weka 90 15 Distância Euclidiana Taxonomia de Agrupamento n d 2 ( X i , X j ) ( ( X ik X jk ) 2 ) k 1 2,5 2 B Sejam os objetos A(1, 1) e B(3, 2):1,5 d 2 ( A, B) (3 1) 2 (2 1) 2 2,23 1 A 0,5 0 0 2 4 Mineração de Dados com a Ferramenta Weka k-Means ou k-Médias - MacQueen, 1967 Mineração de Dados com a Ferramenta Weka 91 92 Algoritmo k-Means Abordagem por particionamento Cada cluster está associado a um centróide (ponto central) Cada ponto é associado ao cluster cujo centróide está mais próximo Número de clusters, K, precisa ser especificado O algoritmo básico é bem simples Sim Não Mineração de Dados com a Ferramenta Weka 94 Iteração 0 Exemplo k-Means Classe da Planta Mineração de Dados com a Ferramenta Weka 93 Ponto Atributo 1 (X): largura Atributo 2 (Y): tamanho A 0.4 1.4 B 0.7 1.4 C 1.8 5.3 D 2.4 5.0 Iteração 0 6 C D 5 Tamanho (y) Iris Setosa Iris Virginica 4 3 2 A B 1 K = 2, sendo os pontos A e B os centróides iniciais Usar a Distância Euclidiana Mineração de Dados com a Ferramenta Weka 0 0 0,5 1 1,5 2 2,5 3 Largura (X) 95 Mineração de Dados com a Ferramenta Weka 96 16 Iteração 1 Iteração 2 Iteração 2 6 5 5 4 4 Tamanho (y) Tamanho (y) Iteração 1 6 3 2 1 3 2 1 0 0 0 0,5 1 1,5 2 2,5 3 0 Largura (X) 0,5 1 1,5 2 2,5 3 Largura (X) Mineração de Dados com a Ferramenta Weka 97 Mineração de Dados com a Ferramenta Weka 98 Agrupamento Classe da Planta Atributo 1 (X): largura Atributo 2 (Y): tamanho Grupo 0.4 1.4 1 0.7 1.4 1 1.8 5.3 2 2.4 5.0 2 Iris Setosa Iris Iris Virginica Mineração de Dados com a Ferramenta Weka 99 Mineração de Dados com a Ferramenta Weka 100 Dados Iris k-Means Mineração de Dados com a Ferramenta Weka 101 Mineração de Dados com a Ferramenta Weka 102 17 Cluster = 2 Mineração de Dados com a Ferramenta Weka 103 Mineração de Dados com a Ferramenta Weka 104 Cluster = 3 Mineração de Dados com a Ferramenta Weka Mineração de Dados com a Ferramenta Weka 105 107 Mineração de Dados com a Ferramenta Weka Mineração de Dados com a Ferramenta Weka 106 108 18 Mineração Base de Dados MySQL Parte V – Mineração de Dados em um SGBD Mineração de Dados com a Ferramenta Weka Base de Dados: Tabela 110 Conexão com BD Weka Não é tão óbvio assim!!! Mineração de Dados com a Ferramenta Weka Mineração de Dados com a Ferramenta Weka 111 Arquivos Necessários (1/3) 112 Arquivos Necessários (2/3) Extrair o arquivo DatabaseUtils.props.mysql localizado em “weka\experiment\” API do Weka Renomear este arquivo para DatabaseUtils.props Driver JDBC do MySQL Editar o DRIVER e o BD Mineração de Dados com a Ferramenta Weka 113 Mineração de Dados com a Ferramenta Weka 114 19 Arquivos Necessários (3/3) Conexão com BD Weka Criar arquivo .bat para executar o Weka Arquivo RunWeka.bat java -cp mysql-connector-java-5.1.30-bin.jar;weka.jar weka.gui.GUIChooser Agora sim!!! Mineração de Dados com a Ferramenta Weka Mineração de Dados com a Ferramenta Weka 115 Material do Minicurso Bibliografia Básica Material Minicurso MD – Week-IT 2014 117 Bibliografia Complementar HAN, J.; KAMBER, M. Data Mining: Concepts and Techniques. 2nd ed. San Francisco, CA: Morgan Kaufmann, 2006. 743 p. TAN, P-N.; STEINBACH, M.; KUMAR, V. Introdução ao Data Mining. Rio de Janeiro: Ciência Moderna, 2009. 900 p. WITTEN, I. H.; FRANK, E. Data Mining: Practical Machine Learning Tools and Techniques. 2nd ed. San Francisco, CA: Morgan Kaufmann, 2005. 525 p. http://goo.gl/5ezkqT Mineração de Dados com a Ferramenta Weka WIKISPACES. Use WEKA in your Java code. 2014. Disponível em: <http://weka.wikispaces.com/Use+WEKA+in+your+Java +code>. Acesso em: 27 maio 2014. WEKA. Data mining with open source machine learning software in Java. Disponível em: <http://www.cs.waikato.ac.nz/ml/weka/>. Acesso em: 27 maio 2014. DEVMEDIA. Revista SQL Magazine. Mineração de Dados com a Ferramenta Weka 118 II Semana de Tecnologia da Informação IFBA Campus Vitória da Conquista SANTOS, R. Weka na munheca. 2005. Disponível em: <http://www.dcc.ufrj.br/~valeriab/DTM-weka-namunheca.pdf>. Acesso em: 27 maio 2014. 116 27 a 30 de maio de 2014 Mineração de Dados com a Ferramenta Weka Prof. MSc Pablo Freire Matos Mineração de Dados com a Ferramenta Weka Informática - Instituto Federal da Bahia (IFBA) [email protected] 119 20