Escola da Nuvem · Aula 3

Um balaio
de gatos pra
entender
ML de verdade.

Regressão, Classificação, Clustering, K-NN, XGBoost, K-means... cada técnica vira fácil quando o exemplo é gato. Prever o peso do filhote, descobrir a raça pela aparência, agrupar gatos por personalidade. Role pra baixo, mexe nos controles, veja os modelos aprendendo ao vivo.

Bora começar 🐾
🐈 🐈‍⬛ 😺 😻 🙀 🐾
📈 REGRESSÃO🏷️ CLASSIFICAÇÃO🎯 CLUSTERING📏 LINEAR🌳 ÁRVORES🧭 K-NN🚀 XGBOOST🔵 K-MEANS📈 REGRESSÃO🏷️ CLASSIFICAÇÃO🎯 CLUSTERING📏 LINEAR🌳 ÁRVORES🧭 K-NN🚀 XGBOOST🔵 K-MEANS
Módulo 01 · Fundamentos

O que é Machine Learning, na real?

Em vez de você programar TODAS as regras na unha ("se o gato tem orelhas dobradas E focinho redondo, é Scottish Fold"), você dá exemplos rotulados pro computador. Ele aprende os padrões sozinho. Quando aparece um gato novo, ele palpita.

📊
Dados históricos
Fichas do abrigo, gatos já adotados, fotos rotuladas por raça, consultas veterinárias passadas.
🤖
Modelo aprende
O algoritmo identifica padrões nos dados e ajusta seus "parâmetros internos".
🎯
Previsão ou decisão
Pra um gato novo, o modelo cospe uma resposta: um número (peso, idade), uma categoria (raça, doente sim/não), um grupo (personalidade).

As três famílias de técnicas

Todo problema de ML cai numa dessas três famílias. Cada uma responde uma pergunta diferente:

📈
Regressão
Pergunta: Quanto?

Prever um número contínuo. Peso do gato, gasto mensal, expectativa de vida.

Vemos hoje: Regressão Linear · Árvores de Decisão
🏷️
Classificação
Pergunta: Qual categoria?

Atribuir uma classe ou rótulo. Tem pulga ou não? Persa, Siamês ou SRD?

Vemos hoje: Binária · Multiclasse · K-NN · XGBoost
🎯
Clustering
Pergunta: Quem se parece com quem?

Achar grupos naturais sem rótulos. Sem ninguém dizer o que é o quê.

Vemos hoje: K-means
🎓 Supervisionado

Você dá exemplos com a resposta certa. O modelo aprende olhando o gabarito. Inclui Regressão e Classificação.

🕵️ Não-supervisionado

Você dá os dados sem rótulo. O modelo procura padrões por conta. É o caso de Clustering.

MÓDULO 02 📈 Regressão

Quanto pesa esse gato? Prever números.

Imagina que você é veterinário e quer responder: "quanto esse filhote vai pesar com 6 meses?" ou "quanto vou gastar por mês com esse gato idoso?" O alvo é um número, não uma categoria. Isso é regressão.

⚖️ kg
Peso do gato adulto
💰 R$
Gasto mensal
🕯️ anos
Expectativa de vida

📏 Regressão Linear

A ideia é simples: traçar a melhor reta que descreve os dados. Cada mês a mais soma X gramas no peso do filhote. Linear = proporção fixa. Mexe nos sliders pra ver o modelo se ajustando ao vivo.

🐈 Idade (meses) × Peso do filhote (kg)

Cada ponto é um gato medido. Mexa nos sliders pra encaixar a reta nos pontos.

Idade (meses) Peso (kg) 0 12 0 5 A reta tenta passar perto de todos os pontos
Erro médio (MAE) = 0,38 kg
Peso previsto pela reta: 2,4 kg
"Qual a melhor reta que passa por esses pontos?"

A reta tem dois parâmetros: inclinação (quanto cada mês extra adiciona de peso) e intercepto (peso ao nascer, no mês zero). O modelo busca a combinação que minimiza o erro total.

A "fórmula" é: Peso = Inclinação × Idade + Intercepto. Pra prever um filhote novo de 6 meses, é só substituir e calcular.

Vantagens: simples, rápida, fácil de explicar. Limite: só funciona se a relação for aproximadamente linear. Gato cresce rápido nos primeiros meses e depois estabiliza - pra isso uma reta não basta.

Quando usar? Estimar peso, consumo de ração, gasto mensal. Sempre que você tem uma intuição de que "quanto mais X, mais Y" (ou menos). Modelo "default" pra começar qualquer regressão.
Módulo 02 · continua

🌳 Árvores de Decisão

Quando a regra não é "mais idade = mais gasto" linear, mas "se for filhote E for raça pura, gasta muito", a árvore faz o trabalho. Ela aprende uma sequência de perguntas binárias. Clica nas opções e percorra a árvore como o modelo faria.

🐈 Árvore que prevê o gasto mensal com o gato

Configure o gato embaixo e veja qual folha o modelo escolhe.

Gato adulto? decisão 1 Não Sim Raça pura? decisão 2 Doença crônica? decisão 2 Não Sim Não Sim R$ 280 Filhote SRD, vacina + ração R$ 520 Filhote raça, ração premium R$ 220 Adulto saudável, só manutenção R$ 780 Adulto doente, remédio + vet 🟧 Decisão · 🟢 Sub-decisão · ⬜ Folha (resposta final) "Cada folha entrega uma previsão"
🎂 Gato adulto (> 1 ano)?
🐈 Raça pura?
"Que pergunta divide melhor os dados em grupos parecidos?"

A árvore é só uma sequência de "se isso, então aquilo". O algoritmo escolhe sozinho qual pergunta fazer primeiro (a que mais separa os dados em grupos homogêneos).

Cada folha (caixinha do final) é uma resposta: o gasto médio dos gatos que caíram ali no treino. Quando um gato novo chega, ele percorre o caminho e termina numa folha.

Vantagens: captura padrões não-lineares (regressão linear não conseguiria), aceita variáveis categóricas (raça pura sim/não, doença sim/não), e é fácil de visualizar e explicar pro tutor.

Cuidado: se a árvore for muito profunda, ela decora os gatos do treino e erra em gatos novos (overfitting).

Na nuvem: Amazon SageMaker, Vertex AI (Google) e Azure ML têm os dois prontos (Linear Learner / Decision Tree). É só apontar pros seus dados e configurar.

📏 vs 🌳 - Quando usar cada uma?

📏 Regressão Linear
  • Relação reta entre as variáveis
  • Coeficientes interpretáveis ("cada mês rende 400g")
  • Rápida, estável, super conhecida
  • ❌ Falha com padrões complexos
🌳 Árvore de Decisão
  • Captura regras condicionais ("se raça pura E filhote")
  • Aceita variáveis mistas (texto, números, sim/não)
  • Visualizável, explicável
  • ❌ Pode "decorar" e errar em gatos novos
MÓDULO 03 🏷️ Classificação

Que tipo de gato é esse? Prever categorias.

Em vez de prever "quanto", agora a gente quer prever "qual". Tem pulga ou não? Cor do pelo? Persa, Siamês ou SRD? Comportamento de miado? A saída é uma categoria, não um número.

🟡 Classificação Binária

Só duas categorias possíveis. O modelo cospe uma probabilidade entre 0 e 1, e você define um limiar (threshold). Mexe no slider e veja como o trade-off muda.

🦟 O gato tem pulga?

Cada bolinha é um gato que chegou no veterinário. O eixo é a probabilidade de ter pulga que o modelo previu (com base em coceira, queda de pelo, escamas). Onde você corta?

0.0 0.25 0.5 0.75 1.0 Probabilidade prevista pelo modelo limiar = 0.5 ✅ SEM PULGA classe negativa 🦟 COM PULGA classe positiva
10 pulgas pegas
2 falsos positivos
2 pulgas perdidas
"Acima de que probabilidade eu chamo de infestação?"

O modelo nunca cospe "com pulga" direto. Ele cospe um número entre 0 e 1 ("esse gato tem 0,87 de chance de estar com pulga"). Você escolhe o limiar.

Limiar baixo (ex.: 0,2): mais sensível, pega quase todo gato com pulga, mas trata muito gato saudável à toa (estresse desnecessário pro bicho).

Limiar alto (ex.: 0,9): só trata o que tem MUITA cara de pulga. Quase nenhum tratamento desnecessário, mas deixa passar infestações reais (gato sofre).

Não existe limiar "certo". Existe o limiar que melhor encaixa no seu problema. Abrigo grande quer pegar toda pulga (limiar baixo). Pet shop não quer alarmar tutor à toa (limiar alto).

Exemplos clássicos no mundo dos gatos: Tem pulga ou não · Vermes sim/não · Castrado sim/não · Gato senior vs jovem · Vai usar a caixinha ou não · Adoção rápida vs longa permanência.

🎟️ Classificação Multiclasse

Mais de duas categorias. O modelo calcula uma probabilidade pra cada classe, e escolhe a maior. Clica nos exemplos de ticket pra ver como o modelo classifica.

🐈 Áudio de miado capturado "Miado curto e repetido, vindo da direção da cozinha às 6h da manhã"
🏆 Classe escolhida: Fome
🧠 Como o modelo "decide"

Pra cada miado, o modelo calcula a probabilidade dele pertencer a cada uma das classes possíveis. As probabilidades sempre somam 100%.

Depois, ele simplesmente escolhe a classe com maior probabilidade. No 4º miado (ambíguo), o modelo até dá um "vencedor", mas a confiança é baixa - sinal de que o tutor precisa observar o gato em vez de confiar cegamente.

Módulo 03 · algoritmo 1

🧭 K-NN (K-Nearest Neighbors)

"Me diga com quem andas e te direi quem és." Pra classificar um gato novo, o K-NN olha os K gatos mais parecidos que ele já viu e vai pela maioria. Simples assim. Mexe no K e veja a decisão mudar.

🐈‍⬛ 🐈 Que raça é esse gato?

O ponto preto é um gato novo que apareceu no abrigo. Os outros o modelo já conhece (Persa vs SRD). Mudando o K, ele olha mais ou menos vizinhos.

? gato novo Porte (kg) Pelo longo
Decisão do modelo: 🐈‍⬛ Persa
🐈‍⬛ Persa: 2
🐈 SRD: 1
"Olha os 3 mais parecidos: que raça eles são?"

K-NN não tem "treinamento" pesado. Ele só guarda todos os exemplos. Quando chega um gato novo, ele calcula a distância dele pra cada gato conhecido, pega os K mais próximos e vê qual raça aparece mais.

K = 1 (só o vizinho mais próximo): super sensível, se um gato do treino tiver sido rotulado errado, ele decide errado. Muito ruído.

K muito grande: o modelo perde a "vizinhança local". Vira praticamente "sempre prever a raça majoritária do abrigo".

K bem ajustado (3, 5, 7...): equilibra captar o padrão local sem se enganar com gatos atípicos.

Vantagem: Simples e intuitivo. Desvantagem: Lento com muitos dados (precisa calcular distância pra TODO gato do banco a cada nova previsão). Bom pra protótipos e datasets pequenos/médios.
Módulo 03 · algoritmo 2

🚀 XGBoost o queridinho das competições

Lembra das árvores de decisão? E se a gente treinasse centenas de árvores em sequência, onde cada uma corrige os erros da anterior? Esse é o XGBoost. Ele é o padrão de mercado pra dados tabulares - fichas de abrigo, históricos de adoção, registros veterinários.

🌳 → 🌳 → 🌳 → 🌳 - Árvores que aprendem em equipe

Imagina prever se um gato do abrigo vai ser adotado nos próximos 30 dias. Clica nos números pra ver o erro do modelo diminuindo a cada nova árvore.

Cada árvore foca no que a anterior errou 🌳 Árvore 1 primeira tentativa Acerto 62% 🌳 Árvore 2 foca nos erros da 1 Acerto acumulado 75% 🌳 Árvore 3 corrige resto Acerto acumulado 86% 🏆 Modelo final 93% Erros que cada árvore ainda comete: Árvore 1 + Árvore 2 + Árvore 3 🔴 vermelho = ainda errado · 🟢 verde = já acertou
Erros cometidos pelo modelo: 38 de 100
"E se cada modelo novo aprendesse com o erro do anterior?"

XGBoost = "eXtreme Gradient Boosting". A ideia: começa com uma árvore simples (que erra bastante - chuta adoção sempre). Depois, treina uma nova árvore só nos erros da primeira (foca nos gatos que ela errou). E outra nos erros dessa. E assim por diante. O modelo final é a soma de todas.

Cada nova árvore é "fraca" sozinha. Mas a combinação delas é poderosíssima. É como um time de voluntários do abrigo onde cada um cobre a fraqueza do outro.

Por isso é o padrão de mercado: ganha competições do Kaggle, roda em produção em bancos, e-commerce, recomendação, fraude. E funciona em qualquer dado tabular - inclusive ficha de gato.

Versátil: XGBoost também faz regressão (prever tempo até adoção em dias) e ranking (ordenar gatos por chance de adoção, ou ordenar candidatos a tutor por compatibilidade). Veja abaixo.

🔍 XGBoost pra ranking

Quando o abrigo busca um tutor pra um gato idoso com diabetes, o sistema não classifica em "relevante / não-relevante". Ele ordena todos os candidatos do mais ao menos compatível. O XGBoost aprende essa ordenação a partir de adoções bem-sucedidas no passado.

#1 🏠 Maria, 52, casa, vive sozinha, teve gato 15 anos 9.4
#2 🏠 João & Ana, 60+, apto, experiência com pet idoso 8.1
#3 🏠 Felipe, 28, apto pequeno, primeiro pet 4.8
#4 🏠 Família com 3 crianças pequenas e dois cachorros 2.1
💡 Como aprende? Durante o treino, o XGBoost olha pares de candidatos da mesma adoção passada e aprende que o tutor cuja adoção deu certo (gato ficou na casa) deve ter score maior. Repete isso com milhares de históricos. Onde aparece o mesmo padrão? Buscadores, recomendação de e-commerce, priorização de leads em CRM, feed de redes sociais - todo lugar onde a ordem importa.
MÓDULO 04 🎯 Clustering

Quem se parece com quem? Achar grupos.

Aqui muda o jogo: ninguém te disse antes qual gato é "bagunceiro" ou "calmo", qual é "carente" ou "independente". O modelo precisa descobrir sozinho. Sem rótulos. É aprendizado não-supervisionado.

🔵 K-means

O algoritmo mais clássico de clustering. Você escolhe o K (quantos grupos) e ele divide os gatos do abrigo em personalidades. Mexe no K e clica em "iterar" pra ver os centróides se ajustando ao vivo.

🐾 Personalidade dos gatos do abrigo

Cada bolinha é um gato do abrigo posicionado por nível de atividade × sociabilidade. O algoritmo agrupa quem se parece pra ajudar o tutor a achar o gato certo.

Nível de atividade Sociabilidade × = centróide do grupo
Iteração 0 · Estado: inicial
"Quem está perto de quem? Vamos agrupar."

O algoritmo é genialmente simples, em 4 passos que se repetem:

  1. Defina K (quantos grupos você quer)
  2. Posicione K centróides aleatoriamente (os "centros" iniciais dos grupos)
  3. Cada ponto vai pro centróide mais próximo
  4. Recalcule cada centróide como a média do seu grupo. Volte ao passo 3.

Repete até os grupos pararem de mudar. Pronto: grupos descobertos.

Onde se aplica: Agrupar gatos por personalidade (e ajudar o match com tutor certo), agrupar clientes da pet shop por hábito de compra, identificar padrões anômalos no comportamento de um gato monitorado, segmentar tutores por estilo de vida.

⚠️ Cuidados: A escolha do K é do analista, e muda muito o resultado (teste valores!). Funciona melhor com grupos "redondos" - clusters muito alongados confundem. Sensível à escala: normalize as variáveis antes (se atividade vai de 0-1 e peso vai de 0-10kg, o peso domina o cálculo de distância).
Encerramento · Visão comparativa

Tudo num quadro só.

As 3 famílias, as 5 técnicas, lado a lado. Imprime, salva, guarda.

Família Pergunta Saída Aprendizado Técnicas que vimos
📈 Regressão "Quanto?" Valor numérico contínuo Supervisionado 📏 Linear 🌳 Árvores
🏷️ Classificação "Qual categoria?" Categoria (rótulo) Supervisionado 🟡 Binária 🎟️ Multiclasse 🧭 K-NN 🚀 XGBoost
🎯 Clustering "Quem se parece?" Grupo descoberto Não-supervisionado 🔵 K-means
📍 Bússola final

Como escolher a técnica certa.

Você tá com um problema na mão. Por onde começar? Use esse fluxograma mental. Não tem receita perfeita, mas tem caminhos óbvios.

🔢
"Preciso prever um número?"
↓ Sim ↓
Regressão
Linear pra relações simples ("mais idade = mais peso"). Árvores quando tem regras condicionais ("se filhote E raça pura").
🏷️
"Preciso atribuir uma categoria?"
↓ Sim ↓
Classificação
K-NN pra protótipos rápidos e dados pequenos. XGBoost pra produção, alta precisão e dados tabulares.
🤷
"Não tenho rótulos, quero descobrir grupos."
↓ Sim ↓
Clustering
K-means pra encontrar grupos naturais (personalidades, perfis). Sempre teste vários valores de K e interprete os grupos com cuidado.
☁️ ML na nuvem

Por que ML mora na nuvem?

Você não precisa codar tudo do zero. AWS, Azure, GCP têm serviços gerenciados que treinam, hospedam e escalam modelos. Como IA Practitioner, você precisa saber o que cada um faz, não programar do zero.

📏
Escala sob demanda
Treinar modelo grande exige muita CPU/GPU. Na nuvem, você liga, treina, desliga. Paga só pelo uso.
🛠️
Serviços gerenciados
SageMaker (AWS), Vertex AI (Google), Azure ML cuidam de treino, deploy, monitoramento. Você foca no problema.
🚪
Acesso democratizado
APIs prontas (Rekognition, Comprehend, Translate) deixam qualquer dev usar ML sem ser PhD em estatística.
🎯 Pra IA Practitioner - o que você precisa lembrar
  1. Conceitos antes de ferramentas: entender quando usar regressão vs classificação vs clustering vale mais do que saber qual botão apertar no SageMaker.
  2. O problema define a técnica: não escolha XGBoost porque é "moda". Escolha porque seu problema é classificação tabular de alta precisão.
  3. Métricas casam com técnicas: regressão usa MAE/RMSE; classificação usa precisão/recall/F1; clustering usa coeficiente de silhueta. (Vimos as métricas de classificação na aula passada!)
  4. Sempre comece simples: Linear → Árvore → XGBoost. Se uma regressão linear já resolve, não complique.
TL;DR · Cola da aula

A cola visual.

Salva essa parte. Cada técnica responde a uma pergunta diferente.

📏 Regressão Linear
Regressão · Supervisionado
"Que reta passa melhor pelos pontos?"
Traça a melhor reta que descreve a relação. Coeficientes são interpretáveis.
Use quando: Relação aproximadamente linear. Peso por idade, gasto por consumo de ração.
🌳 Árvore de Decisão
Regressão e Classificação
"Que pergunta divide melhor os dados?"
Sequência de "se isso, então aquilo". Captura regras condicionais.
Use quando: Variáveis mistas, padrões não-lineares, precisa explicar a decisão pro tutor.
🟡 Classificação Binária
Classificação · Supervisionado
"Sim ou não?"
Duas classes possíveis. Modelo cospe probabilidade, você define o limiar.
Use quando: Tem pulga, tem verme, gato vai ser adotado, gato é castrado.
🎟️ Multiclasse
Classificação · Supervisionado
"Qual das N categorias?"
3+ classes. Probabilidade pra cada, escolhe a maior.
Use quando: Classificar tipo de miado, reconhecer raça, identificar humor.
🧭 K-NN
Classificação · Supervisionado
"Quais os K vizinhos mais próximos?"
Olha os K gatos parecidos e vai pela maioria. Sem treino pesado.
Use quando: Protótipos, abrigos pequenos, identificação rápida de raça por similaridade.
🚀 XGBoost
Classif./Regressão/Ranking
"Combinar várias árvores em sequência?"
Cada árvore corrige erros da anterior. Padrão de mercado.
Use quando: Fichas de abrigo em produção, alta precisão, recomendação de tutor, predição de adoção.
🔵 K-means
Clustering · Não-supervisionado
"Quem se parece com quem?"
Divide dados em K grupos, otimizando centróides iterativamente.
Use quando: Agrupar gatos por personalidade, descobrir perfis de tutor sem rótulos prévios.
🎯 Resumo do resumo
A regra de ouro
"Que técnica eu uso?"
Depende do que você quer prever: número (regressão), categoria (classificação) ou grupos sem rótulo (clustering). Comece simples, aumente complexidade só se precisar.