Árvores de decisão em aprendizado de máquina: funções, classificação, prós e contras

Publicados: 2020-05-14

Cada pessoa tem que tomar decisões em suas vidas. Essas decisões dependem da situação. Tomar a decisão certa ajuda a enfrentar uma situação da melhor maneira, resolvendo o problema da maneira mais direta. Na infância, a maioria de suas decisões girava em torno do que você come e coisas relacionadas à sua escola.

À medida que você cresce, suas decisões começam a ter uma implicação mais séria não apenas na sua vida, mas também na dos outros. Em algum momento de sua vida, você tomará decisões sobre sua carreira ou negócio. Essa analogia é para apresentar o conceito de árvore de decisão no aprendizado de máquina.

Índice

O que é uma árvore de decisão?

Para começar, deixe-nos dizer que uma árvore de decisão é um modelo ou ferramenta preditiva que suporta decisões. É conhecido por fornecer inferências precisas usando designs, modelos de design ou representações que seguem uma estrutura semelhante a uma árvore. O objetivo principal desse modelo ou modelo de aprendizado de máquina é considerar certos atributos de um destino e, em seguida, tomar decisões com base nesses atributos.

A maioria das decisões em uma árvore de decisão segue instruções condicionais – if e else. Para que um modelo de árvore de decisão seja melhor que outros, ele terá uma estrutura mais profunda e regras mais complexas que o governarão. É um dos modelos de aprendizado supervisionado mais preferidos em aprendizado de máquina e é usado em várias áreas. Pode parecer um fluxograma projetado tendo em mente técnicas algorítmicas para garantir que a divisão seja feita de acordo com as condições.

A estrutura deste fluxograma é bastante simples. Possui um nó raiz que serve como base da construção do modelo. Então, alguns nós internos e ramificações mostram recursos ou testes e resultados de testes, respectivamente. O nó folha representa um grupo com valores semelhantes aos valores alcançados quando são tomadas decisões sobre o atributo relacionado.

As árvores de decisão são usadas principalmente em problemas de classificação e regressão. Eles são usados ​​para criar modelos preditivos automatizados que atendem a mais do que alguns aplicativos não apenas em aplicativos de algoritmo de aprendizado de máquina, mas também em estatística, ciência de dados e mineração de dados, entre outras áreas. Essas estruturas baseadas em árvore fornecem alguns dos modelos preditivos mais precisos que são facilmente interpretáveis ​​e mais estáveis ​​do que a maioria dos outros modelos preditivos.

Ao contrário dos modelos lineares que são bons apenas para um certo número de problemas, os modelos baseados em árvores de decisão também podem ser usados ​​no mapeamento de relacionamentos não lineares. Não é de admirar que as árvores de decisão sejam tão populares. Uma razão muito importante para isso é a facilidade de entender o modelo de árvore de decisão final. Ele pode descrever com bastante clareza o que tudo estava por trás de uma previsão. Eles também são a base dos métodos colaborativos ou conjuntos mais avançados, incluindo aumento de gradiente, ensacamento e florestas aleatórias, entre outros.

Como você define uma árvore de decisão?

Agora que desenvolvemos uma compreensão básica do conceito, vamos defini-lo para você. Uma árvore de decisão é um algoritmo de aprendizado de máquina supervisionado que pode ser usado para resolver problemas baseados em classificação e baseados em regressão. Vamos ver como ele é usado para classificação.

Vamos supor que há um conjunto de dados no qual estamos trabalhando no momento. Criamos um plano 2D que pode ser dividido em diferentes áreas, de modo que os pontos em cada área sejam designados para a mesma classe. As divisões ou divisões são indicadas por um caractere único. Esta é uma árvore binária na qual estamos trabalhando aqui.

Agora, existem coisas diferentes dessa árvore de decisão que não têm uma representação prévia, mas são criadas usando os dados de treinamento fornecidos a nós. Essas coisas incluem o número de nós que essa árvore terá, seu posicionamento de borda e sua estrutura. Não vamos criar a árvore do zero aqui. Só estaremos avançando, considerando que nossa árvore já está lá.

Agora, como podemos classificar novos pontos de entrada? Nós apenas temos que descer da árvore para fazê-lo. Durante a travessia, continuaremos fazendo uma pergunta sobre o ponto de dados ao alcançar cada nó. Por exemplo, quando fazemos essa pergunta no nó raiz, a resposta nos permite ramificar para a direita ou para a esquerda. A regra geral é se a pergunta feita for verdadeira para a condição colocada na condição for atendida, temos que desviar para a esquerda. Se não for verdade, temos que ramificar para a direita. Se nossa condição nos levar a um nó esquerdo, saberemos a que classe um ponto de entrada deve ser atribuído.

Quando se trata de como uma árvore de decisão é demonstrada, há algumas coisas que nunca devem ser esquecidas. Não há regra ou necessidade que diga que devemos alternar entre as duas coordenadas de uma árvore de decisão enquanto a percorremos. Podemos optar por usar apenas um único recurso ou dimensão. Precisamos ter em mente que as árvores de decisão podem ser usadas com um conjunto de dados de qualquer dimensão. Tomamos dados 2D em nosso exemplo, mas isso não significa que as árvores de decisão sejam apenas para conjuntos de dados bidimensionais.

Checkout: Tipos de Árvore Binária

Você já participou de um concurso de Vinte Perguntas? É bastante semelhante a como as árvores de decisão funcionam. Vamos descobrir como? O objetivo final do jogo Twenty Questions é descobrir o objeto em que a pessoa que responde as perguntas está pensando enquanto responde às perguntas. As perguntas só podem ser respondidas com sim ou não.

À medida que avança no jogo, você saberá pelas respostas anteriores quais perguntas específicas fazer para obter a resposta certa antes que o jogo termine. Uma árvore de decisão é sua série de perguntas que o ajudam a obter a resposta final, orientando-o a fazer perguntas mais relevantes.

Você se lembra de como é direcionado para a pessoa com quem deseja falar em uma empresa por correio de voz? Você primeiro fala com o assistente computadorizado e, em seguida, pressiona uma série de botões em seus telefones e insere alguns detalhes sobre sua conta antes de alcançar a pessoa com quem deseja falar em primeiro lugar. Esta pode ser uma experiência problemática para você, mas é assim que a maioria das empresas usa árvores de decisão para ajudar seus clientes a chegar ao departamento certo ou conversar com a pessoa certa. Leia também 6 tipos de aprendizado supervisionado que você deve conhecer.

Como funciona uma árvore de decisão?

Pensando em como criar uma árvore de decisão perfeita? Como mencionamos anteriormente, as árvores de decisão são uma classe de algoritmos usados ​​para resolver problemas de aprendizado de máquina que pertencem aos tipos de classificação e regressão. Pode ser usado tanto para variáveis ​​categóricas quanto para variáveis ​​contínuas.

Esse algoritmo tem uma maneira simples de avançar – ele particiona o conjunto de dados ou dados de amostra em diferentes conjuntos de dados, com cada conjunto de dados agrupado compartilhando os mesmos atributos. As árvores de decisão empregam vários algoritmos para diferentes propósitos – identificar a divisão, as variáveis ​​mais importantes e o melhor valor de resultado que pode produzir mais subdivisões.

Normalmente, o fluxo de trabalho de uma árvore de decisão envolve a divisão de dados em conjunto de dados de treinamento e teste, aplicação de algoritmos e avaliação do desempenho do modelo. Vamos entender como funciona com um exemplo bem simples. Suponha que queremos verificar se uma pessoa está certa para um emprego ou não. Esta será a raiz da árvore.

Agora passamos para os recursos ou atributos da árvore, que constituirão os nós internos. Com base nesses atributos, decisões serão tomadas – a formação dos ramos da árvore. Vamos fazer outra suposição aqui. O parâmetro para uma pessoa considerada certa para o trabalho é sua experiência de 5 ou mais anos. A primeira divisão ocorrerá neste parâmetro que acabamos de definir.

Precisamos de mais conjuntos de parâmetros para mais divisões. Esses parâmetros podem ser sobre eles pertencerem a uma determinada faixa etária ou não, possuir um determinado grau ou não, e assim por diante. Os resultados são representados pelas folhas da árvore, além das raízes e galhos. As folhas nunca se dividem e retratam as decisões. Esta árvore irá ajudá-lo a decidir se um candidato é adequado para o trabalho ou não.

Como já mencionado, uma árvore de decisão tem sua própria representação peculiar que lhe permite resolver um problema para nós. Ele tem raízes, nós internos, galhos e folhas, cada um servindo a um propósito específico ou fazendo um trabalho específico. Estes passos irão ajudá-lo a fazer a representação em árvore:

  1. A raiz da árvore apresenta a versão otimizada do melhor atributo
  2. Divida os dados de amostra em subconjuntos usando atributos apropriados. Certifique-se de que os novos subconjuntos ou grupos de dados não carreguem valores diferentes para o mesmo atributo
  3. Repita as duas etapas acima até que você tenha as folhas para cada galho em sua árvore de decisão

Classificação ou árvore de regressão (CART)

Tomemos um exemplo. Imagine que recebemos a tarefa de classificar candidatos a emprego com base em alguns atributos pré-definidos para garantir que apenas os candidatos merecedores sejam selecionados no final do processo. A decisão de selecionar um candidato dependeria de um evento em tempo real ou possível. Tudo o que precisamos é de uma árvore de decisão para encontrar os critérios corretos de classificação. Os resultados dependeriam de como a classificação é feita.

A classificação, como todos sabemos, contém duas etapas. A primeira etapa envolve a construção de um modelo aleatório no conjunto de dados de amostra. A segunda etapa envolve a previsão – o modelo treinado na primeira etapa é implementado para fazer uma previsão sobre a resposta para dados fornecidos.

Agora, existem certas situações em que a variável de destino é um número real, ou as decisões são tomadas em dados contínuos. Você pode ser solicitado a fazer uma previsão sobre o preço de um item com base no custo da mão de obra. Ou você pode ser solicitado a decidir o salário de um candidato com base em seu salário anterior, conjunto de habilidades, experiência e outras informações relevantes.

O valor do valor alvo nessas situações será algum valor real ou valor associado a um conjunto de dados contínuo. Usaremos a versão de regressão de uma árvore de decisão para resolver esses problemas. Essa árvore considerará as observações feitas nas características de um objeto e treinará o modelo para fazer previsões e fornecer uma saída contínua que faça sentido absoluto.

Vamos agora falar sobre algumas semelhanças e diferenças entre as árvores de decisão de classificação e regressão. As árvores de decisão são usadas como modelos de classificação em situações em que as variáveis ​​de destino são de natureza categórica. O valor que o conjunto de dados de treinamento obtém no ponto culminante de um nó terminal é igual ao valor recebido quando tomamos uma moda das observações para essa seção específica. Caso alguma nova observação seja adicionada a essa seção da árvore, vamos substituí-la pelo valor da moda e, em seguida, fazer a previsão.

Por outro lado, as árvores de decisão são usadas como modelos de regressão quando as variáveis ​​de destino fazem parte de um conjunto de dados contínuo. O valor recebido no mesmo ponto que discutimos para árvores de classificação é o valor médio das observações nessa seção quando se trata de árvores de regressão.

Existem algumas semelhanças também. Ambos os modelos de árvore de decisão usam uma abordagem binária recursiva e dividem variáveis ​​independentes em regiões que não se sobrepõem e são definidas. Em ambas as árvores, a divisão começa no topo da árvore e as observações ficam em uma região. Essas observações dividem as variáveis ​​em dois ramos. Essa divisão é um processo contínuo que dá lugar a uma árvore totalmente crescida.

Leia: Ideias de projetos de aprendizado de máquina

Como aprender um modelo CART?

Existem algumas coisas importantes que você deve fazer para criar um modelo CART. Isso inclui a escolha de variáveis ​​de entrada, bem como pontos de divisão de forma que a árvore seja construída adequadamente. O algoritmo guloso que reduz a função de custo é usado para escolher as variáveis ​​de entrada, bem como os pontos de divisão.

A constrição da árvore é terminada com a ajuda do critério de parada, que é definido antecipadamente. O critério de parada pode mencionar qualquer coisa, como quantas instâncias de treinamento são atribuídas aos nós folha da árvore.

1. Algoritmo ganancioso : O espaço de entrada deve ser dividido corretamente para construir uma árvore binária. A divisão binária recursiva é o algoritmo guloso usado para esse propósito. É um método numérico que envolve o alinhamento de diferentes valores. Uma função de custo é então usada para testar vários pontos de divisão. O ponto de divisão com o custo mínimo é escolhido. Este método é usado para avaliar todos os pontos de divisão, bem como variáveis ​​de entrada.

2. Poda de árvore : O critério de parada melhora o desempenho de sua árvore de decisão. Para torná-lo ainda melhor, você pode tentar podar a árvore depois de aprender. O número de divisões que uma árvore de decisão tem diz muito sobre o quão complexa ela é. Todo mundo prefere árvores que são mais simples do que outras. Eles não superajustam os dados e são facilmente decifráveis.

A melhor maneira de podar uma árvore é examinar cada nó folha e descobrir como removê-lo afetará a árvore. A remoção dos nós folha ocorre quando esta ação garante uma queda na função de custo. Quando você acha que não há como melhorar ainda mais o desempenho, pode interromper esse processo de remoção. Os métodos de poda que você pode usar incluem

3. Critério de parada : O método de divisão ganancioso mencionado anteriormente tem que ter um comando ou condição de parada para saber quando parar. Um critério comum é tomar o número de instâncias que cada nó folha foi atribuído. Se esse número for atingido, a divisão não acontecerá, e esse nó será considerado o último.

Por exemplo, digamos que o critério de parada predefinido seja mencionado como cinco instâncias. Esse número também diz muito sobre a exatidão da árvore de acordo com os dados de treinamento. Se for muito preciso ou exato, resultará em overfitting, o que significa baixo desempenho.

Como evitar o overfitting em uma árvore de decisão?

A maioria das árvores de decisão está exposta a overfitting. Podemos construir uma árvore de decisão que seja capaz de classificar os dados de maneira ideal, ou podemos ter uma situação em que não temos nenhum atributo para a divisão. Isso não funcionará muito bem com o conjunto de dados de teste; no entanto, seria adequado ao conjunto de dados de treinamento. Você pode seguir qualquer uma das duas abordagens que vamos mencionar para evitar essa situação.

Você pode podar a árvore se ela for muito grande ou interromper seu crescimento antes que ela atinja esse estado de superajuste. Na maioria dos casos, há um limite definido para controlar o crescimento da árvore que menciona a profundidade, número de camadas e outras coisas que ela pode ter. O conjunto de dados no qual a árvore precisa ser treinada será dividido em um conjunto de dados de teste e um conjunto de dados de treinamento. Ambos os conjuntos de dados terão profundidades máximas com base no conjunto de dados de treinamento e serão testados em relação ao conjunto de dados de teste. Você também pode usar a validação cruzada junto com essa abordagem.

Ao optar por remover a árvore, você testa as edições removidas da árvore em relação à versão original. Se a árvore podada for melhor do que sua versão quando se trata de testar o conjunto de dados de teste, as folhas não estarão disponíveis para a árvore enquanto essa situação persistir.

Saiba mais sobre: ​​Árvore de Decisão em R

Vantagens da abordagem de árvores de decisão

  1. Pode ser usado com dados contínuos e categóricos.
  2. Ele pode fornecer várias saídas
  3. Ele pode interpretar resultados precisos e você pode quantificar e confiar na confiabilidade das árvores
  4. Com esse método, você pode explorar dados, encontrar variáveis ​​importantes e encontrar relacionamentos entre diferentes variáveis ​​para fortalecer variáveis ​​de destino e criar novos recursos em muito menos tempo.
  5. É fácil de entender e explicar aos outros
  6. É útil na limpeza de dados. Em comparação com outros métodos, não leva muito tempo, pois não há impacto de valores ausentes e valores discrepantes após um certo ponto
  7. A eficiência e o desempenho das árvores de decisão não são afetados por relações não lineares entre os recursos
  8. Não leva muito tempo para preparar os dados, pois não precisa de substituição de valor ausente, normalização de dados e muito mais.
  9. É uma abordagem não paramétrica. Não tem nada a ver com o design e a disposição do espaço dos classificadores

Desvantagens das árvores de decisão

  1. Alguns usuários podem construir árvores de decisão muito complexas, mesmo para seu próprio gosto. Essas árvores não generalizam os dados como as árvores mais simples fazem.
  2. Árvores enviesadas são frequentemente criadas devido à dominação de certas classes. É por isso que é muito importante balancear os dados da amostra antes de usá-la
  3. Às vezes, essas árvores não são muito estáveis. As variações de dados podem resultar na criação de uma árvore que não se encaixa no projeto. Essa anomalia é chamada de variância. Isso pode ser tratado usando boosting e bagging.
  4. Você não pode esperar obter a melhor árvore de decisão com algoritmos gananciosos. Para acabar com esse problema, você pode treinar várias árvores.

Conclusão

Este blog discute todas as coisas importantes que um aluno precisa saber sobre árvores de decisão. Depois de ler este blog, você terá uma melhor compreensão do conceito e estará em melhor posição para implementá-lo na vida real.

Se você estiver interessado em aprender mais sobre aprendizado de máquina e IA, confira o Diploma PG do IIIT-B e upGrad em aprendizado de máquina e IA, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições, Status de ex-aluno do IIIT-B, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.

Para que serve o algoritmo da árvore de decisão?

Parte da família de algoritmos de aprendizado supervisionado, as árvores de decisão são um dos algoritmos de classificação mais utilizados. É muito fácil de entender e interpretar, o que explica sua popularidade. Árvores de decisão podem ser empregadas para desenvolver modelos de treinamento que podem prever valores de variáveis ​​de destino com base em instruções de decisão simples derivadas de dados históricos de treinamento. A melhor coisa sobre o algoritmo de árvores de decisão é que ele pode ser usado eficientemente para resolver problemas de classificação e regressão, aos quais outros algoritmos de aprendizado supervisionado não podem ser aplicados. Diferentes tipos de árvores de decisão podem ser usados ​​com base no tipo de variável de destino.

Parte da família de algoritmos de aprendizado supervisionado, as árvores de decisão são um dos algoritmos de classificação mais utilizados. É muito fácil de entender e interpretar, o que explica sua popularidade. Árvores de decisão podem ser empregadas para desenvolver modelos de treinamento que podem prever valores de variáveis ​​de destino com base em instruções de decisão simples derivadas de dados históricos de treinamento. A melhor coisa sobre o algoritmo de árvores de decisão é que ele pode ser usado eficientemente para resolver problemas de classificação e regressão, aos quais outros algoritmos de aprendizado supervisionado não podem ser aplicados. Diferentes tipos de árvores de decisão podem ser usados ​​com base no tipo de variável de destino.

Na IA, o algoritmo de árvores de decisão vem com uma ampla gama de aplicações. Algumas das aplicações mais interessantes das árvores de decisão incluem a avaliação de potenciais oportunidades de crescimento para empresas com base em dados históricos. Para isso, os dados históricos de vendas podem ajudar as árvores de decisão a indicar possíveis rotas para maior expansão e crescimento dos negócios. As árvores de decisão também podem ser usadas para encontrar clientes em potencial usando informações demográficas. Além disso, as instituições financeiras também podem aplicar árvores de decisão para criar modelos preditivos para avaliar a solvência de clientes e inadimplentes em empréstimos.

Que outros algoritmos são usados ​​em Inteligência Artificial?

Algoritmos usados ​​em Inteligência Artificial podem ser amplamente categorizados em três partes – Algoritmos de Regressão, Algoritmos de Classificação e Algoritmos de Clustering. Os algoritmos de classificação são usados ​​para classificar conjuntos de dados de uma maneira particular. Os algoritmos de agrupamento são aplicados a conjuntos inteiros de dados para encontrar diferenças e semelhanças entre pontos de dados específicos. Ele pode ser usado para apontar pessoas da mesma idade entre um grande grupo de clientes. Os algoritmos de regressão são úteis na previsão de resultados futuros, dependendo dos dados de entrada. Por exemplo, algoritmos de regressão podem ser usados ​​para projetar modelos para prever o clima.