Árvore de Decisão Weka | Crie uma árvore de decisão com Weka

Compartilhar no Facebook
Compartilhar no Twitter
Compartilhar no LinkedIn
Compartilhar no telegrama
Compartilhar no Whatsapp

Conteúdo

  • Aprenda a construir um modelo de árvore de decisão com Weka
  • Este tutorial é perfeito para iniciantes em aprendizado de máquina e árvores de decisão, e para aquelas pessoas que não se sentem confortáveis ​​com a codificação.

Introdução

“Quanto maior o obstáculo, mais glória é obtida ao superá-la”.

– Moliere

O aprendizado de máquina pode ser intimidante para pessoas que não são técnicas. Todos os jobs de aprendizado de máquina parecem exigir uma compreensão saudável de Python (o R).

Então, Como os não programadores obtêm experiência em codificação? Não é um jogo de criança!

interpretable_machine_learning-7519646

Esta é a boa notícia: existem muitas ferramentas que nos permitem realizar tarefas de aprendizado de máquina sem ter que codificar. Você pode criar algoritmos facilmente como árvores de decisão do zero em uma bela interface gráfica. Não é esse o sonho? Essas ferramentas, como Put, eles nos ajudam principalmente a lidar com duas coisas:

  • Crie rapidamente um modelo de aprendizado de máquina, como uma árvore de decisão, e entender como o algoritmo está realizando. Isso pode ser modificado posteriormente e com base em
  • Isso é ideal para mostrar ao cliente / sua equipe de liderança com que você está trabalhando

Este artigo mostrará como resolver problemas de classificação e regressão usando árvores de decisão no Weka sem nenhum conhecimento prévio de programação!!

Mas se você é apaixonado por sujar as mãos com programação e aprendizado de máquina, Eu sugiro que você faça os seguintes cursos maravilhosamente selecionados:

Tabela de conteúdo

  • Classificação vs. Regressão em Aprendizado de Máquina
  • Compreendendo as árvores de decisão
  • Explorando o conjunto de dados em Weka
  • Classificação usando a árvore de decisão em Weka
  • Parâmetros da árvore de decisão em Weka
  • Visualizando uma árvore de decisão em Weka
  • Regressão usando a árvore de decisão em Weka

Classificação vs. Regressão em Aprendizado de Máquina

Deixe-me primeiro resumir rapidamente o que classificação e regressão estão no contexto de aprendizado de máquina. É importante conhecer esses conceitos antes de mergulhar nas árvores de decisão.

UMA classificação problema trata-se de ensinar ao seu modelo de aprendizado de máquina como categorizar um valor de dados em uma das muitas classes. Ele faz isso aprendendo as características de cada tipo de aula. Por exemplo, para prever se uma imagem é de um gato ou de um cachorro, o modelo aprende as características do cão e do gato nos dados de treinamento.

UMA regressão problema trata-se de ensinar seu modelo de aprendizado de máquina a prever o valor futuro de uma quantidade contínua. Ele faz isso aprendendo o padrão da quantidade no passado afetada por diferentes variáveis.. Por exemplo, um modelo que tenta prever o preço futuro das ações de uma empresa é um problema de regressão.

Você pode encontrar esses dois problemas em abundância em nosso Plataforma DataHack.

Agora, vamos aprender sobre um algoritmo que resolve os dois problemas: Árvores de decisão!

Compreendendo as árvores de decisão

Árvores de decisão eles também são conhecidos como Árvores de classificação e regressão (CARRINHO). Eles funcionam aprendendo respostas a uma hierarquia de perguntas se / se não, isso levaria a uma decisão. Essas questões formam uma estrutura semelhante a uma árvore, e daí o nome.

Por exemplo, digamos que queremos prever se uma pessoa pedirá comida ou não. Podemos visualizar a seguinte árvore de decisão para este:

árvore de decisão-9507729

Cada nó da árvore representa uma questão derivada das características presentes em seu conjunto de dados.. Seu conjunto de dados é dividido com base nessas perguntas até que a profundidade máxima da árvore seja atingida.. O último nó não faz uma pergunta, representa a qual classe o valor pertence.

  • O nó superior da árvore de decisão é chamado Rnodo oot
  • O nó mais baixo é chamado eueaf
  • Um nó dividido em subnós é chamado Nó pai. Os subnós são chamados Nós secundários

Se você quiser entender as árvores de decisão em detalhes, Eu sugiro que você verifique os seguintes recursos:

O que é Weka? Por que você deve usar o Weka para aprendizado de máquina?

“Por é um software de código aberto gratuito com uma variedade de algoritmos de aprendizado de máquina integrados que você pode acessar por meio de uma interface gráfica de usuário. “

WEKA Representa Ambiente Waikato para Análise de Conhecimento e foi desenvolvido na Universidade de Waikato, Nova Zelândia.

Weka tem várias funções integradas para implementar uma ampla gama de algoritmos de aprendizado de máquina, da regressão linear à rede neural. Isso permite que você implemente os algoritmos mais complexos em seu conjunto de dados com o clique de um botão!! Não apenas isso, Weka fornece suporte para acessar alguns dos algoritmos mais comuns de biblioteca de aprendizado de máquina Python e R!

Com Weka você pode pré-processar os dados, classifique-os, agrupe-os e até mesmo veja-os. Isso pode ser feito em diferentes formatos de arquivo de dados como ARFF, CSV, C4.5 e JSON. O Weka permite até mesmo adicionar filtros ao seu conjunto de dados, por meio dos quais você pode normalizar seus dados., padronizá-los, funções de troca entre valores nominais e numéricos, e muito mais!

Eu poderia continuar sobre a maravilha que é Weka, mas para o escopo deste artigo, vamos tentar explorar Weka de uma maneira prática, criando uma árvore de decisão. Agora vá em frente e baixe o Weka de seu website oficial!

weka-logo-3580378

Explorando o conjunto de dados em Weka

Vou pegar o conjunto de dados de câncer de mama de Repositório de aprendizado de máquina UCI. Recomendo que você leia sobre o problema antes de prosseguir..

dt1-9517445

Vamos primeiro carregar o conjunto de dados no Weka. Fazer isso, Siga os passos abaixo:

  1. Abra a GUI do Weka
  2. Selecione os “Explorador” opção.
  3. Por favor selecione “Abrir documento” e escolha seu conjunto de dados.

Sua janela Weka agora deve ter esta aparência:

classificação_1-1266739

Você pode ver todas as funções em seu conjunto de dados no lado esquerdo. Weka cria automaticamente gráficos para seus recursos que você notará enquanto navega por seus recursos.

Você pode até ver todos os pacotes juntos se clicar no “Ver tudo” botão.

classificação_2-6224045

Agora vamos treinar nosso modelo de classificação!

Classificação usando Árvore de decisão em Weka

Implementar uma árvore de decisão em Weka é bastante simples. Basta completar as seguintes etapas:

  1. Clique no “Separar” guia no topo
  2. Clique no “Escolher” botão
  3. Na lista suspensa, selecionar “arvores” que irá abrir todos os algoritmos na árvore
  4. Finalmente, selecionar a “RepTree” árvore de decisão

”Reduzido erro de poda de árvore (RepTree) é um aprendiz de árvore de decisão rápido que constrói uma árvore de decisão / regressão usando ganho de informação como um critério de divisão e podado usando um algoritmo de poda de erro reduzido “.

Você pode ler sobre a técnica de poda reduzida de bug neste trabalho de investigação.

dt4-3180037

“A árvore de decisão divide os nós em todas as variáveis ​​disponíveis e, em seguida, seleciona a divisão que resulta nos subnós mais homogêneos”.

O ganho de informação é usado para calcular a homogeneidade da amostra em uma divisão.

Você pode selecionar sua função de destino no menu suspenso logo acima do “Começar” botão. Se você não, O WEKA seleciona automaticamente a última função como alvo para você.

a “Divisão percentual” especifica a quantidade de dados que você deseja manter para treinar o classificador. O restante dos dados é usado durante a fase de teste para calcular a precisão do modelo..

Com “Dobramento de validação cruzada” pode criar várias amostras (ou dobras) do conjunto de dados de treinamento. Se você decidir criar N dobras, o modelo é executado iterativamente N vezes. E toda vez que uma das dobras é mantida para validação, enquanto as dobras N-1 restantes são usadas para treinar o modelo. O resultado de todas as dobras é calculado para obter o resultado da validação cruzada.

Quanto maior o número de dobras de validação cruzada que você usa, melhor será o seu modelo. Isso faz com que o modelo seja treinado em dados selecionados aleatoriamente, o que o torna mais robusto.

Finalmente, aperte o “Começar” Botão para o classificador fazer sua mágica!!

classificação_3-3413977

Nosso classificador tem uma precisão de 92,4%. Weka até imprime o Matriz de confusão para você, o que oferece diferentes métricas. Você pode estudar a matriz de confusão e outras métricas em detalhes aqui.

Parâmetros da árvore de decisão em Weka

Árvores de decisão têm muitos parâmetros. Podemos ajustá-los para melhorar o desempenho geral do nosso modelo. É aqui que o conhecimento prático das árvores de decisão realmente desempenha um papel crucial..

Você pode acessar esses parâmetros clicando em seu algoritmo de árvore de decisão no topo:

classificação_4-7543783

Vamos falar brevemente sobre os principais parâmetros:

  • Profundidade máxima Em– Determine a profundidade máxima de sua árvore de decisão. Por padrão, isto é -1, o que significa que o algoritmo controlará automaticamente a profundidade. Mas você pode modificar manualmente esse valor para obter os melhores resultados em seus dados.
  • não conseguia – A poda significa reduzir automaticamente um nó folha que não contém muitas informações. Isso torna a árvore de decisão simples e fácil de interpretar..
  • numFolds – O número especificado de dobras de dados será usado para podar a árvore de decisão. O resto será usado para desenvolver as regras.
  • minNum – Número mínimo de instâncias por folha. Se não for mencionado, a árvore continuará se dividindo até que todos os nós folha tenham apenas uma classe associada.

Você sempre pode experimentar diferentes valores para esses parâmetros para obter a melhor precisão em seu conjunto de dados..

Visualizando sua árvore de decisão em Weka

O Weka permite até mesmo visualizar facilmente a árvore de decisão construída em seu conjunto de dados.:

  1. Vou ao “Lista de resultados” seção e clique com o botão direito em seu algoritmo treinado
  2. Escolha o “Ver árvore” opção

classificação_7-6047348

Sua árvore de decisão será semelhante a abaixo:

classificação_6-4660370

Interpretar esses valores pode ser um pouco intimidante, mas é realmente muito fácil quando você pega o jeito.

  • Os valores das linhas que unem os nós representam os critérios de divisão baseados nos valores da função do nó principal.
  • No nó folha:
    • O valor antes dos parênteses denota o valor da classificação.
    • O primeiro valor nos primeiros parênteses é o número total de instâncias do conjunto de treinamento naquela planilha. O segundo valor é o número de instâncias classificadas incorretamente nessa planilha.
    • O primeiro valor nos segundos parênteses é o número total de instâncias do conjunto de poda nessa folha. O segundo valor é o número de instâncias classificadas incorretamente nessa planilha.

Regressão usando a árvore de decisão em Weka

Como eu disse antes, árvores de decisão são tão versáteis que podem funcionar em problemas de classificação e regressão. Para isto, Vou usar o “Preveja o número de votos a favor“Problema de Plataforma DataHack de DataPeaker.

Aqui, precisamos prever a classificação de uma pergunta feita por um usuário em uma plataforma de perguntas e respostas.

Como de costume, vamos começar carregando o arquivo de dados. Mas esta vez, os dados também contêm um “EU IRIA” coluna para cada usuário no conjunto de dados. Isso não seria útil na previsão. Então, vamos deletar esta coluna selecionando o “Retirar” opção abaixo dos nomes das colunas:

dt9-6919311

Podemos fazer previsões sobre o conjunto de dados como fizemos para o Problema de câncer de mama. RepTree irá detectar automaticamente o problema de regressão:

dt10-7672339

A métrica de avaliação fornecida no hackathon é a pontuação RMSE. Podemos ver que o modelo tem um RMSE muito pobre, sem qualquer engenharia de recursos. É aqui que entra: à frente, experimente e melhore o modelo final!

Notas finais

E assim, Você criou um modelo de árvore de decisão sem ter que fazer nenhuma programação! Isso será de grande ajuda em sua busca para dominar como funcionam os modelos de aprendizado de máquina..

Se você quiser aprender e explorar a parte de programação do aprendizado de máquina, Eu sugiro que você siga estes cursos maravilhosamente selecionados no Vidhya Analytics site web:

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.