Uma introdução visual ao aprendizado de máquina

Como inventar o algoritmo de árvore de decisão do zero

Esta lição tem duas metades. Na primeira, você vai construir uma árvore de decisão funcional com os olhos e as mãos — sem fórmulas. Na segunda, vai descobrir que o algoritmo de treino de verdade não passa daquilo que você acabou de fazer, repetido por um laço paciente que pontua as próprias escolhas com um único número pequeno.

Ao finalVocê saberá explicar como um computador aprende uma árvore de decisão repetindo uma operação útil: fazer uma pergunta de sim ou não que deixa os resultados conhecidos menos misturados. Também saberá levar um novo exemplo até a previsão.

Ponto de partida: você só precisa comparar números e acompanhar uma pergunta de sim ou não. Vamos apresentar cada termo de aprendizado de máquina e explicar a notação matemática quando ela se tornar útil.

Parte um · construa à mão

Aprendizado de máquina não é um único método

Quando alguém diz aprendizado de máquina, pode parecer o nome de uma única tecnologia. É mais parecido com uma caixa de ferramentas. A área está cheia de algoritmos diferentes, e cada um aprende padrões a partir de exemplos do seu próprio jeito, para depois fazer previsões sobre exemplos que nunca viu.

As redes neurais são a família famosa. Elas estão por trás de resultados impressionantes em texto, imagem, áudio e vídeo. Mas fama não é o mesmo que adequação. Uma enorme parte dos dados do cotidiano vive em tabelas — clientes, casas, plantas, empréstimos, medições médicas — e, em tabelas, osmétodos baseados em árvores costumam ser a escolha forte e prática. Para entender o motivo, comece pelo que torna uma tabela diferente dos outros formatos de dados.

Cada linha descreve uma coisa

Uma frase é uma sequência de palavras: a ordem importa. Uma imagem é uma grade de pixels: a posição importa. Na nossa tabela, cada linha descreve uma semente e as colunas registram propriedades dela. Embaralhar essas linhas não mudaria seu significado porque nenhuma semente depende da linha anterior.

SequênciaA ordem importapalavras, eventos, som
GradeA posição importaimagens, mapas espaciais
TabelaAs propriedades importampessoas, plantas, produtos
Neste tipo de tabela, cada linha existe por conta própria, então podemos fazer a mesma pergunta simples para todas elas.

Pense nas pessoas em uma festa. Uma pessoa é alta, loira e usa óculos. Outra é baixa, morena e não usa óculos. Esse tipo de dado convida a perguntas de sim ou não — a pessoa é alta? usa óculos? — e cada resposta divide o grupo em dois. Uma tabela funciona da mesma forma: uma pergunta sobre uma coluna envia algumas linhas para um lado e o restante para o outro.

Guarde essa observação. Perguntas simples são uma maneira natural de organizar dados tabulares e — como veremos em seguida — talvez bastem para prever algo que ainda não sabemos.

Nosso exemplo recorrente

Dez sementes e uma previsão

Imagine que plantamos dez sementes. Cada uma recebeu um certo número de horas de luz solar por dia e uma certa quantidade de litros de água por semana. No final do experimento, cada semente estava saudável ou com dificuldade.

SementeLuz solar / diaÁgua / semanaResultado
A1.0 h1.4 LSaudável
B1.4 h2.7 LSaudável
C2.0 h1.9 LSaudável
D2.5 h3.5 LCom dificuldade
E3.2 h2.4 LSaudável
F3.8 h4.2 LCom dificuldade
G4.3 h1.5 LCom dificuldade
H4.9 h3.1 LCom dificuldade
I5.5 h2.0 LCom dificuldade
J6.1 h3.9 LCom dificuldade

Deslize horizontalmente para ver todas as colunas.

Cada linha representa uma semente. Luz solar e água são características. O resultado é o rótulo.
Entidade
uma semente
Características
luz solar e água
Rótulo
saudável ou com dificuldade

Agora, uma pessoa amiga nos traz a semente K. Ela receberá 3 horas de luz solar por dia e 2 litros de água por semana. As dez sementes antigas podem nos ajudar a prever o que acontecerá com a nova?

Essa tarefa se chama classificação: não estamos prevendo uma altura exata, estamos escolhendo entre dois rótulos — saudável ou com dificuldade.

A primeira invenção

Uma divisão é uma pergunta

Encarar a tabela linha por linha é difícil, então vamos distribuí-la em dois eixos. A luz solar corre da esquerda para a direita; a água, de baixo para cima. Os círculos são sementes saudáveis; os quadrados, sementes com dificuldade.

As dez sementes antes da escolha de uma pergunta divisóriaUm gráfico de dispersão de luz solar e água. Quatro sementes saudáveis são círculos e seis sementes com dificuldade são quadrados. Nenhuma linha divisória foi escolhida ainda.1234561234ABCDEFGHIJhoras de luz solar por diaágua por semana (L)
As mesmas dez linhas agora são pontos. A forma representa o resultado, portanto a cor não é necessária. Nenhuma resposta foi desenhada para você.

Uma linha neste gráfico pode funcionar como uma pergunta de sim ou não. Uma linha vertical pergunta se a luz solar é menor ou igual a algum corte. Uma linha horizontal faz o mesmo tipo de pergunta sobre a água. Ainda não escolhemos a característica nem o valor de corte.

Sua primeira tarefa é apenas visual: encontre uma linha que deixe círculos e quadrados menos misturados nos dois lados. Pode haver várias tentativas razoáveis. Escolha uma antes de pedir ao experimento a resposta mais clara.

Experimente

Onde você colocaria a primeira linha?

Escolha luz solar ou água e arraste a linha diretamente pelo gráfico. Nada de fórmulas ainda — apenas tente deixar os resultados de cada lado o mais uniformes possível. A linha inicial é apenas um primeiro palpite, não a resposta.

Experimento 1 · use os olhos

Onde você traçaria a linha divisória?

Ainda sem fórmula
1 · Escolha o que observar
2 · Arraste ou clique no gráfico
Luz solar por dia (h)2,25?
Esta é apenas uma posição inicial. Mova a linha antes de revelar a resposta.
As mesmas dez sementes · mova a pergunta diretamente
As dez sementes e a linha divisória atualOs círculos representam sementes saudáveis; os quadrados, sementes com dificuldade. A linha se move quando o limiar selecionado muda.1234561234Luz solar por dia (h) = 2,25Semente A · Saudável · 1 h de sol · 1,4 L de águaASemente B · Saudável · 1,4 h de sol · 2,7 L de águaBSemente C · Saudável · 2 h de sol · 1,9 L de águaCSemente D · Com dificuldade · 2,5 h de sol · 3,5 L de águaDSemente E · Saudável · 3,2 h de sol · 2,4 L de águaESemente F · Com dificuldade · 3,8 h de sol · 4,2 L de águaFSemente G · Com dificuldade · 4,3 h de sol · 1,5 L de águaGSemente H · Com dificuldade · 4,9 h de sol · 3,1 L de águaHSemente I · Com dificuldade · 5,5 h de sol · 2 L de águaISemente J · Com dificuldade · 6,1 h de sol · 3,9 L de águaJhoras de luz solar por diaágua por semana (L)
O que a sua linha cria
A pergunta atual encaminhando todas as dez sementesAs sementes que satisfazem a pergunta seguem pelo ramo sim. As demais seguem pelo ramo não.Luz solar por dia (h)2,25?Todas as sementes respondem a esta perguntaSIM · 3 sementes3 saudáveis · □ 0 com dificuldadeNÃO · 7 sementes1 saudável · □ 6 com dificuldadeASemente A · Saudável1 h de sol · 1,4 L de águaBSemente B · Saudável1,4 h de sol · 2,7 L de águaCSemente C · Saudável2 h de sol · 1,9 L de águaDSemente D · Com dificuldade2,5 h de sol · 3,5 L de águaESemente E · Saudável3,2 h de sol · 2,4 L de águaFSemente F · Com dificuldade3,8 h de sol · 4,2 L de águaGSemente G · Com dificuldade4,3 h de sol · 1,5 L de águaHSemente H · Com dificuldade4,9 h de sol · 3,1 L de águaISemente I · Com dificuldade5,5 h de sol · 2 L de águaJSemente J · Com dificuldade6,1 h de sol · 3,9 L de água

Passe o cursor ou mova o foco para uma semente e encontre a mesma linha ou o mesmo ponto à esquerda.

O ramo sim contém 3 sementes: 3 saudáveis e 0 com dificuldade. O ramo não contém 7 sementes: 1 saudáveis e 6 com dificuldade.

Use apenas os olhos:Agora, os resultados de cada lado parecem mais semelhantes entre si do que na tabela original?

A revelação verifica todas as posições disponíveis e retornaluz solar ≤ 3,5 horas. As sementes de A a E respondem sim: quatro estão saudáveis e D está com dificuldade. As outras cinco respondem não, e todas estão com dificuldade.

Essa pergunta transformou um grupo misto em dois grupos menos misturados. O grupo da direita está pronto porque todas as sementes nele estão com dificuldade. O da esquerda ainda contém os dois resultados. Um corte como 3,5 é umlimiar. Uma pergunta formada por característica e limiar que divide um grupo é uma divisão.

Transforme uma pergunta em estrutura

Uma região mista pode responder a outra pergunta

Uma linha é apenas o começo. Depois que uma pergunta divide o gráfico, cada região guarda uma versão menor do problema original. Uma região em que todas as sementes têm o mesmo resultado pode parar. Uma região mista pode fazer outra pergunta — usando apenas as sementes que estão dentro dela.

É aqui que as linhas se tornam uma árvore. No experimento abaixo, selecione uma região, escolha uma característica e corte somente essa região. O painel à direita registra exatamente a mesma sequência de perguntas como uma estrutura ramificada: o primeiro corte é a raiz, e cada corte seguinte fica pendurado na resposta que levou até ele.

Construa manualmente

Você consegue fazer cada região final conter um único resultado?

Comece com o gráfico inteiro. Depois de cada corte, escolha uma região mista e continue. Existe mais de uma árvore válida, então siga o padrão que você enxerga.

Experimento 2 · construa a árvore

Transforme regiões em uma árvore de decisão

0 perguntas · 0/1 regiões prontas
1Escolha uma região2Escolha um eixo3Clique na região para cortar
Espaço dos dados · regiões e eixos são clicáveis
Regiões criadas pela árvore manualEscolha uma região, selecione uma característica pelo botão no eixo correspondente e clique na região para dividi-la. Círculos são sementes saudáveis e quadrados são sementes com dificuldade.4 · □ 61234561234ABCDEFGHIJClique para dividir por horas de luz solarhoras de luz solar por diaClique para dividir por água por semanaágua por semana (L)
Controles da árvore
O que suas linhas criam · a mesma árvore

Uma folha mista ainda contém círculos e quadrados. Selecione-a para continuar crescendo.

A árvore tem 0 perguntas e 1 regiões finais; 0 estão prontas.

Mantenha a semente K em vista

A árvore já consegue prever o resultado de K?

Se você abriu a solução guiada, responda às duas perguntas para K: 3 horas de luz solar e 2 L de água. Se construiu outra árvore, siga as suas perguntas.

Revelar o caminho guiado

K responde sim para luz solar ≤ 3,5 e sim para água ≤ 3,1, então chega à folha saudável. Já conseguimos usar a árvore; a próxima parte explica como o computador escolhe as perguntas sem depender dos nossos olhos.

O ponto de virada desta lição

Pare e observe o que você acabou de fazer

Quer você tenha concluído a árvore por conta própria, quer tenha aberto a solução guiada, a construção não usou fórmulas. Um nó é uma pergunta, suas duas respostas são ramos e cada região final é uma folha que faz uma previsão. A construção usou exatamente três habilidades:

  1. Propor. Você deslizou uma linha pela região e ela se encaixou entre sementes vizinhas.
  2. Julgar. Você olhou para os dois lados e decidiu se os resultados ficaram mais parecidos.
  3. Repetir. Dentro de qualquer região que continuou mista, você fez tudo de novo.

Duas dessas habilidades são mecânicas. Propor linhas é um laço sobre posições. Repetir é o mesmo procedimento aplicado a um grupo menor. Um computador faz as duas coisas sem nenhuma criatividade.

A terceira habilidade é o obstáculo. “Este lado parece mais limpo” é um julgamento, não uma instrução. Para automatizar o processo inteiro, precisamos substituir os seus olhos por um número — uma pontuação que responda: quão bem esta pergunta separou os resultados? Essa única substituição é toda a segunda metade desta lição. Todo o resto você já inventou.

Parte dois · automatize

Só algumas perguntas valem a pena

Antes de pontuar perguntas, vale contá-las. Um limiar como 2,25 pode parecer arbitrário — por que não 2,3, ou 2,31? Olhe para a coluna de luz solar: 2,0 e 2,5 são valores vizinhos. Toda linha traçada entre eles envia as mesmas linhas da tabela para os mesmos lados. Todos esses limiares são a mesma pergunta com números diferentes, então testamos apenas um deles: o ponto médio.

(2,0 + 2,5) / 2 = 2,25

Isso torna a busca finita. Ordene os valores distintos de uma coluna e tome o ponto médio de cada par vizinho: dez valores distintos geram nove limiares candidatos. Duas características, nove limiares cada — na raiz existem exatamente18 perguntas que valem a pena testar, e não infinitas. Os experimentos acima já estavam encaixando a sua linha nesses pontos médios.

Portanto, o computador consegue gerar todas as perguntas que valem a pena. O que ele ainda não consegue é escolher a melhor. “Esta parece mais limpa” precisa virar um número.

Primeiro passo: medir a mistura de um único grupo

Esqueça as divisões por um instante e olhe para um grupo de sementes. O que os seus olhos realmente verificaram, lado a lado, foi o quão misto cada grupo estava. Uma pontuação de mistura útil deve seguir três regras:

  1. Um grupo puro vale 0. Se toda semente tem o mesmo resultado, não há mistura.
  2. Uma mistura igualitária vale o máximo. Um grupo 50/50 é o mais misto que duas classes permitem.
  3. Só as contagens de rótulos importam. A pontuação não deve se importar com a posição nem com a ordem das sementes.

A escolha padrão para árvores de classificação é a impureza de Gini, e ela tem um significado concreto. Imagine sortear o rótulo de uma semente, devolvê-lo à tigela e sortear novamente. A devolução mantém as mesmas chances nos dois sorteios. O Gini é a chance de os dois rótulos discordarem.

Nosso grupo completo tem quatro sementes saudáveis e seis com dificuldade. A discordância pode acontecer em duas ordens: saudável e depois com dificuldade, ou com dificuldade e depois saudável:

saudável, depois com dificuldade4/10 × 6/10 = 0,24com dificuldade, depois saudável6/10 × 4/10 = 0,24qualquer discordânciaGini = 0,24 + 0,24 = 0,48

Em um grupo puro, a discordância é impossível, então o Gini é 0. Em um grupo com duas classes divididas igualmente, ela é a maior possível, então o Gini chega a 0,5.

Notação opcional: comprimir o mesmo cálculo

Use p para representar “a proporção do grupo”. Aqui,p(saudável) é 0,4 e p(dificuldade) é 0,6. Elevar uma proporção ao quadrado é multiplicá-la por ela mesma: a chance de sortear o mesmo rótulo duas vezes. Assim, podemos subtrair de 1 todas as formas de concordância:

Gini = 1 − p(saudável)² − p(dificuldade)² = 1 − 0,4² − 0,6² = 0,48

Com mais de dois rótulos, a forma curta é Gini = 1 − Σ pₖ². O símbolo Σ quer dizer “some um termo para cada classe”, e o pequenok identifica a classe daquele termo. Essa forma compacta não é necessária no restante da lição.

Esse valor está perto do máximo possível de 0,5 para duas classes. Não significa que um modelo erra 48% das vezes — ainda nem existe um modelo. Significa apenas que o grupo ainda contém uma mistura forte dos dois rótulos.

Impureza de Gini para duas classesA impureza de Gini é zero quando um grupo contém apenas uma classe. Ela sobe até 0,5 quando as duas classes têm proporções iguais.00.250.5puromistura máximapuro0%50%100%proporção de sementes saudáveis no grupoimpureza de Gini
Para duas classes, o Gini atinge o máximo em uma mistura 50/50 e cai a zero à medida que uma classe toma conta do grupo — exatamente o comportamento que pedimos.

Segundo passo: pontuar uma pergunta, não apenas um grupo

Uma pergunta cria dois grupos, então precisamos combinar dois valores de Gini em uma única pontuação. Tome a primeira pergunta mais clara, luz solar ≤ 3,5. O lado sim tem quatro sementes saudáveis e uma com dificuldade. O lado não tem cinco sementes com dificuldade — puro, Gini 0:

Gini(lado sim) = 1 − (4/5)² − (1/5)² = 0,32

Cada lado é ponderado pela fração de linhas que recebeu. Aqui, por acaso, a divisão envia cinco linhas para cada lado, então os pesos são iguais; a mesma regra também funciona quando divisões posteriores criam grupos de tamanhos diferentes:

pontuação após a divisão = 5/10 × 0,32 + 5/10 × 0 = 0,16

Antes da pergunta, o Gini do grupo era 0,48. Depois dela, a mistura ponderada é 0,16. A melhora é chamada de ganho de Gini:

ganho = 0,48 − 0,16 = 0,32

Este é o número que substitui os seus olhos. Um ganho maior significa que a pergunta removeu mais mistura. Ele usa apenas contagens de rótulos, então um computador consegue avaliá-lo para qualquer pergunta candidata com poucas multiplicações.

Confira a ideia

Por que ponderamos os dois lados pelo número de linhas?

Tente responder antes de abrir a explicação.

Revelar o raciocínio

Sem os pesos, um grupo puro minúsculo poderia esconder um grupo grande e desorganizado. Uma divisão que isola uma única semente pareceria tão boa quanto uma que organiza metade da tabela. Os pesos fazem cada lado importar na proporção das linhas que contém.

A pontuação compara quaisquer duas candidatas

Para sentir a pontuação funcionando, mantenha a característica fixa e mova apenas o limiar. Antes de ler os números abaixo, olhe para as duas imagens e preveja qual pergunta deixa menos mistura para trás.

Candidata ALuz solar ≤ 3,5?
Divisão da luz solar em 3,5 horasO limiar envia quatro sementes saudáveis e uma com dificuldade para a folha esquerda. A folha direita contém cinco sementes com dificuldade.1234563,5horas de luz solar por dia
Revelar a pontuação da candidata A
Folha esquerda · 5 linhas4 saudáveis · 1 com dificuldadeGini = 0,320
Folha direita · 5 linhas0 saudáveis · 5 com dificuldadeGini = 0
Pontuação ponderada · ganho0,160 · ganho 0,320
Candidata BLuz solar ≤ 4,6?
Divisão da luz solar em 4,6 horasO limiar envia quatro sementes saudáveis e três com dificuldade para a folha esquerda. A folha direita contém três sementes com dificuldade.1234564,6horas de luz solar por dia
Revelar a pontuação da candidata B
Folha esquerda · 7 linhas4 saudáveis · 3 com dificuldadeGini ≈ 0,490
Folha direita · 3 linhas0 saudáveis · 3 com dificuldadeGini = 0
Pontuação ponderada · ganho0,343 · ganho 0,137
Mesmos dados, mesma característica, limiares diferentes. Faça primeiro uma previsão visual e depois abra as duas pontuações. A candidata com maior ganho é a que deixa menos mistura ponderada.

O algoritmo inteiro

Dois laços e uma memória

Agora todos os ingredientes estão na mesa, e o algoritmo quase se escreve sozinho. No grupo atual de linhas:

  1. Para cada característica — luz solar e depois água —
  2. para cada limiar de ponto médio dessa característica,
  3. calcule o ganho de Gini da pergunta que eles formam
  4. e lembre a melhor vista até agora.

Essa é a busca inteira: dois laços aninhados e uma vencedora na memória. Não há nenhuma esperteza lá dentro — o computador faz exatamente o que você fez no primeiro experimento, exceto que ele testa todas as 18 perguntas e se recusa a ter gosto próprio. Veja a busca rodar.

Experimento 3 · automatize a escolha

Deixe o computador testar todas as perguntas

0 de 18 perguntas testadas
Nenhuma linha testada ainda
As dez sementes e a linha divisória atualOs círculos representam sementes saudáveis; os quadrados, sementes com dificuldade. A linha se move quando o limiar selecionado muda.1234561234Luz solar por dia (h) = 1,2Semente A · Saudável · 1 h de sol · 1,4 L de águaASemente B · Saudável · 1,4 h de sol · 2,7 L de águaBSemente C · Saudável · 2 h de sol · 1,9 L de águaCSemente D · Com dificuldade · 2,5 h de sol · 3,5 L de águaDSemente E · Saudável · 3,2 h de sol · 2,4 L de águaESemente F · Com dificuldade · 3,8 h de sol · 4,2 L de águaFSemente G · Com dificuldade · 4,3 h de sol · 1,5 L de águaGSemente H · Com dificuldade · 4,9 h de sol · 3,1 L de águaHSemente I · Com dificuldade · 5,5 h de sol · 2 L de águaISemente J · Com dificuldade · 6,1 h de sol · 3,9 L de águaJhoras de luz solar por diaágua por semana (L)

A busca ainda não começou. Execute-a e observe a linha varrer as duas características, uma pergunta de cada vez.

O registro da busca · um ganho por pergunta
para cada limiar de Luz solar por dia (h)
para cada limiar de Água / semana

Cada barra vai registrar o ganho de uma pergunta. A busca guarda a mais alta.

Se você rodou a busca até o fim, a vencedora numérica confirmou o padrão que os seus olhos podiam ver: luz solar ≤ 3,5 mantém juntas as cinco sementes com muita luz em um grupo puro com dificuldade e obtém ganho 0,320. O laço não inventou uma ideia nova; ele mediu todas as linhas possíveis e confirmou a mais clara.

A terceira habilidade: repetir em cada folha mista

Uma busca produz uma pergunta, e uma pergunta ainda não é uma árvore. A divisão vencedora deixa F, G, H, I e J em uma folha pura com dificuldade — esse lado está pronto. O outro lado ainda contém os dois rótulos, então rodamos exatamente a mesma busca apenas em A, B, C, D e E. Água ≤ 3,1 separa D das quatro sementes saudáveis, e todas as folhas ficam puras.

Esse padrão — um procedimento que se aplica aos problemas menores que ele mesmo cria — é chamado de recursão. A regra nunca muda; apenas o conjunto de linhas ativas diminui. Avance passo a passo abaixo e tente prever qual grupo será dividido em seguida.

Uma vencedora, duas formas equivalentes de ver a pontuação

O experimento anterior manteve o maior ganho. Os dois gráficos abaixo mantêm o menor Gini ponderado depois da divisão, um gráfico por atributo. As duas regras escolhem a mesma vencedora porque o Gini inicial é fixo:ganho = Gini inicial − Gini depois da divisão.

Experimento 4 · automatize a recursão

Veja a busca local se tornar uma árvore

0 de 2 divisões confirmadas

A recursão escolheu a raiz: somente as 10 linhas desta região entram na próxima busca.

Mesmos pontos · a linha varre somente a região ativa
Busca recursiva no espaço dos dadosA região ativa permanece destacada enquanto uma linha testa cada limiar local. As linhas sólidas são divisões já confirmadas.4 · □ 61234561234ABCDEFGHIJLuz solar por dia (h)Água por semana (L)
Busca local · raiz0/18 limiares
Luz solar por dia (h)1,25,8Gini após divisão ↓
Água / semana1,454,05Gini após divisão ↓

A varredura ainda não começou nesta região.

Cada vencedora local entra na árvore
linhas aguardando aqui10 amostras
ABCDEFGHIJ
Região em focoraiz10 linhas nesta busca

A estrutura final merece um olhar completo:

Deslize horizontalmente para acompanhar a árvore completa.

A estrutura ramificada completa, com duas perguntasA raiz pergunta se a luz solar é no máximo 3,5. Seu filho esquerdo pergunta se a água é no máximo 3,1. Três folhas preveem saudável ou com dificuldade.simnãosimnãoLuz solar ≤ 3,5?A B C D E F G H I JÁgua ≤ 3,1?A B C D ECom dificuldadeF G H I JSaudávelA B C ECom dificuldadeD
Duas buscas, duas perguntas, três folhas. As regiões que você cortou no gráfico e as folhas desta árvore são duas visões da mesma partição.

Compare com a árvore que você construiu à mão. O computador pode não ter feito os seus cortes exatos, mas seguiu exatamente o seu método — e agora os dois vocabulários se alinham:

um grupo de linhas e uma pergunta
Ramouma resposta à pergunta
Folhaum grupo final e sua previsão

Teste o mecanismo

As mesmas perguntas pequenas podem criar fronteiras complexas

O conjunto das sementes terminou depois de duas perguntas porque o padrão era incomumente cooperativo. O algoritmo não está limitado a dois cortes. Cada nova pergunta atua apenas dentro de uma região existente, então linhas verticais e horizontais podem se combinar em faixas, escadas, caixas e muitos retângulos menores.

Escolha abaixo um padrão de pontos e tente prever do que a árvore precisará antes de executá-la. Depois, percorra a mesma busca por Gini que você acabou de aprender: percorra x e y, teste cada limiar de ponto médio, mantenha o maior ganho e repita dentro das regiões que ainda estão misturadas.

Experimento 5 · varie os dados

Veja a mesma busca criar árvores diferentes

0 de 1 divisões confirmadas

Um corte limpo. Uma pergunta vertical separa todos os pontos.

A recursão escolheu a raiz: somente as 12 linhas desta região entram na próxima busca.

Mesmos pontos · a linha varre somente a região ativa
Busca recursiva no espaço dos dadosA região ativa permanece destacada enquanto uma linha testa cada limiar local. As linhas sólidas são divisões já confirmadas.6 · □ 612345671234567123456789101112xy
Busca local · raiz0/22 limiares
x1,16,65Gini após divisão ↓
y1,16,3Gini após divisão ↓

A varredura ainda não começou nesta região.

Cada vencedora local entra na árvore
linhas aguardando aqui12 amostras
123456789101112
Região em focoraiz12 linhas nesta busca

Agora o invariante fica mais nítido. Uma fronteira mais elaborada não exige um tipo mais elaborado de pergunta; exige mais rodadas da mesma busca. A diagonal vira uma escada porque esta árvore só faz perguntas alinhadas aos eixos e sobre uma característica por vez. A ilha central exige cortes aninhados porque nenhuma pergunta vertical ou horizontal consegue isolar sozinha o grupo do meio.

Mais divisões também significam mais oportunidades de ajustar acidentes nos pontos de treino. É por isso que a complexidade da árvore não pode crescer sem uma regra de parada.

Quando a árvore deve parar?

Nossos dados de brinquedo ficam puros depois de duas perguntas. Dados reais são mais ruidosos, e uma árvore que continua dividindo pode acabar memorizando pequenos acidentes do conjunto de treino. Por isso, árvores práticas param de crescer um ramo quando qualquer uma destas condições vale:

  1. O nó é puro. Todas as linhas ativas têm o mesmo rótulo.
  2. Nenhuma divisão tem ganho positivo. As perguntas disponíveis não melhoram o grupo.
  3. O limite de profundidade foi atingido. Recusamo-nos a fazer mais perguntas aninhadas.
  4. Restam poucas linhas. Evitamos criar uma regra a partir de um grupo frágil.

Quando um ramo para, sua folha prevê o rótulo mais comum entre as linhas dela. A folha também pode guardar as contagens de classe: uma folha com oito sementes saudáveis e duas com dificuldade é menos confiante do que uma com dez saudáveis, ainda que as duas prevejam saudável.

A árvore é gulosa

Em cada nó, a busca mantém a melhor divisão que consegue ver naquele momento. Ela nunca pergunta se uma primeira divisão um pouco pior permitiria divisões muito melhores depois — testar todas as árvores completas possíveis seria astronomicamente caro. Esse atalho torna o treino rápido, e seu custo é a honestidade sobre a palavra “melhor”: a divisão vencedora é apenas a melhor escolha local, segundo a pontuação atual, para as linhas atuais.

A previsão percorre as perguntas concluídas

O treino pesquisou muitas perguntas; a previsão responde apenas às que sobreviveram. Uma nova linha começa na raiz e segue um ramo de cada vez até chegar a uma folha.

Volte à semente K

A semente K recebe 3 horas de luz solar e 2 L de água. Onde ela chega?

Diga cada resposta antes de abrir o caminho.

Revelar o caminho

A luz solar é no máximo 3,5, então K vai para a esquerda. A água é no máximo 3,1, então K vai novamente para a esquerda — direto para a folha “saudável”. Essa é uma previsão do nosso pequeno conjunto de dados, não a afirmação de que esse plano de luz e irrigação faz uma semente ficar saudável.

Um resultado perfeito no treino pode ser um alerta

Esta árvore classifica corretamente as dez sementes de treino. Isso é conveniente para ensinar, porque todas as etapas ficam visíveis. Em dados reais, a perfeição costuma ser um sintoma: a árvore pode ter memorizado as linhas de treino em vez de aprender um padrão. Essa falha se chama sobreajuste, e nós a detectamos testando com dados rotulados que a árvore nunca usou ao escolher seus limiares. Limites de profundidade, tamanhos mínimos de grupo, ganho mínimo e poda expressam o mesmo princípio: um novo ramo precisa merecer sua complexidade.

Ideia humanaencontrar uma pergunta simples que revele um padrão
Regra matemáticamaximizar a redução da mistura ponderada
Estrutura aprendidaperguntas conectadas por ramos sim e não
Previsãoresponder a perguntas até chegar a uma folha

Além do plano

Mais características, os mesmos dois laços

Todos os experimentos até aqui usaram duas características, e essa foi uma escolha de cenário, não de método. Duas características cabem em uma tela, então cada pergunta podia ser desenhada como uma linha. Mas repare no que a busca de fato consumiu: ela ordenou uma coluna, tomou pontos médios, contou rótulos e calculou um ganho. Em nenhum momento o algoritmo olhou para o desenho. Ele leu colunas.

Então deixe que ele leia mais colunas. A tabela abaixo descreve doze mudas de estufa com três medições cada — luz solar, água e temperatura. Uma terceira característica já exigiria um gráfico tridimensional, e uma quarta inviabilizaria o desenho por completo. A tabela não tem esse limite, então desta vez a própria tabela é o espaço dos dados.

Nada na receita muda. Para cada característica — agora três — epara cada limiar de ponto médio dessa característica, calcule o ganho de Gini da pergunta que elas formam e lembre a melhor vista até agora. Doze valores distintos por coluna geram onze pontos médios, então a busca na raiz testa exatamente 3 × 11 = 33 candidatas. Depois, a pergunta vencedora divide as linhas em dois grupos, e a mesma busca roda de novo dentro de qualquer grupo que continue misturado.

Veja a generalização

Sobre qual coluna você perguntaria primeiro?

Examine a tabela antes de executar a busca. Enquanto uma pergunta é testada, as linhas que respondem sim se destacam, e os gráficos sob a tabela registram o Gini ponderado de cada limiar testado — o mesmo registro que você já conhece, com uma pista a mais.

Experimento 6 · além de duas características

Deixe a mesma busca percorrer três colunas

0 de 3 divisões confirmadas

A recursão escolheu a raiz: somente as linhas 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 entram na próxima busca.

A tabela é o espaço dos dados · linhas destacadas respondem sim à pergunta atual
Dados de treino das sementes e rotas da divisão candidata atual
IDLuz solar por dia (h)Água / semanaTemperatura (°C)Classe
13,9314
24,23,116
353,615
43,22,817
54,5123
64,61,426
722,227
81,53,322
93,52,621
1042,924
114,83,420
125,5425
Busca local · raiz0/33 limiares
Luz solar por dia (h)1,755,25Gini após divisão ↓
Água / semana1,23,8Gini após divisão ↓
Temperatura (°C)14,526,5Gini após divisão ↓

A varredura ainda não começou nesta região.

Cada vencedora local entra na árvore
linhas aguardando aqui12 amostras
123456789101112
Grupo em focoraiz12 linhas nesta busca · 33 candidatos

A pergunta vencedora da raiz veio da coluna de temperatura — uma característica que nenhum gráfico bidimensional de luz solar e água conseguiria sequer mostrar. O laço não precisou saber disso de antemão; a temperatura simplesmente produziu o maior ganho, e a memória a manteve. A recursão então rodou mais duas vezes: dentro do grupo quente, a água separou as três mudas com pouca água, e dentro do grupo quente e irrigado, a luz solar isolou a única muda sombreada. Três buscas, três características, quatro folhas puras — cada coluna conquistou seu nó vencendo uma busca local.

Essa é toda a generalização. O laço nunca pergunta quantas colunas a tabela tem; ele só pede a próxima. Dez características significariam dez pistas no registro e um laço mais longo — não uma ideia nova. Os gráficos de duas características desta lição foram um andaime para os seus olhos. O algoritmo esteve lendo a tabela o tempo todo.

Este ainda é um problema de brinquedo

Todos os experimentos desta introdução usam no máximo três características numéricas, para que cada etapa de cada busca permaneça visível. Tabelas reais podem ter muito mais colunas, valores ausentes, mais de duas classes e colunas categóricas ou ordinais. Esses casos exigem decisões sobre perguntas válidas, roteamento, codificação, parada e avaliação que este artigo não cobre. Nosso objetivo aqui foi mais estreito: expor com fidelidade o princípio central — percorrer características e limiares, pontuar cada candidata com Gini, manter a melhor divisão local e aplicar recursão.

Guarde o menor modelo mental que ainda seja útil

Uma árvore de decisão é uma busca repetida por perguntas úteis.

Em cada nó, teste todas as divisões candidatas. Mantenha a que mais reduz a mistura dos rótulos conhecidos. Depois, repita apenas onde os rótulos ainda estiverem misturados.

Você construiu a árvore primeiro e conheceu o algoritmo depois — e essa ordem era o ponto central. A fórmula não trouxe nenhuma ideia nova; o ganho de Gini apenas transformou o julgamento que os seus olhos já faziam em um número que um laço consegue maximizar. O diagrama nunca foi o ponto de partida. Ele foi o resultado.

Você entendeu o mecanismo se agora consegue…

  • olhar para uma pequena tabela e propor um limiar útil;
  • explicar por que apenas os limiares de ponto médio precisam ser testados;
  • calcular a impureza de Gini e o ganho de Gini ponderado;
  • enunciar o algoritmo de treino como dois laços mais recursão;
  • prever por que geometrias diferentes exigem formatos diferentes de árvore;
  • explicar por que a divisão vencedora é apenas uma vencedora local;
  • acompanhar uma nova linha desde a raiz até uma previsão.