Prof. Heitor Silvério Lopes http://pessoal.utfpr.edu.br/hslopes WEKA WEKA: Waikato Environment for Knowledge Analysis Iniciado em 1992, versão estável atual: 3.8.0 (2016) Software para mineração de dados desenvolvido em Java com código aberto Desenvolvido na Universidade de Waikato (Nova Zelândia), por Ian Witten, Eibe Frank e colaboradores. Todo o código e o ambiente Java estão disponíveis. http://www.cs.waikato.ac.nz/ml/weka Witten, I.H., Frank, E. & Hall, M.A., Data Mining – Practical machine learning tools and techniques, 3rd edition. Burlington: Morgan Kaufmann, 2011. Funcionalidades básicas Pré-processamento de dados: Formato nativo ARFF. Outros: CSV, ASCII, JDBC Filtros diversos para remoção de atributos e operações Classificação: +100 métodos, divididos em grupos (Bayesianos, vizinhança, regras, árvores, funções, miscelânea), além de meta-métodos (bagging, boosting e outros). Agrupamento: Aprendizado não-supervisionado, incluindo EM, k-means e agrupamento hierárquico. Visualização de dados: Gráficos de valores dos atributos por classe ou por outros atributos, visualizadores de árvores, redes Bayesianas e dendograma. Outras funcionalidades: Seleção de atributos, Regras de associação, Comparação de classificadores, Geração de conjuntos de dados, etc. WEKA – GUI Chooser Painel de controle de seleção das Graphical User Interfaces - GUIs GUI – Explorer Permite uma exploração rápida dos dados e suporta a maioria das funcionalidades GUI – Experimenter GUI que simplifica o projeto de experimentos com múltiplos datasets e múltiplos métodos de classificação ou regressão GUI – Experimenter Analisa comparativamente os resultados obtidos por diferentes métodos GUI – Knowledge Flow Tem as mesmas funcionalidades do Explorer, sob a forma de um workflow de operações. GUI – Workbench É similar ao Explorer, um pouco mais simples GUI – Simple CLI Permite utilizar as funções disponíveis via linha de comando (painel Java). Menus do GUI Chooser Aba Visualization: Há interfaces gráficas especializadas Plot: gráfico 2D de um conjunto de dados, ROC: mostra a curva Receive Operating Characteristics, TreeVisualizer: mostra gráficos nos formatos XML, BIF e DOT para redes Bayesianas. GraphVisualizer: BoundaryVisualizer: Aba Tools: Há interfaces gráficas especializadas para: Package Manager: instala/desinstala pacotes 3rd party Bayes net editor: edição de redes Bayesianas, SqlViewer : interação com SQL server, ARFFViewer : editor de arquivos ARFF. Aba Help: Menus do Explorer Aba Tools: Há interfaces gráficas especializadas para: Edição de redes Bayesianas (Bayes net editor), Interação com SQL server (SqlViewer), Editor de arquivos ARFF (ARFFViewer). Aba Visualization: permite a visualização de dados: Plot: gráfico 2D de um conjunto de dados, ROC: mostra a curva Receive Operating Characteristics, TreeVisualizer: mostra gráficos nos formatos XML, BIF e DOT para redes Bayesianas. Boundary Visualizer: permite a visualização em duas dimensões dos limites de decisão de um classificador. Aba Help: provê recursos on-line para ajuda WEKA: Explorer GUI Aba Preprocess: leitura de arquivos e manipulação de dados É possível ler, editar e salvar arquivos, bem como aplicar filtros aos dados. Do lado direito são mostrados dados estatísticos simples dos dados, bem como sua distribuição. A leitura de arquivos pode ser no formato nativo ARFF ou CSV, ASCII, JDBC, etc Formato de entrada de dados O formato nativo do WEKA é ARFF (AttributeRelation File Format) que é texto em ASCII e tem: Header e Data A seção Header tem os campos: Relation: que define o nome do problema, Attribute: define cada atributo e seu tipo de dado, que pode ser: numérico (real ou inteiro), string, nominal (lista entre { } ) ou dado genérico (especifica formato). Nome do dataset Declaração dos atributos (nome, tipo, Intervalo/valores) Formato de entrada de dados A seção Data contém uma instância por linha Cada linha tem os valores de todos os atributos na ordem listada na seção Header Instâncias dos dados (?=missing) Para a conversão de formatos: CSVARFF, pode-se utilizar a ferramenta on-line: http://slavnik.fe.uni-lj.si/markot/csv2arff/csv2arff.php Manipulação de dados A partir da versão 3.8.0 o Weka é capaz de ler e salvar arquivos de dados em formatos variados: Excel (xls, xlsx), CSV, JSON, Matlab, TXT e outros formatos Pode ler dados diretamente de bases de dados com queries SQL Tem visualizador e editor simples dos dados carregados Tem um gerador de datasets através de vários métodos Edição de arquivos lidos Após lido um arquivo de entrada (no formato ARFF ou CSV), pode-se editá-lo através do botão Edit da aba Preprocess: Aplicação de filtros No botão Edit da aba Preprocess é possível aplicar diversos filtros às instâncias e atributos do dataset sendo tratado. Outras funcionalidades do Weka Aba Classify: : +100 métodos de classificação, divididos em grupos (Bayesianos, vizinhança, regras, árvores, funções, miscelânea), além de meta-métodos (bagging, boosting e outros). Aba Cluster: : Algoritmos de agrupamento (aprendizado nãosupervisionado) incluindo EM, k-means e agrupamento hierárquico. Aba Associate: Algoritmos para regras de associação, incluindo o Apriori Aba Select attributes: Métodos para seleção de atributos (redução de dimensionalidade) Aba Visualize: Gráficos 2D de valores dos atributos por classe ou por outros atributos, visualizadores de árvores e redes Bayesianas