310 likes | 417 Views
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.
E N D
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 of large itemsets: • Size of set of large itemsets L(1): 7 • Size of set of large itemsets L(2): 12 • Size of set of large itemsets L(3): 6
WEKA: JAVA para Data Mining • Best rules found: • 1. leite=no 7 ==> cerveja=no 7 conf:(1) • 2. manteiga=yes 5 ==> arroz=no feijao=no 5 conf:(1) • 3. manteiga=yes arroz=no 5 ==> feijao=no 5 conf:(1) • 4. manteiga=yes feijao=no 5 ==> arroz=no 5 conf:(1) • 5. pao=yes 5 ==> arroz=no feijao=no 5 conf:(1) • 6. pao=yes arroz=no 5 ==> feijao=no 5 conf:(1) • 7. pao=yes feijao=no 5 ==> arroz=no 5 conf:(1) • 8. leite=no feijao=no 5 ==> cerveja=no 5 conf:(1) • 9. leite=no arroz=no 5 ==> cerveja=no 5 conf:(1) • 10. leite=no cafe=no 5 ==> cerveja=no 5 conf:(1)
WEKA: JAVA para Data Mining Exemplo de classificação (arquivo weather): @relation weather @attribute outlook {sunny, overcast, rainy} @attribute temperature real @attribute humidity real @attribute windy {TRUE, FALSE} @attribute 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 2 40 % Incorrectly Classified Instances 3 60 % Kappa statistic -0.3636 Mean absolute error 0.6 Root mean squared error 0.7746 Relative absolute error 126.9231 % Root relative squared error 157.6801 % Total Number of Instances 5
WEKA: JAVA para Data Mining === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure Class 0.667 1 0.5 0.667 0.571 yes 0 0.333 0 0 0 no === Confusion Matrix === a b <-- classified as 2 1 | a = yes 2 0 | b = no
Uma aplicação do WEKA • Análise de um procedimento de data-mining: • 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; • 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: • 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.
Metodologia para Data Mining • Visão Geral: • 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.