Você já treina modelos. Sabe rodar um RandomForestClassifier, calcular uma acurácia, plotar uma matriz de confusão. Este curso começa exatamente onde esse conhecimento termina. A pergunta que guia tudo aqui não é "como treino um modelo?", e sim "como sei que meu modelo é bom de verdade, como o torno robusto, e como explico o que ele aprendeu?".
Machine Learning em produção falha por motivos que raramente aparecem em tutoriais introdutórios: validação que vaza informação do futuro, métricas enganosas em classes desbalanceadas, hiperparâmetros escolhidos com viés otimista, ensembles montados sem entender o trade-off viés-variância, e modelos "caixa-preta" que ninguém consegue auditar. Este curso ataca cada um desses pontos.
Formar um praticante capaz de avaliar, otimizar, combinar e interpretar modelos no estado da arte, usando tanto Python (scikit-learn, XGBoost, LightGBM, PyTorch, SHAP) quanto R (tidymodels, mlr3, caret), com rigor metodológico suficiente para levar modelos a produção sem se enganar pelo caminho.
Pré-requisitos
Este é um curso avançado. Assumimos que você já:
- Entende ML supervisionado básico (regressão/classificação, overfitting, train/test split, matriz de confusão).
- Programa em Python no contexto de dados e ML. Se precisar revisar, comece pela trilha AI Programming with Python aqui do site, que cobre Python, NumPy, Pandas e o essencial de scikit-learn. Não vamos repetir esse conteúdo — ele é o alicerce sobre o qual construímos.
- Tem noções de estatística (média, desvio, distribuições, testes de hipótese).
Se você não conhece R, tudo bem: as duas primeiras aulas (#01 e #01a) fazem uma revisão densa e orientada a ML da linguagem, porque usamos R em paralelo ao longo do curso e ele não é coberto na trilha de Python.
Mapa do curso
- Introdução ao R: fundamentos da linguagem (vetores, fatores, listas, data.frames,
apply). - R para ML:
tidyverse,tidymodelsemlr3, com o mesmo padrão anti-vazamento do scikit-learn. - Módulo 1 — Avaliação e Benchmarking: validação cruzada correta, bootstrap, validação temporal, testes estatísticos entre modelos.
- Módulo 2 — Classificação Avançada: desbalanceamento, multirrótulo, calibração de probabilidade, custo assimétrico.
- Módulo 3 — Feature e Target Engineering: transformações, encoding, tratamento do alvo, vazamento de dados.
- Módulo 4 — Representação e Seleção de Características: filtros, wrappers, embedded, redução de dimensionalidade.
- Módulo 5 — Otimização de Hiperparâmetros: grid, random, otimização bayesiana, Hyperband, nested CV.
- Módulo 6 e 7 — Ensembles: bagging, random forest, boosting (AdaBoost, gradient boosting, XGBoost/LightGBM), stacking.
- Módulo 8 — Interpretabilidade e Explicabilidade: importância de variáveis, PDP/ICE, LIME, SHAP, contrafactuais.
- Módulo 9 e 10 — Deep Learning: MLPs, CNNs, RNNs/Transformers, GANs, regularização e treino estável.
Python e R não competem, se complementam
Não competem — se complementam. Python domina o ecossistema de deep learning e engenharia de produção; R tem um dos ambientes mais elegantes e rigorosos para estatística, benchmarking e visualização. Um praticante avançado sabe transitar entre os dois e escolher a ferramenta certa para cada etapa. Ao longo do curso, mostramos os mesmos conceitos nas duas linguagens sempre que isso agrega.
Ferramentas que vamos usar
# Stack Python de referência do curso
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import sklearn # 1.4+
import xgboost, lightgbm # gradient boosting
import shap # explicabilidade
import torch # deep learning
# Stack R de referência do curso
library(tidyverse) # manipulação e visualização
library(tidymodels) # workflow moderno de ML
library(mlr3verse) # framework alternativo, muito poderoso
library(xgboost) # boosting
Como cada aula é organizada
Toda aula tem: uma introdução motivadora, objetivo, seções numeradas com teoria e código executável, um resumo, uma lista de exercícios com respostas comentadas e uma seção de referências. Rode os códigos. Modifique-os. Quebre-os de propósito. É assim que se aprende.
Uma advertência filosófica
O erro mais caro em ML não é escolher o algoritmo errado — é acreditar em um número que mentiu para você. Um AUC de 0.95 que na verdade veio de vazamento de dados custa mais caro do que um AUC honesto de 0.80. Este curso é, em grande parte, um treinamento em ceticismo metódico: desconfiar das próprias métricas até prová-las corretas.
O curso foca em avaliar, otimizar, combinar e interpretar modelos — não em treiná-los pela primeira vez. Python é pré-requisito e já está coberto na trilha AI Programming with Python do site, então aqui ele não se repete; o R, sim, é revisado logo no começo, porque as duas linguagens andam em paralelo do início ao fim. Cada aula é autocontida: teoria, código, resumo, exercícios e referências. E a postura que atravessa tudo é o ceticismo — nunca confie numa métrica sem entender de onde ela veio.
Exercícios
-
Liste três razões pelas quais um modelo com excelente desempenho no conjunto de teste ainda pode falhar em produção.
✓ Resposta:(a) Vazamento de dados — alguma feature carregava informação do alvo que não estará disponível em produção. (b) Drift de distribuição — os dados de produção diferem dos de treino/teste. (c) Vazamento temporal — a validação misturou passado e futuro. Também: métrica inadequada ao problema de negócio e otimização de hiperparâmetros no mesmo conjunto usado para reportar o resultado.
-
Por que a acurácia é uma métrica perigosa em um problema de detecção de fraude onde 0,3% das transações são fraudulentas?
✓ Resposta:Um modelo que prevê "não é fraude" para tudo atinge 99,7% de acurácia sem detectar nenhuma fraude. A acurácia é dominada pela classe majoritária. Precisão, recall, F1, PR-AUC e custo esperado ponderado são muito mais informativos — tema do Módulo 2.
-
Qual a diferença entre otimizar e avaliar um modelo, e por que misturá-los no mesmo conjunto é um problema?
✓ Resposta:Otimizar é escolher configurações que melhoram o desempenho; avaliar é estimar de forma imparcial o desempenho em dados novos. Usar o mesmo conjunto para ambos ajusta as decisões às particularidades daquele conjunto, gerando estimativa otimista (viés de seleção). Solução: conjuntos separados ou validação aninhada (Módulo 5).
Fontes e leituras recomendadas
- Trilha AI Programming with Python (pré-requisito)
- scikit-learn — User Guide
- tidymodels
- mlr3 book
- Hastie, Tibshirani, Friedman — The Elements of Statistical Learning: ESL