Aprendizado de Máquina com WEKA WEKA: Ferramenta para Aprendizado de Máquina O Explorer • Eibe Frank • • Department of Computer Science, University of Waikato, New Zealand • • Classificação e Regressão Clustering Regras de Associação Seleção de Atributos Visualização de Dados O Experimenter O GUI do Knowledge Flow Conclusões WEKA: o pássaro Copyright: Martin Kramer ([email protected]) 11/5/2015 University of Waikato 2 WEKA: o software Software de Aprendizado de Máquina/Data Mining escrito em Java (distribuído sob a GNU Public License) Usado para pesquisa, educação e aplicações Complementa o livro “Data Mining” de Witten & Frank Principais características: Conjunto abrangente de ferramentas para préprocessamento de dados, algoritmos de aprendizado e métodos de avaliação Interfaces gráficas (inclusive visualização de dados) Ambiente para comparar algoritmos de aprendizado 11/5/2015 University of Waikato 3 WEKA: versões Há várias versões do WEKA: WEKA 3.0: “versão livro” compatível com o texto da primeira edição do livro sobre Mineração de Dados WEKA 3.2: “versão GUI” acrescentou a interface gráfica WEKA 3.4: “versão de desenvolvimento”, versão atual com várias inovações Estas transparências são baseadas na versão WEKA 3.3 11/5/2015 University of Waikato 4 WEKA aceita apenas “flat” files (arquivos “planos”) @relation heart-disease-simplified @attribute age numeric @attribute sex { female, male} @attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina} @attribute cholesterol numeric @attribute exercise_induced_angina { no, yes} @attribute class { present, not_present} @data 63,male,typ_angina,233,no,not_present 67,male,asympt,286,yes,present 67,male,asympt,229,yes,present 38,female,non_anginal,?,no,not_present ... 11/5/2015 University of Waikato 5 WEKA aceita apenas “flat” files @relation heart-disease-simplified @attribute age numeric @attribute sex { female, male} @attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina} @attribute cholesterol numeric @attribute exercise_induced_angina { no, yes} @attribute class { present, not_present} @data 63,male,typ_angina,233,no,not_present 67,male,asympt,286,yes,present 67,male,asympt,229,yes,present 38,female,non_anginal,?,no,not_present ... 11/5/2015 University of Waikato 6 11/5/2015 University of Waikato 7 11/5/2015 University of Waikato 8 11/5/2015 University of Waikato 9 Explorer: pré-processamento de dados Dados podem ser importados de um arquivo em vários formatos: ARFF, CSV, C4.5, binário Dados também podem ser lidos de um URL ou de uma base de dados SQL (usando JDBC) Ferramentas de pré-processamento no WEKA são chamadas de “filtros” WEKA contém filtros para: 11/5/2015 Discretização, normalização, amostragem, seleção de atributo, transformação e combinação de atributos, … University of Waikato 10 11/5/2015 University of Waikato 11 11/5/2015 University of Waikato 12 11/5/2015 University of Waikato 13 11/5/2015 University of Waikato 14 11/5/2015 University of Waikato 15 11/5/2015 University of Waikato 16 11/5/2015 University of Waikato 17 11/5/2015 University of Waikato 18 11/5/2015 University of Waikato 19 11/5/2015 University of Waikato 20 11/5/2015 University of Waikato 21 11/5/2015 University of Waikato 22 11/5/2015 University of Waikato 23 11/5/2015 University of Waikato 24 11/5/2015 University of Waikato 25 11/5/2015 University of Waikato 26 11/5/2015 University of Waikato 27 11/5/2015 University of Waikato 28 11/5/2015 University of Waikato 29 11/5/2015 University of Waikato 30 11/5/2015 University of Waikato 31 Explorer: criando “classificadores” Classificadores no WEKA são modelos para predizer quantidades nominais ou numéricas Esquemas de aprendizado implementado incluem: Árvores de decisão e listas, classificadores baseados em instâncias, support vector machines, perceptrons multicamadas, regressão logística, redes de Bayes, … “Meta”-classificadores incluem: 11/5/2015 Bagging, boosting, stacking, error-correcting output codes, locally weighted learning, … University of Waikato 32 11/5/2015 University of Waikato 33 11/5/2015 University of Waikato 34 11/5/2015 University of Waikato 35 11/5/2015 University of Waikato 36 11/5/2015 University of Waikato 37 11/5/2015 University of Waikato 38 11/5/2015 University of Waikato 39 11/5/2015 University of Waikato 40 11/5/2015 University of Waikato 41 11/5/2015 University of Waikato 42 11/5/2015 University of Waikato 43 11/5/2015 University of Waikato 44 11/5/2015 University of Waikato 45 11/5/2015 University of Waikato 46 11/5/2015 University of Waikato 47 11/5/2015 University of Waikato 48 11/5/2015 University of Waikato 49 11/5/2015 University of Waikato 50 11/5/2015 University of Waikato 51 11/5/2015 University of Waikato 52 11/5/2015 University of Waikato 53 11/5/2015 University of Waikato 54 11/5/2015 University of Waikato 55 11/5/2015 University of Waikato 56 11/5/2015 University of Waikato 57 11/5/2015 University of Waikato 58 11/5/2015 University of Waikato 59 11/5/2015 University of Waikato 60 11/5/2015 University of Waikato 61 11/5/2015 University of Waikato 62 11/5/2015 University of Waikato 63 11/5/2015 University of Waikato 64 11/5/2015 QuickTime™ and a TI FF (LZW) decompressor are needed t o see this picture. University of Waikato 65 11/5/2015 QuickTime™ and a TI FF (LZW) decompressor are needed t o see this picture. University of Waikato 66 11/5/2015 QuickTime™ and a TI FF (LZW) decompressor are needed t o see this picture. University of Waikato 67 11/5/2015 University of Waikato 68 11/5/2015 University of Waikato 69 11/5/2015 University of Waikato 70 11/5/2015 University of Waikato 71 11/5/2015 University of Waikato 72 11/5/2015 University of Waikato 73 11/5/2015 University of Waikato 74 Qu i c k Ti m e™ and a TIF F (LZ W) d ec om pres s or a re ne eded to s ee th i s pi c ture. 11/5/2015 University of Waikato 75 11/5/2015 University of Waikato 76 11/5/2015 University of Waikato 77 11/5/2015 University of Waikato 78 11/5/2015 University of Waikato 79 QuickTime™ and a TIFF (LZW) decompressor are needed to see t his picture. 11/5/2015 University of Waikato 80 QuickTime™ and a TIFF (LZW) decompressor are needed to see t his picture. 11/5/2015 University of Waikato 81 11/5/2015 University of Waikato 82 QuickTime™ and a TIFF (LZW) decompressor are needed to see t his picture. 11/5/2015 University of Waikato 83 11/5/2015 University of Waikato 84 11/5/2015 University of Waikato 85 11/5/2015 University of Waikato 86 11/5/2015 University of Waikato 87 11/5/2015 University of Waikato 88 11/5/2015 University of Waikato 89 11/5/2015 University of Waikato 90 11/5/2015 University of Waikato 91 Explorer: agrupando dados WEKA contém “clusterers” para encontrar grupos de instâncias similares num conjunto de dados Os métodos implementados são: k-Means, EM, Cobweb, X-means, FarthestFirst Clusters podem ser visualizados e comparados com “true” clusters (se forem dados) Avaliação baseada em loglikelihood se o método de clustering produzir uma distribuição de probabilidade 11/5/2015 University of Waikato 92 11/5/2015 University of Waikato 93 11/5/2015 University of Waikato 94 11/5/2015 University of Waikato 95 11/5/2015 University of Waikato 96 11/5/2015 University of Waikato 97 11/5/2015 University of Waikato 98 11/5/2015 University of Waikato 99 11/5/2015 University of Waikato 100 11/5/2015 University of Waikato 101 11/5/2015 University of Waikato 102 11/5/2015 University of Waikato 103 11/5/2015 University of Waikato 104 11/5/2015 University of Waikato 105 11/5/2015 University of Waikato 106 11/5/2015 University of Waikato 107 Explorer: encontrando associações WEKA contém uma implementação do algoritmo Apriori para aprender regras de associação Pode identificar dependências estatísticas entre grupos de atributos: Funciona somente com dados discretos milk (leite), butter (manteiga) bread (pão), eggs (ovos) (com confidence (confiança) 0.9 e support (cobertura) 2000) Apriori pode encontrar todas as regras que atingem uma cobertura mínima dada e ultrapassa uma dada confiança 11/5/2015 University of Waikato 108 11/5/2015 University of Waikato 109 11/5/2015 University of Waikato 110 11/5/2015 University of Waikato 111 11/5/2015 University of Waikato 112 11/5/2015 University of Waikato 113 11/5/2015 University of Waikato 114 11/5/2015 University of Waikato 115 Explorer: seleção de atributo Painel que pode ser usado para investigar quais (subconjuntos de) atributos são os mais previsíveis Métodos de seleção de atributos contêm duas partes: Um método de busca: best-first, forward selection, aleatória, exaustiva, algoritmo genético, ranking Um método de avaliação: baseado em correlação, wrapper, ganho de informação, chi-quadrado, … Bastante flexível: WEKA permite combinações (quase) arbitrárias destes dois métodos 11/5/2015 University of Waikato 116 11/5/2015 University of Waikato 117 11/5/2015 University of Waikato 118 11/5/2015 University of Waikato 119 11/5/2015 University of Waikato 120 11/5/2015 University of Waikato 121 11/5/2015 University of Waikato 122 11/5/2015 University of Waikato 123 11/5/2015 University of Waikato 124 Explorer: visualização de dados A visualização é muito útil na prática: ex. Ajuda a determinar a dificuldade do problema do aprendizado O WEKA pode visualizar atributos simples (1-d) e pares de atributos (2-d) To do (a ser implementado): visualização de rotação 3-d (Xgobi-style) Valores das classes codificados em cores Opção de “Jitter” para tratar com atributos nominais (e para detectar pontos de dados “escondidos”) Função “Zoom-in” 11/5/2015 University of Waikato 125 11/5/2015 University of Waikato 126 11/5/2015 University of Waikato 127 11/5/2015 University of Waikato 128 11/5/2015 University of Waikato 129 11/5/2015 University of Waikato 130 11/5/2015 University of Waikato 131 11/5/2015 University of Waikato 132 11/5/2015 University of Waikato 133 11/5/2015 University of Waikato 134 11/5/2015 University of Waikato 135 11/5/2015 University of Waikato 136 11/5/2015 University of Waikato 137 Fazendo experimentos O Experimenter torna mais fácil comparar o desempenho de diferentes métodos de aprendizado Para problemas de classificação e regressão Resultados podem ser escritos em arquivo ou base de dados Opções de avaliação: cross-validation, learning curve, hold-out Pode também fazer iteração sobre ajustes de diferentes parâmetros Significance-testing incorporado! 11/5/2015 University of Waikato 138 11/5/2015 University of Waikato 139 11/5/2015 University of Waikato 140 11/5/2015 University of Waikato 141 11/5/2015 University of Waikato 142 11/5/2015 University of Waikato 143 11/5/2015 University of Waikato 144 11/5/2015 University of Waikato 145 11/5/2015 University of Waikato 146 11/5/2015 University of Waikato 147 11/5/2015 University of Waikato 148 11/5/2015 University of Waikato 149 11/5/2015 University of Waikato 150 11/5/2015 University of Waikato 151 O Knowledge Flow GUI Nova interface gráfica do WEKA Interface baseada no Java-Beans para ajustar e rodar experimentos com aprendizado de máquina Fontes de dados, classificadores etc. são beans (entradas) e podem ser conectadas graficamente Fluxos de dados pelos componentes: ex., “fonte de dado” -> “filtro” -> “classificador” -> “avaliador” Layouts podem ser salvos e carregados mais tarde 11/5/2015 University of Waikato 152 11/5/2015 University of Waikato 153 11/5/2015 University of Waikato 154 11/5/2015 University of Waikato 155 11/5/2015 University of Waikato 156 11/5/2015 University of Waikato 157 11/5/2015 University of Waikato 158 11/5/2015 University of Waikato 159 11/5/2015 University of Waikato 160 11/5/2015 University of Waikato 161 11/5/2015 University of Waikato 162 11/5/2015 University of Waikato 163 11/5/2015 University of Waikato 164 11/5/2015 University of Waikato 165 11/5/2015 University of Waikato 166 11/5/2015 University of Waikato 167 11/5/2015 University of Waikato 168 11/5/2015 University of Waikato 169 11/5/2015 University of Waikato 170 11/5/2015 University of Waikato 171 11/5/2015 University of Waikato 172 Conclusão: tente você mesmo! WEKA está disponível em http://www.cs.waikato.ac.nz/ml/weka Há também uma lista de projetos baseados no WEKA Colaboradores do WEKA : Abdelaziz Mahoui, Alexander K. Seewald, Ashraf M. Kibriya, Bernhard Pfahringer , Brent Martin, Peter Flach, Eibe Frank ,Gabi Schmidberger ,Ian H. Witten , J. Lindgren, Janice Boughton, Jason Wells, Len Trigg, Lucio de Souza Coelho, Malcolm Ware, Mark Hall ,Remco Bouckaert , Richard Kirkby, Shane Butler, Shane Legg, Stuart Inglis, Sylvain Roy, Tony Voyle, Xin Xu, Yong Wang, Zhihai Wang 11/5/2015 University of Waikato 173