Prevenção de Overfitting em Árvores de Decisão
Antes de implementarmos uma Árvore de Decisão utilizando Python, é importante abordar um tema fundamental: overfitting (sobreajuste) – o principal desafio associado às Árvores de Decisão.
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:
Embora o modelo se ajuste perfeitamente ao conjunto de treinamento sem classificar incorretamente nenhuma instância, o problema é que os limites de decisão ficam complexos demais. 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 realiza quantas divisões forem necessárias para se ajustar perfeitamente aos dados de treinamento.
Felizmente, a Árvore de Decisão é altamente configurável, permitindo o ajuste de seus hiperparâmetros para minimizar o sobreajuste.
Profundidade Máxima da Árvore
Profundidade de um nó é a distância (vertical) do nó até o nó raiz.
É possível restringir a profundidade máxima de uma Árvore de Decisão, tornando-a menor e menos propensa ao overfitting. Para isso, transforma-se os nós de decisão em uma profundidade máxima em nós folha.
A seguir, um gif mostrando como o limite de decisão muda com diferentes valores de profundidade máxima:
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 torna o modelo mais simples e mais robusto a outliers.
É possível observar como esse hiperparâmetro afeta o limite de decisão:
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 de profundidade, e min_samples_leaf
é definido como 1
.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 4.17
Prevenção de Overfitting em Árvores de Decisão
Deslize para mostrar o menu
Antes de implementarmos uma Árvore de Decisão utilizando Python, é importante abordar um tema fundamental: overfitting (sobreajuste) – o principal desafio associado às Árvores de Decisão.
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:
Embora o modelo se ajuste perfeitamente ao conjunto de treinamento sem classificar incorretamente nenhuma instância, o problema é que os limites de decisão ficam complexos demais. 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 realiza quantas divisões forem necessárias para se ajustar perfeitamente aos dados de treinamento.
Felizmente, a Árvore de Decisão é altamente configurável, permitindo o ajuste de seus hiperparâmetros para minimizar o sobreajuste.
Profundidade Máxima da Árvore
Profundidade de um nó é a distância (vertical) do nó até o nó raiz.
É possível restringir a profundidade máxima de uma Árvore de Decisão, tornando-a menor e menos propensa ao overfitting. Para isso, transforma-se os nós de decisão em uma profundidade máxima em nós folha.
A seguir, um gif mostrando como o limite de decisão muda com diferentes valores de profundidade máxima:
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 torna o modelo mais simples e mais robusto a outliers.
É possível observar como esse hiperparâmetro afeta o limite de decisão:
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 de profundidade, e min_samples_leaf
é definido como 1
.
Obrigado pelo seu feedback!