150 likes | 408 Views
WEKA. Jacques Robin João Batista Marcelino Pereira. junho/2001. Roteiro. Introdução Conceitos Exemplos práticos Chamada ao aplicativo. WEKA. Universidade de Waikato - Nova Zelândia Waikato Environment for Knowledge Analysis
E N D
WEKA Jacques Robin João Batista Marcelino Pereira junho/2001
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 • http://www.cs.waikato.ac.nz/ml/weka/
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 • voted 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 • 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
<=75 >75 Weka: Aprendizado de árvores de decisão • Dados do tempo • Algoritmo weka.classifier.j48.J48
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 Y CblMbl Cfl X Cfr Cbr
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 0 0 1 0 0 | a = No 0 264 0 0 0 | b = CblMbl 0 0 312 0 0 | c = CbrMbr 0 0 0 219 0 | d = CbrMbl 0 0 0 0 204 | e = CblMbr
Instalando o software 1. Crie um deretório ´weka´ dentro de ‘c:\temp’ • c:\temp\weka 2.Copiando os arquivos: • http://www.cin.ufpe.br/~robocup/weka • weka.jar • weka.bat • sql_driver.jar 3.Certifique-se de que os dados foram salvos no formato correto.
Executando o software • Inicialize o ambiente jdk 1.3 • menu: programs\Linguagens\Java\JDK1.3 • Entre no diretório ´weka’ que você criou • c:\temp\weka • Execute o script • Weka.bat