• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Dados
    3. Árvores de decisão: modelos de classificação e regressão

    Árvores de decisão: modelos de classificação e regressão

    16 min16 minutos de leitura

    16 min16 minutos de leitura

    Publicado: 22/10/2024

    1. O que são Árvores de Decisão
    2. O que é Classificação
    3. O que é Regressão?
    4. Qual é a diferença entre Classificação e Regressão?
    5. Árvore de Decisão para classificação
    6. Árvore de Decisão para regressão
    7. Conclusão
    8. Créditos

    Quando falamos em "árvores", a primeira coisa que vem à mente da maioria das pessoas é um organismo vivo, com raízes, tronco e galhos que se estendem em várias direções.

    No entanto, quando estamos no campo da Data Science, logo nos lembramos das Árvores de Decisão.

    As Árvores de decisão são cada vez mais utilizadas para tomadas de decisões e auxílio para diferentes tipos de empresa e modelos de negócio e dominar esse tema te capacita a se tornar um profissional mais completo e atualizado sobre as principais ferramentas disponíveis no mercado.

    Sendo assim, neste artigo, você vai aprender sobre:

    • O que é uma árvore de decisão para classificação e regressão;
    • exemplos práticos sobre onde e como são aplicadas;
    • e descobrir em detalhes como são feitas as escolhas das árvore de decisão, ou seja, como a árvore chegou naquele resultado?

    Então, vem comigo e vamos descobrir juntos(as) como essa ferramenta funciona através da leitura desse artigo.

    O que são Árvores de Decisão

    As Árvores de Decisão são um tipo de modelo de Machine Learning que funciona de maneira semelhante a um fluxograma.

    O modelo é estruturado em nós de decisão, onde cada nó interno representa uma condição ou regra baseada em uma variável.

    Esses nós dividem os dados em grupos, tomando decisões até chegar aos "nós folha", que representam o resultado ou a previsão final.

    Confira abaixo um gif que representa a estruturação de uma Árvore de Decisão com seus nós de decisão e os nós folha:

    GIF mostrando a construção de uma árvore de decisão. Primeiro, surge o nó raiz, seguido pelo crescimento da árvore com a adição de nós intermediários e folhas. À medida que a árvore é construída, os nós vão se ramificando até que todas as folhas sejam alcançadas, representando as saídas finais da árvore de decisão.

    Em termos simples, uma árvore de decisão busca responder a perguntas até alcançar uma conclusão.

    Podemos associar esse modelo a "fluxogramas" das tomadas de decisão que fazemos para coisas simples do dia a dia.

    Por exemplo, digamos que você está pensando se consegue ou não jogar online hoje. Quais requisitos você teria que seguir para jogar esse jogo?

    Podemos separar dois: se você tem internet em casa, pois sem internet não é possível jogar online, e se você tem tempo livre para realizar essa tarefa. Se você tiver internet e tempo livre, você consegue jogar online hoje, caso contrário não dá para jogar.

    Veja só o fluxograma que construímos para tomar essa decisão:

    Imagem de uma árvore de decisão para saber se uma pessoa conseguirá jogar online hoje. O topo da árvore pergunta: 'Você tem acesso à internet?'. Se a resposta for 'Sim', a próxima pergunta é: 'Você tem tempo livre hoje?'. Se tiver tempo livre, o resultado é 'Consegue jogar online'. Se não tiver, o resultado é 'Não consegue jogar online'. Se a resposta inicial for 'Não', o resultado imediato é 'Não consegue jogar online'.

    Podemos notar a estrutura de uma Árvore de Decisão nesse simples exemplo!

    Na imagem, temos os nós de decisão, que são as perguntas "Você tem acesso à internet?" e "Você tem tempo livre hoje?".

    Esses nós determinam os caminhos que podem ser seguidos na árvore, dependendo das respostas (Sim ou Não).

    Já os nós folha representam as conclusões finais, ou seja, os resultados possíveis: "Não consegue jogar online" ou "Consegue jogar online".

    Seguindo o exemplo, é possível perceber como é fácil entender a tomada de decisão apenas acompanhando o fluxograma.

    Trazendo isso para o contexto de Árvore de Decisão, podemos destacar a facilidade de interpretar seu resultado como um de seus pontos fortes, pois a lógica por trás de suas decisões é visível e clara, assim como no exemplo anterior.

    As Árvores de Decisão são comumente utilizadas em modelos de aprendizado supervisionado para Classificação e Regressão.

    Embora possam ser aplicadas em ambos os tipos de problemas, a forma como a árvore toma decisões e interpreta os resultados apresenta diferenças entre esses dois casos.

    Para compreender essas diferenças, precisamos primeiro entender o que são Classificação e Regressão.

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    O que é Classificação

    A Classificação é um tipo de problema de aprendizado supervisionado onde o objetivo é categorizar dados em grupos ou classes predefinidas.

    Um exemplo comum seria o modelo que classifica se clientes de um site estão mais propensos a comprar ou não comprar determinado produto com base em seus comportamentos de navegação, histórico de compras e outras características.

    Esses modelos podem ajudar empresas a direcionar campanhas de marketing de forma mais eficiente, aumentando as chances de conversão.

    Saiba mais sobre Classificação no artigo Problemas resolvidos por algoritmos de classificação.

    O que é Regressão?

    Por outro lado, a Regressão se concentra em prever valores contínuos, ou seja, números que podem variar dentro de um intervalo.

    Diferente da classificação, o foco aqui não é atribuir uma categoria, mas prever uma quantidade ou valor.

    Um exemplo seria prever o faturamento de uma loja online com base em fatores como número de clientes, tempo de permanência no site e preços dos produtos.

    Esses modelos de regressão podem ajudar as empresas a fazer projeções de receita e ajustar suas estratégias de venda com base nas previsões geradas.

    Qual é a diferença entre Classificação e Regressão?

    Embora Classificação e Regressão sejam aplicadas em cenários de aprendizado supervisionado, elas têm objetivos diferentes.

    A classificação lida com a divisão dos dados em categorias ou classes distintas, enquanto a regressão se concentra em prever valores contínuos.

    Em resumo, se a tarefa é prever um rótulo (como "comprar" ou "não comprar"), estamos falando de classificação.

    Se a tarefa é prever um valor numérico (como o faturamento mensal de uma loja), estamos falando de regressão.

    Árvore de Decisão para classificação

    Quando falamos em Árvores para Classificação, entendemos que o problema a ser resolvido envolve a previsão de categorias.

    Um exemplo comum seria o de um banco que deseja decidir se aprova ou não pedidos de empréstimo com base nas características financeiras e de risco do cliente, como o valor Solicitado para o empréstimo e sua Renda anual.

    Seguindo esse exemplo, podemos construir uma árvore com a seguinte estrutura:

    Imagem de uma árvore de decisão utilizada para aprovação de empréstimos. A árvore começa com a pergunta 'Solicitado menor ou igual a 16000'. Se a resposta for 'Sim', o empréstimo é aprovado. Se a resposta for 'Não', o próximo nó verifica se a 'Renda menor ou igual a 59000'. Se a renda for menor ou igual a 59000, o empréstimo é negado. Caso contrário, a próxima pergunta é 'Solicitado menor ou igual a 36500'. Se sim, o empréstimo é aprovado; se não, o empréstimo é negado.

    Como já apresentado anteriormente, cada Árvore de Decisão é composta por três elementos principais:

    • o nó raiz, que é a primeira pergunta ou critério que divide os dados;
    • os nós de decisão internos, que são as perguntas intermediárias;
    • e as folhas, que representam as conclusões finais.

    No exemplo, temos uma árvore com 3 nós de decisão, que separam o caminho da árvore em dois, e 4 nós folha que indicam o resultado final da solicitação de empréstimo, podendo ser "APROVADO" ou "NEGADO".

    Se quisermos entender o motivo de negar ou aprovar cada solicitação, basta seguir a progressão da árvore de cima para baixo.

    O primeiro nó que encontramos, localizado no topo da árvore, é um nó de decisão, também chamado de nó raiz por ser o ponto inicial. Ele separa o conjunto em dois grupos: os valores de Solicitado que são menores ou iguais a 16.000 e aqueles que são maiores.

    Quando o valor Solicitado for menor ou igual a 16.000, o empréstimo é aprovado, conforme indicado no nó folha. Caso contrário, o conjunto de dados segue para outro nó de decisão.

    O segundo nó faz uma nova separação, desta vez com base na Renda. Ele divide o conjunto em dois grupos: clientes com Renda menor ou igual a 59.000 e clientes com Renda superior a esse valor.

    Se a Renda for menor ou igual a 59.000, o empréstimo será negado. Caso contrário, entramos em um novo nó de decisão.

    No terceiro nó, a árvore faz uma última separação baseada no valor Solicitado. Solicitações com valor menor ou igual a 36.500 são aprovadas, enquanto as que excedem esse valor são negadas.

    Após interpretar como a Árvore de Decisão realiza suas escolhas, é natural surgir a dúvida: Como a árvore chegou nesse resultado?

    O Aprendizado na Árvore de Classificação

    Durante o processo de aprendizado, a Árvore de Decisão busca dividir os dados de forma a maximizar a separação entre as classes (ou categorias).

    Esse processo consiste em identificar os limites de valores para os atributos que melhor separam os rótulos dos dados, ou seja, a previsão que o modelo irá realizar, como aprovar ou negar um empréstimo.

    No início, o modelo avalia todos os atributos disponíveis, no nosso exemplo seria a Renda e o valor Solicitado.

    Para cada atributo, ele testa diferentes pontos de corte, ou seja, valores que podem ser usados para dividir os dados.

    O objetivo é encontrar o ponto de corte que mais reduz a impureza dos grupos resultantes.

    A impureza refere-se à mistura de classes dentro de um grupo de dados. Se um nó contém apenas dados de uma única classe, por exemplo, todos as solicitações são aprovadas, ele é considerado puro (impureza zero).

    No entanto, se o nó contém uma mistura de classes, como algumas solicitações aprovadas e outras negadas, ele é considerado impuro.

    A Árvore normalmente utiliza uma métrica chamada índice de Gini para calcular a impureza em cada nó. O índice de Gini varia de 0 (puro) a 1 (totalmente impuro).

    Por exemplo, um nó contendo apenas clientes com empréstimos aprovados teria impureza de 0, enquanto um nó com uma mistura equilibrada de clientes aprovados e negados teria uma impureza maior.

    Ao construir uma árvore de decisão, o algoritmo calcula a impureza de Gini para cada atributo e escolhe aquele que melhor separa as classes, ou seja, o que resulta em nós mais puros e o atributo que minimiza a impureza é escolhido como o nó raiz.

    Em seguida, a árvore repete o processo nos ramos subsequentes até que não seja mais possível melhorar a separação dos dados ou até que um critério de parada seja atingido.

    Ainda no exemplo de concessão de empréstimos, construímos um pequeno conjunto de dados para montar um modelo e verificar os valores de impureza catalogados:

    RendaSolicitadoAprovacao
    50000150001
    60000300001
    45000120001
    50000400000
    75000350001
    35000200000
    40000100001
    120000500000
    65000380000
    47000140001
    58000360000
    35000170000

    Dentro do conjunto temos as características de Renda e Solicitado, o rótulo dos nossos dados estão na coluna Aprovacao, sendo o resultado 1 como aprovado, e 0 como negado. Note que, nesse exemplo, iremos utilizar um pequeno conjunto de apenas três colunas (características e alvo) para facilitar o ensino e aprendizagem. Mas modelos dessa natureza lidam com dados muito maiores e com múltiplas características.

    Abaixo a Árvore de Decisão final feita com Python:

    Diagrama de uma árvore de decisão para classificação de aprovação de empréstimos. O nó raiz começa com a condição 'Solicitado <= 16000.0', com índice Gini de 0.5, 12 amostras, 6 aprovadas e 6 negadas, e a classe 'Negado'. Se a condição for verdadeira (True), leva a um nó com Gini de 0.0, 4 amostras, todas aprovadas, e a classe 'Aprovado'. Se a condição for falsa (False), a próxima divisão é baseada na 'Renda <= 59000.0', com Gini de 0.375, 8 amostras, 6 negadas e 2 aprovadas, e a classe 'Negado'. Se a renda for menor ou igual a 59000 (True), leva a um nó com Gini de 0.0, 4 amostras, todas negadas, e a classe 'Negado'. Se a renda for maior que 59000 (False), a divisão seguinte é 'Solicitado <= 36500.0', com Gini de 0.5, 4 amostras, 2 aprovadas e 2 negadas, e a classe 'Negado'. Se a condição for verdadeira (True), o nó tem Gini de 0.0, 2 amostras, todas aprovadas, e a classe 'Aprovado'. Se for falsa (False), o nó final tem Gini de 0.0, 2 amostras, todas negadas, e a classe 'Negado'.

    Nessa imagem, podemos observar as divisões dos dados em nós de decisão, juntamente com a quantidade de amostras separadas e os valores do índice de Gini para cada nó.

    Nos nós folha, temos a apresentação do índice de Gini igual a zero, o que indica pureza máxima.

    Isso significa que todas as amostras daquele nó pertencem a uma única classe, ou seja, todos os exemplos de treinamento foram corretamente separados como Aprovado ou Negado.

    Isso ocorre porque não há mais mistura de classes nessas folhas: cada uma contém apenas exemplos de uma classe específica.

    Confira o código usado para reproduzir esse exemplo nesse repositório do Github.

    Árvore de Decisão para regressão

    A Árvore de Decisão para problemas de regressão mantém a mesma estrutura básica da árvore usada para classificação: ela começa com um nó raiz, que é o ponto de decisão inicial, e, ao longo do caminho, faz divisões sucessivas até chegar aos nós folha, que contêm os resultados finais.

    No entanto, a principal diferença entre a árvore de regressão e a de classificação está nos resultados.

    Enquanto na classificação os resultados são categorias (como "Aprovado" ou "Negado"), na regressão os resultados são valores numéricos contínuos.

    Isso significa que a árvore de regressão é usada para prever valores como preços, temperaturas, ou quantidades, em vez de classes.

    Outra diferença significativa está na métrica de avaliação usada durante o aprendizado.

    Como os resultados são valores contínuos, o índice de Gini, utilizado em árvores de classificação, não é adequado para medir a qualidade das divisões.

    Em vez disso, a árvore de regressão utiliza métricas como o Erro Quadrático Médio para avaliar o quão bem as divisões estão prevendo os valores numéricos.

    O objetivo é minimizar esse erro, de forma que as previsões fiquem o mais próximo possível dos valores reais.

    Um exemplo comum do uso de Árvore de Regressão é quando uma rede de supermercados busca prever quantos produtos serão comprados com base em uma característica como o preço do produto, ajudando a planejar melhor seu catálogo de ofertas. Vejamos um pequeno conjunto de dados que reflete essa situação:

    PreçoQuantidade
    18.8108
    20.772
    22.9994
    36.9910
    39.9913
    41.218
    50.531
    68.235
    80.449

    É importante lembrar que, no mundo real, esses modelos são utilizados com conjuntos de dados muito maiores e mais complexos. No entanto, estamos utilizando esse exemplo simples para facilitar o entendimento do conceito de regressão.

    Ao treinar uma Árvore de Regressão com esses dados, obtemos o seguinte resultado:

    Imagem de uma árvore de decisão que determina a quantidade de produtos com base no preço. O nó raiz começa com a condição 'Preço ≤ 29.99'. Se a resposta for 'Sim', a quantidade estimada é 91.33. Se a resposta for 'Não', a árvore faz uma nova divisão com a condição 'Preço ≤ 45.85'. Se for 'Sim', a quantidade é 13.67. Se for 'Não', a quantidade é 38.33.

    Até aqui, já entendemos o conceito de nós de decisão e nós folha. Então, vamos focar nos nós folha da imagem, que são os resultados finais da árvore.

    Diferentemente de uma árvore de classificação, em que os nós folha retornam categorias, em uma árvore de regressão os nós folha fornecem valores contínuos, como a quantidade estimada de produtos a serem vendidos.

    Ao comparar os resultados da árvore com os dados originais, notamos que os valores estimados pela árvore nem sempre correspondem exatamente aos dados reais.

    Por exemplo, quando o preço é menor que 29.99, a árvore estima que a quantidade vendida será 91.33, embora os valores reais variem. O mesmo acontece com outros intervalos de preço. Isso significa que o modelo está errado?

    Na verdade, o modelo não está "errado". O que ele faz é representar a média dos valores de treinamento dentro de cada intervalo de preço.

    Esse comportamento é característico do processo de aprendizado de uma árvore de regressão, que tenta generalizar a relação entre as variáveis (neste caso, preço e quantidade) para fazer previsões mais robustas e aplicáveis a novos dados.

    Assim, a árvore não devolve o valor exato, mas uma aproximação baseada nas médias dos dados que ela processou.

    O Aprendizado na Árvore de Regressão

    Durante o processo de aprendizado, o modelo busca identificar os melhores pontos para dividir os dados, criando os nós de decisão. Esses pontos de separação são escolhidos com base no valor do Erro Quadrático Médio (MSE).

    O Erro Quadrático Médio é uma métrica que avalia a diferença entre os valores reais dos dados e os valores previstos pelo modelo.

    Ele é calculado a partir dos resíduos, que são as diferenças entre os valores observados nos dados e os valores previstos pela árvore.

    Cada resíduo é elevado ao quadrado, para garantir que diferenças positivas e negativas não se cancelem, e esses valores são somados.

    Em seguida, essa soma é dividida pelo número total de observações, resultando no valor do Erro Quadrático Médio.

    O objetivo da árvore é encontrar as divisões que minimizem o Erro Quadrático Médio. Quanto menor o erro, mais próximas estão as previsões feitas pelo modelo dos valores reais.

    Dessa forma, o modelo testa várias divisões possíveis e adota aquelas que resultam no menor MSE, garantindo previsões mais precisas.

    O problema da busca pelo menor valor possível de (MSE) é que, se não houver controle, a árvore tentará reduzir o erro ao máximo, buscando um MSE igual a ** 0`**, o que significa que os valores previstos seriam exatamente iguais aos valores reais.

    Embora isso possa parecer ideal, na prática, a árvore faz tantas divisões que acaba criando um nó para cada exemplo específico nos dados de treinamento. Isso gera uma árvore complexa, cheia de nós de decisão, onde cada nó folha corresponde a um único valor. Esse fenômeno é chamado de sobreajuste.

    Sobreajuste em Árvores

    O sobreajuste (ou overfitting) ocorre quando o modelo se ajusta excessivamente aos dados de treinamento, capturando até mesmo o "ruído" ou variações irrelevantes dos dados, em vez de aprender padrões generalizáveis.

    Em outras palavras, o modelo se torna tão detalhado que consegue prever perfeitamente os dados de treinamento, mas perde a capacidade de fazer boas previsões em novos dados.

    Isso porque o modelo, ao tentar prever com extrema precisão os valores já conhecidos, não consegue generalizar adequadamente quando recebe novos dados.

    No caso das Árvores de Regressão, o sobreajuste pode acontecer quando a árvore realiza muitas divisões para minimizar o erro, resultando em nós folhas que contêm apenas uma amostra.

    Assim, cada divisão especifica apenas um valor observado nos dados de treinamento, o que prejudica a capacidade do modelo de prever valores fora desse conjunto.

    Para evitar o sobreajuste é importante limitar a complexidade do modelo. Uma das táticas mais comuns é restringir a profundidade da árvore, que representa o número de divisões que podem ser feitas desde o nó raiz até o nó folha.

    Quanto maior a profundidade, mais complexa será a árvore, e maior a chance de sobreajuste.

    Além disso, podemos limitar o número máximo de nós folha ou aumentar o número mínimo de amostras que um nó deve conter antes de ser dividido.

    Outra estratégia é aumentar o número mínimo de amostras em um nó folha, garantindo que cada divisão represente um grupo maior de dados.

    No exemplo da previsão de quantidade com base no preço, limitamos a árvore para que cada nó folha tenha, no mínimo, 3 amostras.

    Isso ajudou a evitar o sobreajuste, forçando a árvore a generalizar melhor. O resultado dessa árvore, gerada com Python, pode ser visto abaixo:

    Diagrama de uma árvore de decisão com foco em previsões de quantidade de produtos com base no preço. O nó raiz tem a condição 'Preço ≤ 29.99', com erro quadrado de 1146.617, 9 amostras, e valor médio de 47.778. Se a condição for verdadeira (True), o nó resultante tem erro quadrado de 219.556, 3 amostras, e valor de 91.333. Se a condição for falsa (False), a árvore segue para outro nó com a condição 'Preço ≤ 45.85', erro quadrado de 187.333, 6 amostras, e valor de 26.0. Esse nó se ramifica novamente: se a condição for verdadeira (True), o valor previsto é 13.667, com erro quadrado de 10.889 e 3 amostras. Se a condição for falsa (False), o valor previsto é 38.333, com erro quadrado de 59.556 e 3 amostras.

    Confira o código usado para reproduzir esse exemplo nesse repositório do Github.

    Conclusão

    Neste artigo, entendemos como as Árvores de Decisão são utilizadas em casos de classificação e regressão. Durante a leitura, fomos capazes de:

    • Entender o conceito de árvore de decisão e suas aplicações;
    • Compreender as diferenças entre problemas de classificação e regressão;
    • Identificar como as árvores de decisão tomam decisões baseadas em atributos;
    • Explorar como o modelo de árvore de decisão é eficaz na previsão de categorias ou valores contínuos;
    • Compreender os conceitos de impureza, resíduo e sobreajuste no contexto de árvores de decisão.

    Deseja colocar em prática os conteúdos aprendidos neste artigo e se aprofundar nesses conceitos e muitos outros?

    Confira nossas formações de Machine Learning como a Formação Machine Learning com Python: Classificação, Formação Machine Learning com Python: Regressão e Formação Machine Learning na prática: fundamentos e aplicações.

    Até mais!

    Créditos

    • Conteúdo: Mirla Costa
    • Produção técnica: Rodrigo Dias
    • Produção didática: Tiago Trindade
    • Designer gráfico: Alysson Manso
    • Apoio: Rômulo Henrique
    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Avalie este artigo

    • Foto de Mirla Costa

      Autor(a)

      Mirla Costa

      Instrutora em Data Science, graduada em Engenharia Elétrica pela UFPI com pesquisa focada em Aprendizado de Máquina e Inteligência Computacional. Amante de programação, tecnologia, cachorros, animações e jogar RPG de mesa.

    Explore por tópico

    • Back-end
    • Dados
    • DevOps
    • Front-end
    • Gestão & Negócios
    • Institucionais
    • Inteligência Artificial
    • Mobile
    • UX & Design

    Leia também

    • 21/11/2022

      Power BI: tipos de licenças

      Ler mais
    • 15/01/2024

      BigQuery: configurando o ambiente de trabalho

      Ler mais
    • 08/06/2023

      Scala para engenharia de dados: primeiros passos

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura