Aula de weka, Weka lesson

Preview:

DESCRIPTION

Aula de weka

Citation preview

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