Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Prevenção de Overfitting em Árvores de Decisão | Árvore de Decisão
Classificação com Python

Prevenção de Overfitting em Árvores de Decisão

Deslize para mostrar o menu

Antes de começarmos a implementar uma Árvore de Decisão usando Python, é importante abordar um tema fundamental: overfitting – o principal desafio associado às Árvores de Decisão.

meme+friends

Abaixo está um exemplo de como a Árvore de Decisão se ajusta ao conjunto de dados. Observe como o modelo se adapta aos dados de treinamento, capturando seus padrões e detalhes:

DecisionBoundaryTree

Embora o modelo se ajuste perfeitamente ao conjunto de treinamento sem classificar incorretamente nenhuma instância, o problema é que as fronteiras de decisão são muito complexas. Consequentemente, a acurácia no teste (ou validação cruzada) será significativamente menor do que a acurácia no conjunto de treinamento, indicando que o modelo está sobreajustado.

Isso ocorre porque o modelo fará quantas divisões forem necessárias para se ajustar perfeitamente aos dados de treinamento.

Felizmente, a Árvore de Decisão é altamente configurável, permitindo ajustar seus hiperparâmetros para minimizar o sobreajuste.

Profundidade Máxima da Árvore

A profundidade de um nó é a distância (vertical) do nó até o nó raiz.

ProfundidadeDaÁrvore

É possível restringir a profundidade máxima de uma Árvore de Decisão, tornando-a menor e menos propensa ao overfitting. Para isso, convertemos os nós de decisão em uma profundidade máxima em nós folha.

AnimaçãoProfundidadeÁrvore

Aqui está também um gif mostrando como o limite de decisão muda com diferentes valores de profundidade máxima:

DecisionBoundaryTreeAnimation

Número Mínimo de Amostras

Outra forma de restringir a árvore é definir o número mínimo de amostras nos nós folha. Isso tornará o modelo mais simples e mais robusto a outliers.

TreeDepthAnimationLeaf

É possível observar como esse hiperparâmetro afeta o limite de decisão:

DecisionBoundaryTreeLeaf

Ambos esses hiperparâmetros estão disponíveis na implementação de Árvore de Decisão do scikit-learn.
Por padrão, a árvore é irrestrita: max_depth é definido como None, ou seja, não há limite para a profundidade, e min_samples_leaf é definido como 1.

question mark

Escolha a afirmação INCORRETA.

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 3. Capítulo 3
some-alt