Weka  Coleção de algoritmos de aprendizado de máquina implementado em Java • Tanto é API como aplicativo!!!  Open source software  Framework para o desenvolvimento de.

Download Report

Transcript Weka  Coleção de algoritmos de aprendizado de máquina implementado em Java • Tanto é API como aplicativo!!!  Open source software  Framework para o desenvolvimento de.

Weka

Coleção de algoritmos de aprendizado de máquina
implementado em Java
• Tanto é API como aplicativo!!!

Open source software

Framework para o desenvolvimento de algoritmos

Tutorial e a Biblioteca encontrados em:
http://www.cs.waikato.ac.nz/ml/weka/
Métodos de aprendizado suportados

Aprendizagem Supervisionada
•
•
•
•
•
•
•
•
•
•
decision tree inducers
rule learners
naive Bayes
decision tables
locally weighted regression
support vector machines
instance-based learners
logistic regression
voted perceptrons
neural networks
E ainda ...

Aprendizagem Não Supervisionada
• Cobweb
• EM

Meta Aprendizagem
• bagging
• boosting
• stacking

Filtros
• Transformação dos Dados
• Seleção de Atributos
• Entre outros ...
Mais ainda ...
Ferramentas de Visualização dos Dados
 Algoritmos de Associação
 Experimenter

Preparando os dados

O weka lê os dados no formato .arff
• Uma lista de todas as instâncias, onde o valor dos atributos
são separados por vírgula mais um cabeçalho

Ex(weather.arff):
@relation weather
%Nome do arquivo
@attribute outlook {sunny, overcast, rainy}
@attribute temperature real %Atributo e tipo
@attribute humidity real
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}
@data
%Início dos dados
sunny,85,85,FALSE,no
overcast,83,86,FALSE,yes
Instalando o software
1. Crie um diretório chamada ´Weka´ na raiz da sua
área
• h:\weka
2.Copiando os arquivos:
•
•
•
•
http://www.cin.ufpe.br/~igcf/weka
weka.jar
weather.arff
soybean.arff
3.Certifique-se de que os dados foram salvos no
formato correto.
Executando o software

Inicialize o ambiente jdk1.2.2
• menu:

programs\Linguagens\Java\JDK1.2.2
Execute no diretório ´h:\weka’
• java –jar weka.jar

Obs:
• Pode usar validação cruzada
• Pode salvar os resultados (API)
Weka: Aprendizado de árvores de decisão
Dados do tempo
 Algoritmo weka.classifier.j48.J48

>75
<=75
J48 - Parametros
Binary Splits – criação de árvores binárias
 nimMunObj – numero mínimo de instancias em folhas
 Reduced Error Pruning – poda através de conjunto
de validação

• NumFolds – especifica o tamanho do conjunto de validação
Unprunned – não usar poda
 Default – poda

• confidenceFactor???

...
Aprendizado de árvores de decisão
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
Size of the tree :
:
5
8
Exercício
Abrir o arquivo soybean.arff
 Variar parâmetros do J48 e observar o que
acontece ...

IBk

Parametros:
•
•
•
•
Distance weigth
Knn
Window size
…
Considerações

Facilidade de uso
• é fácil fazer experimentos distintos rapidamente
Extensibilidade
 Algumas implementações não contem parâmetros
importantes
 Performance é deteriorada no uso de grandes
conjuntos de dados

• Weka requer muita memória;

Documentação não cobre todas as técnicas
disponíveis