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