Uma árvore de decisão é uma sequência de perguntas. O algoritmo escolhe, a cada passo, a pergunta que melhor separa os dados em grupos "puros". Vamos ver isso acontecer, conta por conta, com um exemplo clássico.
Com base no clima, vamos jogar tênis hoje?Antes de escolher perguntas, precisamos de um número que diga o quão misturado está um grupo. Um grupo só com Sim é puro. Metade Sim e metade Não é o mais misturado possível. Mexa nas quantidades e veja o índice mudar.
No eixo horizontal, a proporção de Sim no grupo. As duas curvas valem zero nas pontas (grupos puros) e atingem o máximo no meio.
Temos 14 dias registrados. Em cada nó, o algoritmo testa todos os atributos, calcula quanto cada um reduziria a impureza e escolhe o melhor. Use os botões (ou as setas do teclado) para avançar.
As linhas acesas são os dias que chegaram ao nó em análise.
Por que ponderar? Um grupo com 1 exemplo puro não deveria valer tanto quanto um grupo com 10 exemplos misturados.
Gini ou entropia? Na prática quase sempre levam à mesma árvore, como você pode testar trocando a métrica acima. O Gini é um pouco mais barato de calcular (não usa logaritmo).
E o sobreajuste? Crescer até a pureza total pode decorar os dados. Por isso se limita a profundidade, o mínimo de exemplos por folha, ou se poda a árvore depois.
Observação: aqui cada atributo gera um ramo por valor (estilo ID3). O CART, usado no scikit-learn, faz sempre divisões binárias, como "Tempo = Ensolarado? sim / não", mas a lógica de escolha pelo Gini é a mesma.