Data Mining

Propaganda
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.
Download