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