Galeria de mapas mentais Ferramenta de mineração de dados —— WEKA
WEKA é uma ferramenta abrangente de mineração de dados que integra pré-processamento de dados, algoritmos de aprendizagem (classificação, regressão, clustering, análise de correlação) e métodos de avaliação. Este mapa mental apresenta como usar o WEKA. Espero que seja útil para todos!
Editado em 2023-07-07 16:09:18Microbiologia medica, Infezioni batteriche e immunità riassume e organizza i punti di conoscenza per aiutare gli studenti a comprendere e ricordare. Studia in modo più efficiente!
La teoria cinetica dei gas rivela la natura microscopica dei fenomeni termici macroscopici e le leggi dei gas trovando la relazione tra quantità macroscopiche e quantità microscopiche. Dal punto di vista del movimento molecolare, vengono utilizzati metodi statistici per studiare le proprietà macroscopiche e modificare i modelli di movimento termico delle molecole di gas.
Este é um mapa mental sobre uma breve história do tempo. "Uma Breve História do Tempo" é um trabalho científico popular com influência de longo alcance. Ele não apenas introduz os conceitos básicos da cosmologia e da relatividade, mas também discute os buracos negros e a expansão. Do universo. questões científicas de ponta, como inflação e teoria das cordas.
Microbiologia medica, Infezioni batteriche e immunità riassume e organizza i punti di conoscenza per aiutare gli studenti a comprendere e ricordare. Studia in modo più efficiente!
La teoria cinetica dei gas rivela la natura microscopica dei fenomeni termici macroscopici e le leggi dei gas trovando la relazione tra quantità macroscopiche e quantità microscopiche. Dal punto di vista del movimento molecolare, vengono utilizzati metodi statistici per studiare le proprietà macroscopiche e modificare i modelli di movimento termico delle molecole di gas.
Este é um mapa mental sobre uma breve história do tempo. "Uma Breve História do Tempo" é um trabalho científico popular com influência de longo alcance. Ele não apenas introduz os conceitos básicos da cosmologia e da relatividade, mas também discute os buracos negros e a expansão. Do universo. questões científicas de ponta, como inflação e teoria das cordas.
Ferramenta de mineração de dados —— WEKA
Introdução ao WEKA
O nome completo do WEKA é Waikato Environment for Knowledge Analysis
WEKA também é o nome de um pássaro na Nova Zelândia. É um software de código aberto de aprendizado de máquina/mineração de dados desenvolvido em Java pela equipe WEKA da Universidade de Waikato, na Nova Zelândia.
Obtenha seu código-fonte
http://www.cs.waikato.ac.nz/ml/weka/
http://prdownloads.sourceforge.net/weka/weka-3-6-6jre.exe
Em agosto de 2005, na 11ª Conferência Internacional ACM SIGKDD, o grupo WEKA da Universidade de Waikato ganhou o maior prêmio de serviço na área de mineração de dados e exploração de conhecimento. O sistema WEKA foi amplamente reconhecido e aclamado como líder em mineração de dados. e o aprendizado de máquina é uma das ferramentas de mineração de dados mais completas disponíveis atualmente. WEKA foi baixado mais de 10.000 vezes por mês.
Característica principal
É uma ferramenta abrangente de mineração de dados que integra pré-processamento de dados, algoritmos de aprendizagem (classificação, regressão, clustering, análise de correlação) e métodos de avaliação.
Possui uma interface visual interativa
Fornece ambiente de aprendizagem e comparação de algoritmos
Através de sua interface, você pode implementar seus próprios algoritmos de mineração de dados
Ambiente do explorador
Várias guias na área 1 são usadas para alternar entre diferentes painéis de tarefas de mineração.
Pré-processamento (pré-processamento de dados): Selecione e modifique os dados a serem processados.
Classificar: Treine e teste modelos de classificação ou regressão.
Cluster: Clustering de dados.
Associar: Aprenda regras de associação a partir de dados.
Selecionar Atributos: Selecione os atributos mais relevantes nos dados.
Visualizar: Visualize um gráfico de dispersão bidimensional dos dados.
A área 2 contém alguns botões comumente usados. Incluindo funções como abertura, edição, salvamento de dados e conversão de dados. Por exemplo, podemos salvar o arquivo “bank-data.csv” como “bank-data.arff”.
Na área 3, você pode escolher um filtro para filtrar os dados ou realizar alguma transformação nos dados. O pré-processamento de dados é implementado principalmente por meio dele.
A área 4 mostra as informações básicas do conjunto de dados, como nome do relacionamento, número de atributos e número de instâncias.
Todas as propriedades do conjunto de dados estão listadas na área 5.
Você pode excluir alguns atributos marcando-os e "Remover". Após a exclusão, você também pode usar o botão "Desfazer" na área 2 para recuperá-los.
A linha de botões acima da área 5 é usada para verificação rápida.
A área 6 exibe um resumo do atributo atual selecionado na área 5.
O resumo inclui nome do atributo (Nome), tipo de atributo (Tipo), número e proporção de valores ausentes (Missing), número de valores diferentes (Distinto), número e proporção de valores únicos (Único)
O método de resumo é diferente para atributos numéricos e atributos nominais. A figura mostra um resumo do atributo numérico “renda”.
Os atributos numéricos exibem o valor mínimo (Mínimo), valor máximo (Máximo), média (Média) e desvio padrão (StdDev)
Propriedades nominais mostram a contagem de cada valor distinto
A Área 7 é o histograma do atributo selecionado na Área 5.
Se o último atributo do conjunto de dados (que é a variável de destino padrão para tarefas de classificação ou regressão) for uma variável de rótulo de classe (por exemplo, "pep"), cada retângulo no histograma será dividido em segmentos de cores diferentes proporcionais a essa variável.
Se desejar alterar a base da segmentação, basta selecionar um atributo de classificação diferente na caixa suspensa acima da área 7.
Selecionar "Sem classe" ou um atributo numérico na caixa suspensa se transformará em um histograma em preto e branco.
Área 8 A área inferior da janela, incluindo a barra de status, botão de registro e pássaro Weka.
A barra de status (Status) exibe algumas informações para que você saiba o que está sendo feito. Por exemplo, se o Explorer estiver ocupado carregando um arquivo, haverá uma notificação na barra de status.
Clicar com o botão direito do mouse em qualquer lugar da barra de status abrirá um pequeno menu. Este menu oferece duas opções:
Informações de memória--Exibe a quantidade de memória disponível para o WEKA.
Executar coletor de lixo - Força o coletor de lixo Java a procurar espaço de memória que não é mais necessário e liberá-lo, para que mais memória possa ser alocada para novas tarefas.
O botão Log permite visualizar os logs de operação do weka.
Se o pássaro weka à direita estiver se movendo, significa que WEKA está realizando uma tarefa de escavação.
Ambiente KnowledgeFlow
Conjunto de dados WEKA
O conjunto de dados processado pelo WEKA é uma tabela bidimensional de arquivo .arff
Uma linha na tabela é chamada de instância, o que equivale a uma amostra nas estatísticas ou a um registro no banco de dados.
Uma linha vertical é chamada de atributo, que equivale a uma variável nas estatísticas ou a um campo em um banco de dados.
Tal tabela, ou conjunto de dados, na visão do WEKA, apresenta um relacionamento (Relation) entre atributos.
Na imagem acima, existem 14 instâncias, 5 atributos e o nome do relacionamento é “clima”.
O formato no qual o WEKA armazena dados é um arquivo ARFF (Attribute-Relation File Format), que é um arquivo de texto ASCII.
A tabela bidimensional mostrada acima é armazenada no seguinte arquivo ARFF. Este é o arquivo "weather.arff" que acompanha o WEKA, que pode ser encontrado no subdiretório "data" do diretório de instalação do WEKA.
O formato no qual o WEKA armazena dados é o arquivo ARFF (Attribute-Relation File Format).
Este é um arquivo de texto ASCII (ASCII ((American Standard Code for Information Interchange): American Standard Code for Information Interchange))
A extensão do arquivo é .arff
Você pode usar o WordPad para abrir e editar arquivos ARFF
As linhas que começam com "%" no arquivo são comentários e o WEKA irá ignorar essas linhas.
Após a remoção dos comentários, todo o arquivo ARFF pode ser dividido em duas partes:
A primeira parte fornece as informações do cabeçalho (Head information), incluindo a declaração de relacionamentos e a declaração de atributos.
A segunda parte fornece as informações dos dados (informações de dados), ou seja, os dados fornecidos no conjunto de dados. A partir da tag “@data”, o que se segue são as informações dos dados.
Declaração de relacionamento
O nome do relacionamento é definido na primeira linha válida do arquivo ARFF, no formato: @relation <nome do relacionamento>
<nome da relação> é uma string. Se esta string contiver espaços, ela deverá ser colocada entre aspas (aspas simples ou duplas para pontuação em inglês).
Declaração de propriedade
As declarações de atributos são representadas por uma lista de instruções começando com "@attribute".
Cada atributo no conjunto de dados possui uma instrução "@attribute" correspondente para definir seu nome de atributo e tipo de dados (tipo de dados): @attribute <nome do atributo> <tipo de dados>
Onde <nome da propriedade> deve ser uma string começando com uma letra. Tal como acontece com os nomes de relacionamento, se esta string contiver espaços, ela deverá ser colocada entre aspas.
A ordem das declarações de declaração de atributos é importante, pois indica a localização do atributo na seção de dados.
Por exemplo, "umidade" é o terceiro atributo declarado, o que significa que entre as colunas separadas por vírgulas na parte de dados, os dados da coluna 2 (a partir da coluna 0) 85 90 86 96 ... é a "umidade" correspondente valor.
Em segundo lugar, o último atributo declarado é chamado de atributo de classe, que é a variável alvo padrão em tarefas de classificação ou regressão.
tipo de dados
numérico tipo numérico
Os atributos numéricos podem ser inteiros ou números reais, mas o WEKA trata todos eles como números reais. Por exemplo: @attribute temperatura real
<especificação nominal> Tipo nominal
Os atributos nominais consistem em uma lista de <especificação nominal> de possíveis nomes de categorias entre chaves: {<nome-nominal1>, <nome-nominal2>, <nome-nominal3>, ...}.
O valor deste atributo no conjunto de dados pode ser apenas uma das categorias.
Por exemplo, a declaração do atributo: @attribute outlook {ensolarado, nublado, chuvoso} indica que o atributo "outlook" possui três categorias: "ensolarado", "nublado" e "chuvoso". O valor "outlook" correspondente a cada instância no conjunto de dados deve ser um destes três.
Se o nome da categoria contiver espaços, ele ainda precisará ser colocado entre aspas.
string tipo de string
As propriedades de string podem conter texto arbitrário. Por exemplo: @atributo LCC string
data [<formato de data>] tipo de data e hora
Os atributos de data e hora são representados uniformemente pelo tipo "data" e seu formato é: @attribute <nome do atributo> data [<formato de data>]
Onde <formato de data> é uma string que especifica como analisar e exibir o formato de data ou hora. A string padrão é o formato de combinação de data e hora fornecido pela ISO-8601: "yyyy-MM-dd HH:mm: ss”
A string que expressa a data na parte de informações de dados deve atender aos requisitos de formato especificados na instrução, por exemplo: @ATTRIBUTE timestamp DATE "yyyy-MM-dd HH:mm:ss" @DATA "2011-05-03 12: 59:55"
Perceber
Existem outros dois tipos “inteiro” e “real” que podem ser usados, mas o WEKA trata ambos como “numéricos”.
As palavras-chave "inteiro", "real", "numérico", "data" e "string" diferenciam maiúsculas de minúsculas, enquanto "relação", "atributo" e "dados" não.
Informação de dados
Nas informações de dados, a tag “@data” ocupa uma linha exclusiva, e o restante são os dados de cada instância.
Cada instância ocupa uma linha e os valores dos atributos da instância são separados por vírgulas ",".
Se o valor de um atributo for um valor faltante, ele será representado por um ponto de interrogação "?", e esse ponto de interrogação não poderá ser omitido.
dados esparsos
Às vezes, o conjunto de dados contém um grande número de valores 0. Nesse caso, economiza mais espaço armazenar dados em formato esparso.
O formato esparso serve para a representação de um objeto em informações de dados e não requer modificação de outras partes do arquivo ARFF.
Por exemplo dados: @data 0, X, 0, Y, "classe A" 0, 0, W, 0, "classe B"
Expressado em formato esparso, é @data {1 X, 3 Y, 4 "classe A"} {2 W, 4 "classe B"}
Nota: A coluna de atributos mais à esquerda do conjunto de dados ARFF é a coluna 0. Portanto, 1 X significa que X é o valor do atributo na coluna 1.
preparação de dados
coleção de dados
Use os dados do arquivo ARFF diretamente.
Importe de arquivos CSV, C4.5, binários e outros formatos.
Leia dados do banco de dados SQL via JDBC.
Obtenha dados de recursos de rede do URL (Uniform Resource Locator).
Conversão de formato de dados
O formato ARFF é o melhor formato de arquivo suportado pelo WEKA.
Ao usar o WEKA para mineração de dados, o primeiro problema enfrentado muitas vezes é que os dados não estão no formato ARFF.
WEKA também oferece suporte para arquivos CSV, e este formato é suportado por muitos outros softwares (como Excel).
WEKA pode ser usado para converter o formato de arquivo CSV em formato de arquivo ARFF.
Recursos de dados
Conjunto de dados próprio da WEKA C:\Arquivos de Programas\Weka-3-6\data
Recursos de dados de rede http://archive.ics.uci.edu/ml/datasets.html
.XLS——> .CSV——> .ARFF
O arquivo XLS do Excel permite que várias tabelas bidimensionais sejam colocadas em planilhas diferentes (Planilhas), e cada planilha só pode ser salva como um arquivo CSV diferente.
Abra um arquivo XLS e mude para a planilha que precisa ser convertida, salve-a como tipo CSV, clique em “OK”, “Sim” e ignore o prompt para concluir a operação.
Abra um arquivo do tipo CSV no WEKA e salve-o como um arquivo do tipo ARFF.
pré-processamento de dadospré-processamento
As ferramentas de pré-processamento de dados no WEKA são chamadas de filtros
Filtros podem ser definidos para transformar dados de diversas maneiras.
A coluna Filtro é usada para fazer as configurações necessárias para vários filtros.
Botão Escolher: Clique neste botão para selecionar um filtro no WEKA.
Quando um filtro é selecionado, seu nome e opções aparecem na caixa de texto próxima ao botão Escolher.
Carregar dados
Os primeiros quatro botões na Área 2 da página de pré-processamento do Explorer são usados para carregar dados no WEKA:
Abrir arquivo.... Abre uma caixa de diálogo que permite procurar arquivos de dados no sistema de arquivos local.
Abrir URL.... Solicita um endereço URL que contém dados.
Abrir banco de dados.... Ler dados do banco de dados.
Gerar.... Gera dados artificiais de alguns DataGenerators.
Remova atributos inúteis
Normalmente, para tarefas de mineração de dados, informações como ID são inúteis e podem ser excluídas.
Verifique o atributo “id” na área 5 e clique em “Remover”. Salve o novo conjunto de dados e abra-o novamente
Discretização de dados
Alguns algoritmos (como análise de correlação) só podem lidar com atributos nominais. Nesse caso, os atributos numéricos precisam ser discretizados.
Atributos numéricos com valores limitados podem ser discretizados modificando o tipo de dados do atributo no arquivo .arff.
Por exemplo, o atributo “filhos” em um determinado conjunto de dados possui apenas 4 valores numéricos: 0, 1, 2 e 3.
Modificamos diretamente o arquivo ARFF e alteramos o valor numérico dos filhos @attribute para @attribute filhos {0,1,2,3}.
Abra novamente "bank-data.arff" no "Explorer" e veja que após selecionar o atributo "children", o "Type" exibido na área 6 muda para "Nominal".
Para atributos numéricos com muitos valores, a discretização pode ser realizada com o auxílio de um Filtro denominado “Discretizar” no WEKA.
Clique em "Escolher" na área 2, uma "Árvore de filtros" aparecerá, encontre "weka.filters.unsupervised.attribute.Discretize" nível por nível e clique.
A caixa de texto ao lado de "Escolher" agora deve dizer "Discretizar -B 10 -M -0,1 -R primeiro-último".
Clicar nesta caixa de texto abrirá uma nova janela para modificar os parâmetros de discretização.
ClassificarClassificar
WEKA coloca classificação e regressão na guia "Classificar".
Em ambas as tarefas de mineração de dados, existe um atributo de destino (atributo de categoria, variável de saída).
Esperamos realizar a previsão de classificação nos atributos alvo com base em um conjunto de atributos característicos (variáveis de entrada) de uma instância WEKA.
Para conseguir isso, precisamos ter um conjunto de dados de treinamento no qual a entrada e a saída de cada instância sejam conhecidas. Ao observar as instâncias no conjunto de treinamento, um modelo preditivo de classificação/regressão pode ser construído.
Com este modelo, previsões de classificação podem ser feitas para novas instâncias desconhecidas.
Medir a qualidade de um modelo depende principalmente da precisão das suas previsões.
Algoritmos de classificação típicos em WEKA
Bayes: classificador bayesiano
BayesNet: Rede Bayesiana de Crenças
NaïveBayes: Rede Naive Bayes
xMultilayerPerceptron: rede neural artificial feedforward multicamadas
SMO: Máquina de vetores de suporte (usando método de aprendizagem de otimização sequencial)
Preguiçoso: classificador baseado em instância
IB1: classificador de 1 vizinho mais próximo
IBk: classificador k-vizinho mais próximo
Escolha um algoritmo de classificação
Meta: método de combinação
AdaBoostM1: método AdaBoost M1
Ensacamento: método de ensacamento
Regras: classificador baseado em regras
JRip: Método direto - algoritmo Ripper
Parte: Método indireto - Extraindo regras de árvores de decisão geradas por J48
Árvores: classificador de árvore de decisão
Id3: algoritmo de aprendizado de árvore de decisão ID3 (atributos contínuos não são suportados)
J48: Algoritmo de aprendizagem de árvore de decisão C4.5 (versão 8)
REPTree: algoritmo de aprendizado de árvore de decisão usando poda para redução de erros
RandomTree: Método de combinação baseado em árvores de decisão
Escolha um método de avaliação de modelo (quatro tipos)
Usando o conjunto de treinamento Usando a avaliação do conjunto de treinamento
Conjunto de testes fornecido Usar avaliação do conjunto de testes
Validação cruzada Validação cruzada
Definir a dobra Dobras
Método de retenção de divisão percentual. Use uma certa proporção de exemplos de treinamento para avaliação
Defina a porcentagem de instâncias de treinamento
Clique no botão Mais opções para definir mais opções de teste:
Modelo de saída Gera um modelo de classificação baseado em todo o conjunto de treinamento para que o modelo possa ser visualizado, etc. Esta opção é selecionada por padrão.
Produza estatísticas por classe. Produza as estatísticas de precisão/recuperação e verdadeiro/falso de cada classe. Esta opção é selecionada por padrão.
Medidas de avaliação de produção. Medidas de estimativa de entropia de produção. Esta opção não está selecionada por padrão.
Matriz de confusão de saída Produz a matriz de confusão dos resultados de previsão do classificador. Esta opção é selecionada por padrão.
Armazene previsões para visualização. Registre as previsões do classificador para que possam ser representadas visualmente.
Previsões de saída. Produza os resultados de previsão dos dados de teste. Observe que durante a validação cruzada, o número de uma instância não representa sua posição no conjunto de dados.
Avaliação sensível aos custos. O erro será estimado com base numa matriz de valores. O botão Definir… é usado para especificar a matriz de valores.
Semente aleatória para xval /% Split Especifica uma semente aleatória que é usada para tornar os dados aleatórios quando eles precisam ser divididos para fins de avaliação.
Análise de resultados de texto
Clique no botão Iniciar e as informações do resultado do texto serão exibidas na janela de saída do Classificador:
Informações de execução Informações de execução
Modelo classificador (conjunto de treinamento completo) Um modelo de classificação construído usando todos os dados de treinamento
Resumo Resumo dos efeitos de previsão para o conjunto de treinamento/teste.
Precisão detalhada por classe Uma descrição detalhada da precisão da predição para cada classe.
Matriz de Confusão Matriz de Confusão, onde as linhas da matriz são as classes reais, as colunas da matriz são as classes previstas e os elementos da matriz são o número de amostras de teste correspondentes.
principais indicadores
Instâncias classificadas corretamente Taxa de classificação correta
Taxa de classificação de erros de instâncias classificadas incorretamente
Estatística Kappa Estatística Kappa
Erro absoluto médio erro absoluto médio
Raiz do erro quadrático médio
Erro absoluto relativo Erro absoluto relativo
Erro quadrático relativo da raiz Erro quadrático relativo da raiz
Taxa TP (ruim/boa) taxa correta
Taxa FP (ruim/boa) taxa de falsos positivos
Precisão (ruim/boa) precisão
Taxa de feedback de recall (ruim/bom)
Medida F (ruim/bom) Medida F
Tempo necessário para construir o modelo Tempo necessário para construir o modelo
Resultados gráficos de saída
Veja na janela principal. Veja a saída na janela principal.
Veja em janela separada. Abra uma nova janela separada para visualizar os resultados.
Salvar buffer de resultados (salvar o buffer de resultados). Uma caixa de diálogo é exibida para salvar os resultados de saída em um arquivo de texto.
Carregar modelo (modo de download). Carregue um objeto de modo pré-treinado de um arquivo binário.
Salvar modelo. Salve um objeto de esquema em um arquivo binário, ou seja, no formato de objeto serial do JAVA.
Reavaliar o modelo no conjunto de testes atual (reavaliar o conjunto de testes atual). Teste o conjunto de dados especificado por meio do esquema estabelecido e use o botão Set.. na opção Conjunto de testes fornecido.
Visualize erros do classificador. Uma janela de visualização aparece para exibir o gráfico de resultados do classificador. Entre eles, as instâncias classificadas corretamente são representadas por cruzes, enquanto as instâncias classificadas incorretamente são representadas por pequenos quadrados.
Gráfico de dispersão das classes reais versus previstas. Os resultados da classificação correta são representados por cruzes e os resultados da classificação incorreta são representados por caixas.
Visualize árvore(visualização de árvore). Se possível, uma interface gráfica aparecerá para descrever a estrutura do modelo do classificador (isso está disponível apenas para alguns classificadores). Clique com o botão direito em uma área em branco para abrir um menu, arraste o mouse no painel e clique para ver as instâncias de treinamento correspondentes a cada nó.
Visualize a curva de margem. Produza um gráfico de dispersão representando as margens de previsão. A margem é definida como a diferença entre a probabilidade de prever um valor verdadeiro e a maior probabilidade de prever algo diferente do valor verdadeiro. Por exemplo, algoritmos acelerados funcionam melhor em conjuntos de dados de teste, aumentando as margens no conjunto de dados de treinamento.
Crie um gráfico de dispersão mostrando os valores marginais previstos.
quatro variáveis
Margem: valor marginal previsto
Instance_number: Número de série da instância de inspeção
Atual: o número de instâncias com o valor de margem previsto atual
Cumulativo: o número de instâncias menor ou igual ao valor marginal previsto (consistente com Instance_number)
Clique na instância de teste nº 8, que mostra que o valor marginal deste ponto é 0,5, e há 7 instâncias com valores marginais inferiores a 0,5.
Visualize a curva de limite (visualização da curva de limite). Um gráfico de dispersão é produzido para descrever o problema de trade-off na previsão, onde o trade-off é capturado variando o limite entre as classes. Por exemplo, o limite padrão é 0,5 e a probabilidade de uma instância ser prevista como positiva deve ser maior que 0,5, porque a instância é exatamente prevista como positiva em 0,5. E os gráficos podem ser usados para visualizar a compensação de precisão/taxa de feedback, como análise da curva ROC (proporção positiva de razão correta e positiva de erro) e outras curvas.
O limite é a probabilidade mínima de classificar a instância de teste na classe atual. A cor do ponto é usada para representar o limite.
Cada ponto na curva é gerado alterando o tamanho do limite
A análise ROC pode ser realizada
Eixo X seleciona taxa de falsos positivos
Eixo Y seleciona taxa verdadeira
Curva ROC
A curva ROC (Receiver Operating Characteristic Curve) é um método gráfico que mostra o compromisso entre a taxa de verdadeiros positivos e a taxa de falsos positivos do modelo de Classificação.
Supondo que as amostras possam ser divididas em categorias positivas e negativas, interprete algumas definições conceituais dos gráficos ROC:
True Positive (TP), uma amostra positiva prevista como positiva pelo modelo
Falso Negativo (FN) é uma amostra positiva prevista como negativa pelo modelo
Falso Positivo (FP) é uma amostra negativa que é prevista como positiva pelo modelo
Verdadeiro Negativo (TN) Amostras negativas previstas como negativas pelo modelo
Taxa de verdadeiro positivo (TPR) ou sensibilidade TPR =TP/(TPFN) Número de resultados de previsão de amostras positivas/número real de amostras positivas
Taxa de falso positivo (FPR) FPR = FP / (FP TN) Número de resultados de amostras negativas previstos como positivos/número real de amostras negativas
(TPR=1,FPR=0) é um modelo ideal
Um bom modelo de classificação deve estar o mais próximo possível do canto superior esquerdo do gráfico.
Visualize a curva de custos (visualização da curva de custos). Produza um gráfico de dispersão que represente com precisão os custos esperados, conforme descrito por Drummond e Holte.
Conjunto
A análise de cluster atribui objetos a cada cluster de modo que os objetos no mesmo cluster sejam semelhantes e os objetos em clusters diferentes sejam diferentes.
WEKA fornece ferramentas de análise de cluster no "Cluster" da interface "Explorer"
Os principais algoritmos incluem:
SimpleKMeans — Algoritmo K-means que suporta atributos categóricos
displayStdDevs: se deve exibir o desvio padrão de atributos numéricos e o número de atributos categóricos
distanceFunction: Selecione a função de distância para instâncias de comparação
(Padrão: weka.core.EuclideanDistance)
dontReplaceMissingValues: se não deve usar média/modo para substituir valores ausentes.
maxIterations: número máximo de iterações
numClusters: número de clusters para clustering
preserveInstancesOrder: se deve pré-organizar a ordem das instâncias
Semente: definir valor de semente aleatório
DBScan — Algoritmo baseado em densidade que suporta atributos categóricos
EM — Algoritmo de clustering baseado em modelo de mistura
FathestFirst - Algoritmo de ponto central K
ÓPTICA — outro algoritmo baseado em densidade
Teia de aranha — algoritmo de agrupamento de conceito
sIB — algoritmo de agrupamento baseado na teoria da informação, não suporta atributos categóricos
XMeans — um algoritmo K-means estendido que pode determinar automaticamente o número de clusters. Não oferece suporte a atributos categóricos.
Modo ClusterModo Cluster
Usar conjunto de treinamento — relata agrupamento e agrupamento de resultados para objetos de treinamento
Usar conjunto de treinamento — relata agrupamento e agrupamento de resultados para objetos de treinamento
Conjunto de testes fornecido — relata resultados de agrupamento para objetos de treinamento e resultados de agrupamento para objetos de teste adicionais
Divisão percentual — relata resultados de agrupamento para todos os objetos, resultados de agrupamento para objetos de treinamento e resultados de agrupamento para objetos de teste
Avaliação supervisionada (avaliação de classes para clusters) — relata resultados de agrupamento e agrupamento, matrizes de confusão de classe/cluster e informações de agrupamento incorreto para objetos de treinamento
Executar algoritmo de cluster
Clique no botão "Iniciar" para executar o algoritmo de cluster
Observe os resultados do agrupamento
Observe os resultados de cluster fornecidos por "Saída do Clusterer" à direita. Você também pode clicar com o botão direito do mouse no resultado gerado desta vez na “Lista de resultados” no canto inferior esquerdo e em “Visualizar em janela separada” para navegar pelos resultados em uma nova janela.
Nota: As informações de execução acima aparecerão apenas se o cluster supervisionado for usado (ou seja, o rótulo da classe do conjunto de dados de modelagem for conhecido).
análise de texto
SimpleKMeans
Modo não supervisionado: informações de execução, resultados KMeans (número de iterações, SSE, centros de cluster), agrupamento de informações de objetos de inspeção
Modo supervisionado: informações de execução, resultados do KMeans (número de iterações, SSE, centros de cluster), matriz de confusão de classe/cluster, número e proporção de objetos agrupados incorretamente
Centro do cluster: média para atributos numéricos e moda para atributos categóricos
DBScan
Modo não supervisionado: informações de execução, resultados do DBScan (número de iterações, agrupamento de informações de cada objeto de treinamento), agrupamento de informações de objetos de teste
Modo de supervisão: informações de execução, resultados do DBScan (número de iterações, informações de agrupamento de cada objeto de treinamento), matriz de confusão de classe/cluster, número e proporção de objetos agrupados incorretamente
análise gráfica
Clusters de lojas para visualização devem ser verificados
Visualize atribuições de cluster: gráfico de dispersão 2D que pode visualizar a matriz de confusão de classe/cluster
Informações importantes sobre saída
“Dentro do cluster, soma dos erros quadrados” é o padrão para avaliar a qualidade do agrupamento – SSE, que é a soma dos erros quadrados. Quanto menor for o valor de SSE, melhor será o resultado do agrupamento.
"Centróides do cluster:" é seguido pela localização de cada centro do cluster. Para atributos numéricos, o centro do cluster é sua média (Mean), e para atributos categóricos é sua moda (Mode).
"Instâncias em cluster" é o número e a porcentagem de instâncias em cada cluster.
Observe os resultados do agrupamento visual
Clique com o botão direito nos resultados listados na "Lista de resultados" no canto inferior esquerdo e clique em "Visualizar atribuições de cluster".
A janela pop-up mostra o gráfico de dispersão de cada instância.
As duas caixas superiores servem para selecionar a abscissa e a ordenada
A “cor” na segunda linha é a base para colorir o gráfico de dispersão. O padrão é marcar as instâncias com cores diferentes de acordo com os diferentes clusters “Cluster”.
Regras de associação
O aprendizado de regras de associação WEKA pode descobrir dependências entre grupos de atributos:
Por exemplo, leite, manteiga pão, ovos (confiança 0,9 e apoio 2000)
Para regra de associação L->R
Suporte - a probabilidade de observar tanto o antecedente quanto o consequente suporte = Pr(L,R)
Confiança - a probabilidade de que o consequente ocorra quando o antecedente ocorrer. confiança = Pr(L,R)/Pr(L)
Principais algoritmos para mineração de regras de associação
Os principais algoritmos para mineração de regras de associação na plataforma de mineração de dados WEKA são:
A priori - pode derivar todas as regras de associação que satisfaçam o suporte mínimo e o suporte mínimo.
carro: Se definido como verdadeiro, as regras de associação de classe serão extraídas em vez das regras de associação globais.
classindex: índice de atributos de classe. Se definido como -1, o último atributo será tratado como um atributo de classe.
delta: use este valor como unidade de decremento da iteração. O apoio é continuamente reduzido até que o apoio mínimo seja atingido ou sejam geradas regras que atendam aos requisitos quantitativos.
lowerBoundMinSupport: limite inferior de suporte mínimo.
metricType: tipo de métrica, define a base da métrica para regras de classificação. Pode ser: confiança (as regras de associação de classe só podem ser exploradas com confiança), elevação, alavancagem e convicção.
Várias medidas semelhantes à confiança são estabelecidas no Weka para medir o grau de associação de regras.
Lift: a relação entre confiança e suporte consequente elevação = Pr(L,R) / (Pr(L)Pr(R)) Quando Lift=1, significa que L e R são independentes. Quanto maior o número (>1), mais indica que a existência de L e B no mesmo carrinho de compras não é um fenômeno acidental e existe uma forte correlação.
Alavancagem, equilíbrio: Sob a suposição de que o antecedente e o consequente são estatisticamente independentes, a proporção de instâncias que excedem o valor esperado e são cobertas tanto pelo antecedente quanto pelo consequente. alavancagem = Pr(L,R) - Pr(L)Pr(R) Quando Alavancagem=0, L e R são independentes. Quanto maior a Alavancagem, mais próxima é a relação entre L e R.
Convicção, credibilidade: também utilizada para medir a independência do antecedente e do consequente. convicção = Pr(L)Pr(!R) / Pr(L,!R) (!R significa que R não ocorreu) A partir de sua relação com a sustentação (inverta R e encontre o recíproco após substituí-lo na fórmula de sustentação), podemos ver que quanto maior for esse valor, mais relevantes são L e R.
minMtric: Valor mínimo da métrica.
numRules: Número de regras a serem descobertas.
outputItemSets: se definido como verdadeiro, os conjuntos de itens serão exibidos no resultado.
removeAllMissingCols: remove todas as colunas com valores ausentes.
significânciaLevel: nível de importância. Teste de significância (apenas para confiança).
UpperBoundMinSupport: o limite superior do suporte mínimo. A partir deste valor diminui iterativamente o suporte mínimo.
detalhado: se definido como verdadeiro, o algoritmo é executado no modo detalhado.
PredictiveApriori - combina confiança e suporte na precisão da previsão para se tornar um método de medição de grau único e encontra regras de associação classificadas pela precisão da previsão.
Terius - procura regras baseadas no grau de confirmação Assim como Apriori, procura regras cujas conclusões contenham múltiplas condições, mas a diferença é que essas condições são 'ou' entre si em vez de 'e'.
Nenhum desses três algoritmos suporta dados numéricos.
Na verdade, a maioria dos algoritmos de regras de associação não suporta tipos numéricos. Portanto, os dados devem ser processados, divididos em segmentos e discretizados em bins.
Informações de operação do algoritmo de mineração de regras de associação
Selecionar atributosSelecionar atributos
A seleção de atributos consiste em pesquisar todas as combinações possíveis de todos os atributos no conjunto de dados para encontrar o conjunto de atributos com o melhor efeito de previsão.
Para atingir esse objetivo, devem ser definidos avaliadores de atributos e estratégias de busca.
O avaliador determina como atribuir um valor a um conjunto de atributos que representa quão bons ou ruins eles são.
A estratégia de pesquisa determina como a pesquisa é realizada.
Opções
Existem duas opções na coluna Modo de seleção de atributos.
Use o conjunto de treinamento completo Use todos os dados de treinamento para determinar a qualidade de um conjunto de atributos.
Validação cruzada A qualidade de um conjunto de atributos é determinada por meio de um processo de validação cruzada. Fold e Seed fornecem, respectivamente, o número de dobras da validação cruzada e a semente aleatória ao embaralhar os dados.
Assim como a seção Classificar, há uma caixa suspensa para especificar o atributo de classe.
Executar seleção
Clique no botão Iniciar para iniciar o processo de seleção de atributos. Quando for concluído, os resultados serão enviados para a área de resultados e uma entrada será adicionada à lista de resultados.
Clicar com o botão direito na lista de resultados lhe dará várias opções. Os três primeiros (Visualizar na janela principal, Visualizar em janela separada e Salvar buffer de resultados) são iguais aos do painel de classificação.
Você também pode visualizar conjuntos de dados reduzidos (Visualizar dados reduzidos)
Capacidade de visualizar conjuntos de dados transformados (Visualizar dados transformados)
Os dados reduzidos/transformados podem ser salvos usando a opção Salvar dados reduzidos... ou Salvar dados transformados....
Visualização de dadosVisualize
A página de visualização do WEKA pode navegar visualmente pelo relacionamento atual em um diagrama de dispersão bidimensional.
matriz do gráfico de dispersão
Quando o painel Visualizar é selecionado, uma matriz de gráfico de dispersão é fornecida para todos os atributos, que são coloridos de acordo com o atributo da classe selecionada.
Aqui você pode alterar o tamanho de cada gráfico de dispersão 2D, alterar o tamanho de cada ponto e alterar aleatoriamente os dados (fazendo aparecer pontos ocultos).
Você também pode alterar os atributos usados para colorir, selecionar apenas um subconjunto de um conjunto de atributos para colocar na matriz do gráfico de dispersão e também pode obter uma subamostra dos dados.
Observe que essas alterações só terão efeito após clicar no botão Atualizar.
Selecione gráficos de dispersão 2D individuais
Depois de clicar em um elemento da matriz do gráfico de dispersão, uma janela separada aparece para visualizar o gráfico de dispersão selecionado.
Os pontos de dados estão espalhados pela área principal da janela. Acima estão duas caixas suspensas para selecionar eixos de coordenadas para os pontos. À esquerda estão as propriedades usadas como eixo x; à direita estão as propriedades usadas como eixo y;
Ao lado do seletor do eixo x há uma caixa suspensa para selecionar um esquema de cores. Ele colore os pontos com base nos atributos selecionados.
Abaixo da área pontilhada, há uma legenda para explicar o valor que cada cor representa. Se os valores forem discretos, as cores podem ser modificadas clicando nelas na nova janela que aparece.
Existem algumas barras horizontais à direita da área pontilhada. Cada barra representa um atributo e os pontos nela representam a distribuição dos valores dos atributos. Esses pontos estão espalhados aleatoriamente na direção vertical, para que a densidade dos pontos possa ser vista.
Clique nessas barras para alterar os eixos usados no gráfico principal. Clique com o botão esquerdo para alterar as propriedades do eixo x; clique com o botão direito para alterar o eixo y. Os "X" e "Y" próximos à barra horizontal representam o atributo utilizado pelo eixo atual ("B" indica que é utilizado tanto para o eixo x quanto para o eixo y).
Acima da barra de propriedades há um cursor denominado Jitter. Ele pode mudar aleatoriamente a posição de cada ponto no gráfico de dispersão, ou seja, jitter. Arrastá-lo para a direita aumenta a amplitude do jitter, o que é útil para identificar a densidade dos pontos.
Se você não usar esse pontilhamento, dezenas de milhares de pontos juntos parecerão iguais a um único ponto.
Abaixo do botão de seleção do eixo y há um botão suspenso que determina o método de seleção de pontos de dados.
Os pontos de dados podem ser selecionados das quatro maneiras a seguir:
Selecione Instância. Clicar em cada ponto de dados abrirá uma janela listando seus valores de atributos. Se houver mais de um ponto clicado, mais conjuntos de valores de atributos também serão listados.
Retângulo. Crie um retângulo arrastando e selecionando pontos dentro dele.
Polígono Cria um polígono de forma livre e seleciona seus pontos. Clique com o botão esquerdo para adicionar os vértices do polígono e clique com o botão direito para concluir as configurações do vértice. Os pontos inicial e final são conectados automaticamente para que o polígono esteja sempre fechado.
Polilinha Você pode criar uma polilinha para separar os pontos em ambos os lados dela. Clique com o botão esquerdo para adicionar vértices de polilinha e clique com o botão direito para finalizar a configuração. As polilinhas são sempre abertas (ao contrário dos polígonos fechados).
Quando você seleciona uma área de um gráfico de dispersão usando um retângulo, polígono ou polilinha, a área ficará cinza.
Clicar no botão Enviar neste momento removerá todas as instâncias que estiverem fora da área cinza.
Clicar no botão Limpar limpará a área selecionada sem qualquer impacto nos gráficos. Se todos os pontos forem removidos do gráfico, o botão Enviar muda para um botão Redefinir. Este botão pode cancelar todas as remoções anteriores e retornar o gráfico ao estado inicial onde estão todos os pontos.
Por fim, clique no botão Salvar para salvar a instância atualmente visível em um novo arquivo ARFF.
Interface de fluxo de conhecimento KnowledgeFlow
KnowledgeFlow fornece ao Weka uma interface gráfica de "fluxo de conhecimento".
Os usuários podem selecionar componentes em uma barra de ferramentas, colocá-los no painel e conectá-los em uma determinada ordem para formar um “fluxo de conhecimento” para processar e analisar dados.
Por exemplo: “Fonte de dados” -> “Filtro” -> “Classificação” -> “Avaliação”
Classificadores, filtros, clusterers, carregadores, salvadores Weka e algumas outras funções podem ser usados no KnowledgeFlow.
O layout do Fluxo de Conhecimento pode ser salvo e recarregado.
Componentes disponíveis do KnowledgeFlow
Existem oito guias na parte superior da janela KnowledgeFlow:
DataSources - carregador de dados
DataSinks – economizador de dados
Filtros--filtros
Classificadores - Classificadores
Clusterers - clusters
Associações—Associadores
Avaliação—avaliador
TrainingSetMaker – Transforme um conjunto de dados em um conjunto de treinamento
TestSetMaker - Transforme um conjunto de dados em um conjunto de teste
CrossValidationFoldMaker - divide qualquer conjunto de dados, conjunto de treinamento ou conjunto de teste em várias dobras para validação cruzada
TrainTestSplitMaker - Divida qualquer conjunto de dados, conjunto de treinamento ou conjunto de teste em um conjunto de treinamento e um conjunto de teste
ClassAssigner - Use uma coluna como atributo de classe de qualquer conjunto de dados, conjunto de treinamento ou conjunto de teste
ClassValuePicker--Selecione uma determinada categoria como uma classe "positiva". Isto pode ser útil ao gerar dados para curvas de forma ROC
ClassifierPerformanceEvaluator --Avalie o desempenho de um classificador treinado ou testado em modo lote
IncrementalClassi¯erEvaluator - Avalia o desempenho de classificadores treinados em modo incremental
ClustererPerformanceEvaluator – avalia o desempenho de clusterers treinados ou testados em modo lote
PredictionAppender – adiciona o valor de previsão do classificador ao conjunto de testes. Para problemas de classificação discreta, você pode adicionar sinalizadores de classe previstos ou distribuições de probabilidade
Visualização—visualização
DataVisualizer - Este componente exibe um painel que permite que os dados sejam visualizados em um gráfico de dispersão maior e separado.
ScatterPlotMatrix - Este componente pode exibir um painel com uma matriz composta por alguns pequenos gráficos de dispersão (clicar em cada pequeno gráfico de dispersão exibirá um grande gráfico de dispersão)
AttributeSummarizer --Este componente exibe um painel com uma matriz de histogramas. Cada histograma corresponde a um atributo nos dados de entrada.
ModelPerformanceChart --Este componente pode abrir um painel para visualizar curvas de limite (como curvas ROC)
TextViewer--Este componente é usado para exibir dados de texto e pode ser usado para exibir conjuntos de dados e estatísticas para medir o desempenho da classificação, etc.
GraphViewer - Este componente pode abrir um painel para visualizar modelos baseados em árvore
StripChart - Este componente pode abrir um painel que exibe um gráfico de dispersão de dados contínuos (usado para observar instantaneamente o desempenho do classificador incremental)