31
Data Mining: Ferramenta JAVA

Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java Coleção de algoritmos para

Embed Size (px)

Citation preview

Page 1: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

Data Mining: Ferramenta JAVA

Page 2: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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.

Page 3: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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.

Page 4: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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”

Page 5: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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/

Page 6: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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

...

Page 7: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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.

Page 8: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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) ===

Page 9: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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

Page 10: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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)

Page 11: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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

...

Page 12: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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.

Page 13: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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

Page 14: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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

Page 15: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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

Page 16: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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

Page 17: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

Uma aplicação do WEKA

• Análise de um procedimento de data-mining:1. Descrição do problema alvo;

2. Objetivos da tarefa, caracterização;

3. Indicativos do pré-processamento;

4. Criação de base de teste;

5. Aplicação do algoritmo selecionado na base;

6. Avaliação dos resultados.

Page 18: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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/

Page 19: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

Uso do WEKA

(No tutorial introdutório de Alex K. Seewald)

Appendix A: How to call WEKA from Java

Page 20: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

Uso do WEKA

Ou ainda:

Weka API: http://weka.sourceforge.net/doc/

Page 21: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

WEKA: conclusão

BOM USO …

Page 22: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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.

Page 23: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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.

Page 24: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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.

Page 25: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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/thinking_machines

Intelligent Miner Classificação, regras de associação, sequências, clusterização, sumarização

www.ibm.com

Page 26: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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

Page 27: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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.

Page 28: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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.

Page 29: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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.

Page 30: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

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.

Page 31: Data Mining: Ferramenta JAVA. JAVA para Data Mining Weka 3: Data Mining Software em Java  Coleção de algoritmos para

Metodologia para Data Mining

Exemplos de aplicação:• Telefonia;• Franquia de fast-food;• Ação social;• Educação;• Área médica;• Área financeira.