Este documento fornece instruções passo a passo para instalar e configurar o ambiente de desenvolvimento necessário para utilizar a ferramenta WEKA de mineração de dados. Ele descreve como baixar e instalar o Java SDK, WEKA e Eclipse, e configurar as variáveis de ambiente. Também apresenta exemplos de uso de alguns algoritmos do WEKA, como árvore de decisão, K-Means e Apriori.
1. Mineração de dados com o
WEKA 3.7.6
Márcio Palheta
Ludimila Gonçalves
Workshop de Mineração de Dados
Julho de 2012
1
2. Agenda
• Ambiente de desenvolvimento
• WEKA na linha de comando
• Árvore de decisão – J4.8
• Classificação de dados – K-Means
• Regras de associação – Apriori
• Discretização de dados
• WEKA na IDE Eclipse JUNO
2
3. Ambiente de desenvolvimento
• Sistema Operacional: Linux - Ubuntu
• JAVA SDK 1.7:
– http://www.oracle.com/technetwork/java/javase/
downloads/index.html
• WEKA 3.7.6:
– http://www.cs.waikato.ac.nz/ml/weka/index_dow
nloading.html
• Eclipse JUNO: http://eclipse.org/downloads/
3
5. Instalação do JDK 7
• Por questões de licença, o JDK 7 não faz parte
do repositório oficial do Ubuntu 11.10
• Baixe e descompacte a versão do JDK, de
acordo com a versão do seu S.O.
• Para este treinamento, vamos criar uma pasta
padrão para armazenar nossos software:
– /usr/lib/java
• Vamos mover a pasta descompactada
5
6. Instalação do JDK 7
• Para este exemplo, baixamos o arquivo:
– Jdk-7u5-linux-x64.tar.gz
• Executamos o seguinte script:
6
7. Definindo a versão correta do JAVA
• Versão do JAVA no terminal:
– $ java -version
• Temos problemas, caso apareça algo como:
– "java version 1.6" ou "Command not found"
• O Ubuntu trabalha com links para aplicações
• Os links genéricos podem ficar no diretório:
– /usr/bin
7
8. Definição de links no Ubuntu
• Verifique se já existe um link java criado:
– $ cd /usr/bin
– $ ls -lath java
• Resultado da execução:
– lrwxrwxrwx 1 root root 25 2012-07-11 10:18 java -
> /XXX/YYY/bin/java
– sendo XXX e YYY o local onde a versão incorreta
do Java está instalada
8
9. Definição de links no Ubuntu
• Vamos apagar o link errado:
– $ sudo rm java
• E criar o link para a versão correta:
– $ sudo ln -s /usr/lib/java/jdk1.7.0_05/bin/java
java
• Depois disso, vamos testar novamente a
versão do java:
– $ cd
– $ java -version
9
11. Instalação do Eclipse
• Baixamos os arquivo: eclipse-...-x86_64.tar.gz
• Descompacte, mova para a pasta padrão e
• Crie um link e teste o eclipse:
11
17. Teste das variáveis de ambiente
• Encerre a sessão atual e realize novo login
• Teste as variáveis de ambiente com echo:
17
18. Agenda
• Ambiente de desenvolvimento
• WEKA na linha de comando
• Árvore de decisão – J4.8
• Classificação de dados – K-Means
• Regras de associação – Apriori
• Discretização de dados
• WEKA na IDE Eclipse JUNO
18
19. Problemas de Classificação
• Um classificador ou modelo de classificação
verifica a que classe pertence uma
determinada instância da base de dados
• Estuda a relação entre os valores dos atributos
da instância para determinar a classe;
• Tipos de atributo:
– Classe: indica a classe de uma instância;
– Preditivos: estudados para a descoberta da
relação com o atributo classe
19
21. Árvore de decisão
• Indica se uma pessoa é rica ou não, com base
em seus atributos preditivos:
• Nó interno:
– Teste do atributo
• Nó folha:
– Classe encontrada
21
24. Arquivos .arff
• Arquivos de texto usados como base pelo WEKA
• @relation: primeira linha que indica relação ou
tarefa de estudo
• @attribute: nome e tipo de cada atributo
– Nominal: lista de itens separados por “,”.Ex {true,false}
– Numérico: nome seguido da palavra-chave real;
– O último representa a classe - classificação
• @data: cada linha representa uma instância, com
valores separados por “,”, na ordem dos atributos
24
25. Arquivos .arff comuns
• O weka disponibiliza alguns arquivos com
dados para teste da aplicação
• Os arquivos ficam na pasta .../weka/data/
• Neste curso, a pasta data está em:
– /usr/lib/java/weka-3-7-6/data
• O arquivo .../data/weather.arff
– Previsão de jogar ou não jogar golfe
– Usa informações meteorológicas básicas
25
31. Agenda
• Ambiente de desenvolvimento
• WEKA na linha de comando
• Árvore de decisão – J4.8
• Classificação de dados – K-Means
• Regras de associação – Apriori
• Discretização de dados
• WEKA na IDE Eclipse JUNO
31
32. Classificação usando K-Means
• K-Means é um algoritmo usado para
classificação, baseado na descoberta de
grupos de instâncias com características
semelhantes;
• K - representa o número de classes que o
algoritmo deve encontrar;
• Um objeto pode ser visto como um vetor de
suas N características, em um espaço
N-dimensional
32
33. Passos do algoritmo
• Definição do número de classes: K
• Comparação da distância entre cada instância;
• Uso da distância euclidiana;
• Depois de calcular a distância entre objetos,
são calculados os centroides de cada classe;
• A cada iteração, o valor do centroide é
refinado, até que ocorra a convergência;
33
36. K-means na prática
• O arquivo .../data/iris.arff
– Classificação em {setosa, versicolor, virginica}
– Usa informações como o tamanho das pétalas
36
40. Agenda
• Ambiente de desenvolvimento
• WEKA na linha de comando
• Árvore de decisão – J4.8
• Classificação de dados – K-Means
• Regras de associação – Apriori
• Discretização de dados
• WEKA na IDE Eclipse JUNO
40
42. Regras de associação – compras.arff
• Vamos criar o arquivo
compras.arff
• Indica se um produto
foi comprado:
– sim ou não
• O arquivo possui
valores discretos ou
nominais;
42
43. Buscando regras de associação
• Apriori – algoritmo que encontra conjuntos de
itens frequentes, chamados itemsets;
• Dada uma regra de associação onde A Þ B
– Suporte: representa a porcentagem de transações
da base de dados que contêm os itens de A e B,
indicando a relevância da regra;
– Confiança: representa, dentre as transações que
possuem os itens de A, a porcentagem de
transações que possuem também os itens de B,
indicando a validade da regra
43
44. Execução do algoritmo
• Execução do algoritmo Apriori, na linha de
comando:
• $ java weka.associations.Apriori
-t compras.arff
> resp-apriori.txt
44
47. Exercício Apriori
• Execute novamente o algoritmo, realizando as
seguintes alterações:
• Altere o valor do suporte mínimo:
– Argumento – M
• Altere o número de regras listadas:
– Argumento – N
• Liste os itemsets gerados:
– Argumento – I
47
48. Agenda
• Ambiente de desenvolvimento
• WEKA na linha de comando
• Árvore de decisão – J4.8
• Classificação de dados – K-Means
• Regras de associação – Apriori
• Discretização de dados
• WEKA na IDE Eclipse JUNO
48
49. Discretizando dados contínuos
• Às vezes, não poderemos executar o algoritmo
Apriori diretamente em um conjunto de dados
• Dados numéricos dados discretos ou
nominais
• O Weka possui ferramenta para discretização
• Rotina para trocar a categoria numérica por
uma nominal, correspondente ao intervalo:
– weka.filters.unsupervised.attribute.Discretize.
49
50. Discretizando dados contínuos
• Vamos discretizar o arquivo de dados das iris.arff,
que tem quatro atributos numéricos.
• cada atributo terá cinco valores nominais ou
discretos possíveis.
– $ java weka.filters.unsupervised.attribute.Discretize
–R 1,2,3,4 -R : índices dos atributos que serão discretizados
-B : indica quanto valores discretos teremos
–B 5 -i: Arquivo de origem
–i iris.arff -o: Arquivo discretizado a ser gerado
–o iris-discretizado.arff
50
55. Agenda
• Ambiente de desenvolvimento
• WEKA na linha de comando
• Árvore de decisão – J4.8
• Classificação de dados – K-Means
• Regras de associação – Apriori
• Discretização de dados
• WEKA na IDE Eclipse JUNO
55
60. Cópia dos arquivos .arff e weka.jar
• Depois da cópia, inclua a
API do weka no path:
• Botão direito em weka.jar
• Selecione as opções:
– Build path
– Add to build path
• Vamos criar classes para
Leitura e Escrita em ARFF
60
64. Bibliografia
• Data Mining - practical machine learning tools
and techniques, Ian H. Witten, Eibe
Frank, Mark A. Hall
• Data Mining - practical machine learning tools
and techniques with JAVA implementations,
Ian H. Witten, Eibe Frank
64
65. Apostilas
• WEKA na Munheca:
– http://www.ambientelivre.com.br/downloads/doc_de
tails/81-weka-na-munheca.html
• An Introduction to the WEKA Data Mining
System: http://www.cs.ccsu.edu/~markov/weka-
tutorial.pdf
• DEVMEDIA:http://www.devmedia.com.br/extrac
ao-de-arvores-de-decisao-com-a-ferramenta-de-
data-mining-weka/3388
65
66. Mineração de dados com o
WEKA 3.7.6
Márcio Palheta
Workshop de Mineração de Dados
Julho de 2012
66