WEKA
Roteiro Introdução Conceitos Exemplos práticos Chamada ao aplicativo
WEKA Universidade de Waikato - Nova Zelândia Waikato Environment for Knowledge Analysis Coleção de algoritmos de aprendizagem de máquina para resolução de problemas de Data Mining Implementado em Java Open source software
Métodos de aprendizagem suportados decision tree inducers rule learners naive Bayes decision tables locally weighted regression support vector machines instance-based learners logistic regression multilayer perceptrons
Origem dos Dados Arquivo local no formato.arff Arquivo em URL no formato.arff Tabelas de Banco de Dados via JDBC
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 weather %Nome do outlook {sunny, overcast, temperature real %Atributo e humidity windy {TRUE, play {yes, dos dados sunny,85,85,FALSE,no overcast,83,86,FALSE,yes
Weka: Aprendizado de árvores de decisão Dados do tempo Algoritmo weka.classifier.j48.J48 <=75 >75
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 : 5 Size of the tree : 8
Gerando regras de associação APRIORI Algoritmo para minerar regras de associação. IF umidade = normal AND vento = não THEN jogar = sim IF umidade = normal AND jogar = sim THEN vento = não IF vento = não AND jogar = sim THEN umidade = normal IF umidade = normal THEN vento = não AND jogar = sim IF vento = não THEN umidade = normal AND jogar = sim IF jogar = sim THEN vento = não AND umidade = normal IF ? THEN vento = não AND umidade = normal AND jogar = sim
Saída do algoritmo Best rules found: 1.temperature=cool humidity=normal windy=FALSE ==> play=yes conf:(1) 2. temperature=cool windy=FALSE play=yes ==> humidity=normal conf:(1) 3. outlook=overcast temperature=hot windy=FALSE ==> play=yes conf:(1) 4. temperature=cool windy=FALSE ==> humidity=normal play=yes conf:(1) 5. outlook=rainy temperature=mild windy=FALSE ==> play=yes conf:(1)
Carregando Dados a partir de Tabelas Exemplo: Open DB SELECT * from dim_relcoords where id_relcoords < 1000 CblMbl Cbr Cfr Cfl Y X
Carregando Dados a partir de Tabelas J48 pruned tree Y <= 0 | Y <= -17: CbrMbr (313.0/1.0) | Y > -17: CbrMbl (219.0) Y > 0 | Y <= 17: CblMbr (204.0) | Y > 17: CblMbl (264.0) Number of Leaves : 4 Size of the tree : 7
Carregando Dados a partir de Tabelas === Confusion Matrix === a b c d e <-- classified as | a = No | b = CblMbl | c = CbrMbr | d = CbrMbl | e = CblMbr