Data Mining: Ferramenta JAVA JAVA para Data Mining • Weka 3: Data Mining Software em Java • http://www.cs.waikato.ac.nz/ml/weka/ • Coleção de algoritmos para as tarefas de data mining; • Free software. WEKA: JAVA para Data Mining – Os algoritmos podem ser aplicados diretamente a um dataset ou chamados de um programa em Java; – O Weka contém ferramentas para o préprocessamento de dados, regras de associação, classificação, regressão, agrupamento, e visualização; – Pode ainda ser utilizado para desenvolver novos esquemas de aprendizagem de máquina. WEKA: JAVA para Data Mining • • • • • Arquivo “.jar”; Uso em linha de comando; Uso em ambiente de exploração; Uso em ambiente de experimentação; Entrada de dados: arquivo no formato “.arff” WEKA: JAVA para Data Mining Arquivo .arff: • Nome do dataset; • Descrição dos atributos e de seus domínios; • Apresentação das instâncias. Bases de dados clássicas (UCI): • http://archive.ics.uci.edu/ml/ WEKA: JAVA para Data Mining @relation paoeleite @attribute leite {yes, no} @attribute cafe {yes, no} ... @data no, yes, no, yes, yes, no, no yes, no, yes, yes, yes, no, no no, yes, no, yes, yes, no, no yes, yes, no, yes, yes, no, no no, no, no, no, yes, no, no ... WEKA: JAVA para Data Mining • • • • • • • • Carga do arquivo; Análise dos atributos e seus valores; Indicação de pré-processamento; Escolha da tarefa de data mining; Escolha do algoritmo a aplicar; Acerto dos parâmetros; Execução; Análise dos resultados de saída. WEKA: JAVA para Data Mining • === Run information === • Scheme: weka.associations.Apriori -N 10 -T 0 -C 0.9 -D 0.05 -U 1.0 -M 0.1 -S -1.0 • Relation: paoeleite • Instances: 9 • Attributes: 7 • leite • cafe • cerveja • pao • manteiga • arroz • feijao • === Associator model (full training set) === WEKA: JAVA para Data Mining • Apriori • ======= • Minimum support: 0.6 • Minimum metric <confidence>: 0.9 • Number of cycles performed: 8 • • • • Generated sets Size of set of Size of set of Size of set of of large itemsets: large itemsets L(1): 7 large itemsets L(2): 12 large itemsets L(3): 6 WEKA: JAVA para Data Mining • Best rules found: • 1. • 2. • 3. • 4. • 5. • 6. • 7. • 8. • 9. • 10. leite=no 7 ==> cerveja=no 7 manteiga=yes 5 ==> arroz=no feijao=no 5 manteiga=yes arroz=no 5 ==> feijao=no 5 manteiga=yes feijao=no 5 ==> arroz=no 5 pao=yes 5 ==> arroz=no feijao=no 5 pao=yes arroz=no 5 ==> feijao=no 5 pao=yes feijao=no 5 ==> arroz=no 5 leite=no feijao=no 5 ==> cerveja=no 5 leite=no arroz=no 5 ==> cerveja=no 5 leite=no cafe=no 5 ==> cerveja=no 5 conf:(1) conf:(1) conf:(1) conf:(1) conf:(1) conf:(1) conf:(1) conf:(1) conf:(1) conf:(1) WEKA: JAVA para Data Mining Exemplo de classificação (arquivo weather): @relation weather @attribute @attribute @attribute @attribute @attribute outlook {sunny, overcast, rainy} temperature real humidity real windy {TRUE, FALSE} play {yes, no} @data sunny,85,85,FALSE,no sunny,80,90,TRUE,no overcast,83,86,FALSE,yes rainy,70,96,FALSE,yes ... WEKA: JAVA para Data Mining • • • • • • • • Carga do arquivo; Análise dos atributos e seus valores; Indicação de pré-processamento; Escolha da tarefa de data mining; Escolha do algoritmo a aplicar; Acerto dos parâmetros; Execução; Análise dos resultados de saída. WEKA: JAVA para Data Mining • === Run information === • • • • • • • • • • Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: weather Instances: 14 Attributes: 5 outlook temperature humidity windy play Test mode: split 66% train, remainder test WEKA: JAVA para Data Mining === Classifier model (full training set) === J48 pruned tree -----------------outlook = sunny | humidity <= 75: yes (2.0) | humidity > 75: no (3.0) outlook = overcast: yes (4.0) outlook = rainy | windy = TRUE: no (2.0) | windy = FALSE: yes (3.0) Number of Leaves : 5 Size of the tree : 8 Time taken to build model: 0.07 seconds WEKA: JAVA para Data Mining === Evaluation on test split === === Summary === Correctly Classified Instances Incorrectly Classified Instances Kappa statistic Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances 2 3 40 % 60 % -0.3636 0.6 0.7746 126.9231 % 157.6801 % 5 WEKA: JAVA para Data Mining === Detailed Accuracy By Class === TP Rate 0.667 0 FP Rate 1 0.333 Precision 0.5 0 === Confusion Matrix === a b <-- classified as 2 1 | a = yes 2 0 | b = no Recall F-Measure 0.667 0.571 0 0 Class yes no Uma aplicação do WEKA • Análise de um procedimento de datamining: 1. 2. 3. 4. 5. Descrição do problema alvo; Objetivos da tarefa, caracterização; Indicativos do pré-processamento; Criação de base de teste; Aplicação do algoritmo selecionado na base; 6. Avaliação dos resultados. Uso do WEKA Dowloads, tutoriais, documentação, faq’s, how to’s: • A partir de http://www.cs.waikato.ac.nz/ml/weka/ Exemplo: tutorial introdutório de Alex K. Seewald: • http://alex.seewald.at/WEKA/ Uso do WEKA (No tutorial introdutório de Alex K. Seewald) Appendix A: How to call WEKA from Java … Uso do WEKA Ou ainda: Weka API: http://weka.sourceforge.net/doc/ … WEKA: conclusão BOM USO … Ferramentas de Data Mining Modelo Comparativo: 1) Características relacionadas ao problema: • Acesso a fontes heterogêneas de dados; • Integração de conjuntos de dados. Ferramentas de Data Mining Modelo Comparativo: 2) Características relacionadas aos recursos: • • • • • Facilidade para inclusão de novas operações; Facilidade para inclusão de novos métodos; Recursos para o planejamento de ações; Processamento paralelo e distribuído; Operações e métodos disponíveis. Ferramentas de Data Mining Modelo Comparativo: 3) Características relacionadas aos resultados: • • Estruturas para o armazenamento de modelos de conhecimento; Estruturas para o armazenameno de históricos de ações. Ferramentas de Data Mining Nome Tarefas de KDD Fabricante SPSS Clementine Classificação, regras de associação, sequências, deteção de desvios www.spss.com PolyAnalyst Classificação, regressão, regras de associação, clusterização, sumarização, deteção de desvios www.megaputer.com Weka Classificação, regressão, regras de associação, clusterização, www.cs.waikato.ac.nz Darwin Classificação en.wikipedia.org/wiki/thin king_machines Intelligent Miner Classificação, regras de associação, sequências, clusterização, sumarização www.ibm.com Ferramentas de Data Mining Nome Tarefas de KDD Fabricante WizRule Sumarização, classificação, deteção de desvios www.wizsoft.com Bramining Classificação, regras de associação, regressão, sumarização www.graal-corp.com.br SAS Interprise Miner Classificação, regras de associação, regressão, sumarização www.sas.com Oracle Data Miner Classificação, regressão, associação, clusterização e mineração de textos www.oracle.com Metodologia para Data Mining Visão Geral: 1) O que fazer ? • Levantamento inicial; • Definição dos objetivos. 2) Como fazer ? • Planejamento de atividades; • Execução dos planos de ação; • Avaliação dos resultados. Metodologia para Data Mining Levantamento inicial: • Identificação de pessoas e áreas envolvidas; • Levantamento de hardware e software; • Inventário das bases de dados disponíveis; • Verificar a existência de datawarehouses; • Analisar significado e relevância de atributos; • Esboçar lista de necessidades e expectativas dos usuários; • Avaliar a quantidade de dados disponíveis; • Identificar e documentar o conhecimento previamente existente e disponível. Metodologia para Data Mining Definição dos objetivos: • Exige forte interação entre o analista de KDD e os especialistas no domínio; • Deve-se identificar as expectativas identificadas e validá-las com os especialistas; • Em seguida deve-se analisar a tarefa de mineração de dados. Planejamento das Atividades: • Identificar os métodos disponíveis; • Escolha entre os métodos; • Analisar o pré-processamento necessário. Metodologia para Data Mining Execução dos planos de ação: • Execução dos método definido na etapa anterior; • Estudos de parâmetros e experimentação; Avaliação dos resultados: • Avaliação da correção e demais medidas de performance; • Analise dos resultados frente aos objetivos definidos e seu atendimento. Metodologia para Data Mining Exemplos de aplicação: • Telefonia; • Franquia de fast-food; • Ação social; • Educação; • Área médica; • Área financeira.