Weka
Joel Luis Carbonera
Weka
Motivação
Motivação
O "aprendedor universal" é um ideal inalcançado (inalcançável?)
Até o momento, no estado da arte do aprendizado de máquina, não há uma única técnica universal, apropriada para todo e qualquer problema de data mining.
Conjuntos de dados reais: Para obter modelos precisos é preciso ajustar as
técnicas à estrutura do domínio Data mining é uma atividade fundamentalmente
experimental.
Weka
O que é o Weka?
O que é o Weka?
Coleção de algoritmos e ferramentas de pré-processamento de dados e aprendizado de máquina para data mining.
Concebido para proporcionar o teste flexível de diversas técnicas sobre um mesmo conjunto de dados.
Suporta todo o processo de data mining: Preparação dos dados de entrada Aplicação das técnicas e algoritmos pretendidos Avaliação dos resultados Visualização das entradas e saídas, permitindo interpretar
diversas propriedades dos dados. Tudo isso é acessado através de uma interface comum,
que flexibiliza todo o processo
O que é o Weka?
Desenvolvido pela universidade de Waikato (Nova Zelândia)
Software open source (GNU General Public License) Weka = Waikato Environment for Knowledge Analysis
Nome de uma ave com hábitos inquisitivos, típica da Nova Zelândia
O que é o Weka?
Principais referências Site oficial Livro:
• Data Mining: Practical Machine Learning Tools and Techniques (Third Edition)
Weka
O que há no Weka?
O que há no Weka?
Implementação de diversos algoritmos, no estado da arte, para data mining, que podem ser facilmente aplicados a diversos datasets.
Ferramentas e algoritmos para: Regressão Classificação Análise de clusters Mineração de regras de associação Seleção automática de atributos
A entrada padrão dos dados segue um formato padrão (ARFF – Attribute-Relation File Format)
Weka
Como usar o Weka
Weka
Como usar o WekaExplorer
Interface gráfica que oferece acesso fácil a todas as funcionalidades do Weka.
O modo mais fácil e fundamental de usar o Weka. Desvantagem:
Mantém tudo na memória principal Ideal para explorar conjuntos de dados de
pequeno e médio porte
Como usar o WekaKnowledge flow
Interface gráfica que permite a configuração para o processamento de fluxos de dados.
Permite elaborar um pipeline de processamento de um fluxo de dados, relacionando funcionalidades do weka de forma modular.
Contorna uma desvantagem fundamental do Explorer Permite manipular os dados mantidos na
memória secundária. Permite aplicar versões incrementais das
principais técnicas de Data Mining sobre um conjunto de dados de grande porte.
Como usar o WekaExperimenter
No Weka, cada técnica de DM tem parâmetros ajustáveis.
Com o Experimenter, é possível programar experimentações automatizadas, em que pode-se variar sistematicamente os parâmetros de uma dada técnica sobre um dado conjunto de dados.
Ideal para avaliar a parametrização adequada de cada técnica em um dado caso de uso.
Como usar o WekaCLI
CLI = Command line interface Permite aplicar as técnicas do weka via linha de
comando.
Como usar o WekaAPI
Para desenvolvedores de software Permite acessar todas essas funcionalidades, dentro
das nossas próprias aplicações, programaticamente.
Como usar o Weka
Alguns modos de usar o Weka:– Aplicar um método de aprendizagem a um
conjunto de dados e analisar a saída para aprender mais sobre os dados
– Aprender modelos de dados e gerar predições sobre novas instâncias
– Aplicar diversos métodos diferentes de aprendizagem e comparar os resultados, para selecionar o mais adequado para o problema em questão
– ...
Weka
Formato ARFF
Formato ARFF
Formato padrão dos dados no Weka Segue o padrão CSV (comma-separated value) para
representação de dados. Utiliza 3 tags adicionais para representar meta-dados
(dados que descrevem os dados) @relation: define o nome do dataset @attribute: define um atributo do dataset,
descrevendo seu nome, tipo e espaço de valores possíveis
@data: os dados propriamente ditos, constituídos por um conjunto de instâncias
Formato ARFF
Atributos: Numéricos: indicados pelo termo numeric
@attribute <rótulo> numeric Nominais: indicado pelo conjunto de possíveis valores entre chaves.
@attribute <rótulo> { <valor>,<valor>,... } String: indicados pelo termo string.
@attribute <rótulo> string Data: indicados pelo termo date. São Strings com formato especial que
pode ser definido. O padrão é “yyyy-MM-dd′ T′HH:mm:ss”
@attribute <rótulo> date [<formato>] Relacionais: indicados pelo termo relational. Permite representar
instâncias relacionadas com múltiplas instâncias, descritas por atributos próprios
@attribute <rótulo> relational<Conjunto de atributos internos>@end bag
Formato ARFF
Instâncias: Uma por linha Descritas por valores dos atributos definidos
Em caso de valor faltante, usa-se a marcação “?”
Formato ARFF
Formato ARFF
ARFF esparso: Usados para representar instâncias com muitos valores
nulos ou faltantes. Semelhante ao ARFF convencional, mas diferem em
relação à representação das instâncias. Valores nulos não são explicitamente representados Valores não nulos são representados pelo seu índice e valor
Weka
Explorando o Explorer
Interface Explorer
Interface Explorer
Preprocess: Seleção e pré-processamento dos dados. Permite selecionar atributos que serão considerados no processamento, filtrá-los, etc
Classify: Permite aplicar diversas técnicas para problemas de classificação e regressão, e avaliar os resultados.
Cluster: Permite aplicar diversas técnicas para problemas de análise de agrupamentos, e avaliar os resultados.
Associate: Permite aplicar diversas para problemas de análise de regras de associação, e avaliar os resultados.
Select attributes: Para selecionar os aspectos mais relevantes do dataset
Visualize: Permite a visualização de diversas plotagens bidimensionais de como as diversas dimensões dos dados interagem entre si.
Interface ExplorerPreprocess
Interface ExplorerPreprocess
Carregar dados: De arquivo local: O padrão é ARFF, mas permite carregar csv
(convertido automaticamente). De fonte remota: É necessário informar a URL De banco de dados: É necessário configurar o acesso
Gerar dados artificiais Editar manualmente os dados Visualizar os dados Remover atributos (remove-se das instâncias também) Filtrar atributos
Converter arquivos dados esparsos Discretizar valores de atributos ...
Interface ExplorerClassify, Cluster, Associate
Selecionar o esquemas (classificador, regras, cluster, etc) e o algoritmo de aprendizagem
Exemplo: Árvores de decisão e algoritmo ID3 Parametrizar o algoritmo de aprendizagem Selecionar o modo de avaliação dos resultados Selecionar diversas opções relacionadas à saída do classificador Selecionar qual dos atributos será considerado a classe (meta) Selecionar diversas opções relacionadas ao classificador gerado
Salvar o modelo aprendido para usos futuros Visualizar um relatório detalhado do processo
Modos de teste Usar o próprio conjunto de treinamento como conjunto de teste
Verifica a taxa de acertos de predições do modelo sobre próprias instâncias usadas para treinamento.
Usar um outro conjunto de teste, diferente do conjunto de treinamento Verifica a taxa de acertos para instâncias que não foram
consideradas no treinamento Validação cruzada
Cria-se N subconjuntos do dataset original São construídos N modelos, treinados cada qual a partir de N-
1 subconjuntos e usando um para testar. Percentage split:
Um percentual do dataset é separado para testar o modelo. Estas instâncias não serão consideradas no treinamento.
Interface ExplorerClassify
Interface ExplorerCluster
Interface ExplorerAssociate
Interface ExplorerSelect Attributes
Permite selecionar os atributos mais adequados para descrever os dados para um dado problema, em função de múltiplos critérios
Interface ExplorerSelect Attributes
Interface ExplorerVisualize