Pular para conteúdo
Preparação para entrevistas Machine Learning Aulas F1 a E5

Entrevistas de Machine Learning

Os 77 tópicos de Machine Learning (ML) que mais caem em entrevistas de estágio e emprego, da análise exploratória às redes neurais e às operações de ML (MLOps): o que estudar, como estudar e como responder. Com respostas curtas, um quiz, um checklist do seu progresso e, em cada tópico, o link para a aula em que ele é ensinado.

A pergunta das 14h

Uma cena que vai acontecer com você.

Quinta-feira, 14h. Entrevista para a vaga de estágio que você mais queria, numa equipe de dados. Depois das apresentações, a entrevistadora vira a tela do notebook para você: um modelo de churn (cancelamento de clientes), treinado por alguém do time, com 95% de accuracy no teste. E pergunta, sem mais nada:

"Esse modelo está bom?"
Ela não quer um sim ou um não. Quer ver como você pensa.

Existe uma resposta fraca ("sim, 95% é muito alto") e uma resposta forte, que começa com uma pergunta de volta: "qual é a taxa de churn?". Se só 5% dos clientes cancelam, um modelo que nunca prevê cancelamento já tem 95% de accuracy sem ter aprendido nada.

A diferença entre as duas respostas não é decorar mais definições. É saber conectar o que você estudou de ML: baseline, desbalanceamento e matriz de confusão, threshold e custo dos erros. Esta página organiza esse caminho. Ao final, voltamos à pergunta das 14h com a resposta completa.


Como é uma entrevista de ML

Três tipos de pergunta, três habilidades, a mesma lógica: raciocinar com dados em voz alta.

Conceitual

"O que é overfitting?"

Avalia se você define com as próprias palavras, dá a intuição e sabe quando a ideia falha. Quase sempre há um "depende" escondido.

De caso

"Treino 0,99, validação 0,72"

Avalia diagnóstico e próximos passos. Não existe resposta única: existe raciocínio estruturado e escolhas justificadas.

De código

"Monte esse pipeline"

Avalia se você usa scikit-learn sem cometer leakage: Pipeline, ColumnTransformer, cross_val_score.

O que separa os candidatos

Para uma vaga de entrada, quase ninguém espera que você conheça o algoritmo mais novo. O que derruba candidatos são as armadilhas básicas: comparar sem baseline, reportar accuracy em dados desbalanceados, ajustar transformações antes de dividir os dados, escolher hiperparâmetros olhando o teste. Quem evita essas quatro já está à frente da maioria.

O que o entrevistador avalia

Formular o problema Escolher a métrica Evitar leakage Comparar com baseline Diagnosticar erros Comunicar limitações
AspectoConceitualDe casoDe código
Resposta certaUma definição, com nuancesVárias respostas válidasCódigo que roda e não vaza
FocoClareza e intuiçãoDiagnóstico e trade-offsUso correto das ferramentas
Duração típica1–3 min por pergunta10–20 min15–30 min
Erro mais comumRecitar sem dar a armadilhaPular para o modelo sem perguntar o contextoPré-processar antes do split
Onde treinarConceitos-chavePergunta de casoOs labs das aulas, refeitos sem consultar

Como responder

8 princípios para transformar o que você sabe numa resposta que convence.

1
Pergunte o contexto antes de responder Qual é o problema de negócio? Qual a prevalência da classe positiva? Quanto custa cada tipo de erro? Os dados têm ordem no tempo? Há várias linhas por cliente? Uma pergunta bem feita mostra mais maturidade do que uma definição perfeita. Foi o que salvou a resposta das 14h.
2
Defina em uma frase, com as suas palavras "Overfitting é quando o modelo decora o ruído do treino e erra em dados novos." Curto, sem jargão desnecessário. Se precisar de três frases para definir, você ainda não domina o conceito.
3
Desenhe A curva em U do erro de validação, a matriz de confusão 2×2, a régua do threshold, as dobras da validação cruzada, o cotovelo da inércia do k-means. Um desenho de dez segundos comunica mais que um minuto de fala e organiza o seu próprio raciocínio.
4
Dê um exemplo concreto De preferência um que você mesmo rodou: "na aula de validação cruzada, com 10 exames por paciente, o KFold aleatório deu 93,8% de accuracy e o GroupKFold, 78,0%; em 200 pacientes novos o modelo fez 75,45%, então a estimativa honesta era a agrupada". Exemplos vividos mostram que você não decorou (C5).
5
Diga a armadilha Toda boa resposta termina com "…mas cuidado: …". A accuracy engana com classes raras; o R² não diz se o erro é aceitável; a silhueta não prova que existem grupos; a importância de features não é causa. É aqui que o entrevistador vê profundidade.
6
Fale em números "5% de churn", "gap de 0,27 entre treino e validação", "a diferença de 0,004 está dentro do desvio de 0,02 entre as dobras". Números tornam o raciocínio verificável e mostram que você pensa como quem já mediu.
7
Compare sempre com algo Um número sozinho não diz nada. Compare com o baseline, com o modelo anterior, com a variabilidade da validação cruzada, com o mesmo procedimento em dados embaralhados. "0,81 contra 0,62 do baseline" é uma resposta; "0,81" não é.
8
Conduza: proponha o próximo passo Não espere a próxima pergunta. "O próximo passo seria olhar os erros por segmento de cliente" ou "eu testaria tirar essa feature para ver se é leakage". Mostra que você sabe o que fazer depois, não só o que é.

Dica prática: use transições explícitas. Ao passar do diagnóstico para a solução, diga em voz alta: "então o problema parece ser variância; vou propor três formas de reduzi-la, da mais barata para a mais cara". O entrevistador acompanha a sua estrutura e você não se perde.


Pergunta de caso, passo a passo

"Descreva como você construiria um modelo para…" — a pergunta aberta mais comum. A resposta é o fluxo de trabalho de ML, um laço de seis etapas.

1
Formule o problema Qual é a unidade de análise (o que é uma linha)? Qual o target? É classificação, regressão ou um problema sem rótulo (agrupar, reduzir dimensão)? Qual métrica reflete o custo real dos erros e qual valor dela seria um sucesso? Quando NÃO usar ML aqui? F2 · O panorama de ML →
2
Divida os dados e tranque o teste Antes de olhar qualquer coisa: treino, validação (ou validação cruzada) e teste. Divisão estratificada se houver classe rara; temporal se o modelo vai prever o futuro; por grupo se há várias linhas por cliente ou paciente. A exploração acontece só no treino. D1 · Análise exploratória →
3
Monte o pipeline e meça o baseline Imputação, escala e encoding dentro de um Pipeline com ColumnTransformer, ajustados só no treino de cada dobra. O baseline (média ou classe majoritária) define o piso. D3 · Pipelines →
4
Compare modelos com um único protocolo Mesmas dobras de validação cruzada para todos, cada candidato já ajustado. Reporte média e desvio. Prefira o modelo mais simples quando a diferença estiver dentro da variabilidade. C5 · Validação cruzada →
5
Analise os erros, teste uma vez e comunique os limites Onde o modelo erra mais (por subgrupo, por faixa)? Que features importam pela permutation importance? Só então meça no teste (uma única vez) e escreva o que o modelo não sustenta. E2 · Explicabilidade →
6
Implante e monitore Salve o pipeline inteiro com as versões das bibliotecas, valide a entrada, monitore as features e os escores enquanto os rótulos não chegam e defina quando retreinar. O mundo muda e o modelo envelhece. E4 · MLOps →
Pergunta-chave de escopo

Sempre pergunte: "quanto custa errar para cada lado?" Isso muda tudo. Se um falso negativo custa caro (um doente não detectado, uma fraude que passa), você vai priorizar recall e baixar o threshold. Se um falso positivo custa caro (bloquear um cliente honesto), vai priorizar precision. A métrica e o threshold saem dessa resposta, não do padrão do predict.


Diagnóstico rápido

Os sintomas que aparecem em perguntas de caso, o que eles costumam indicar e o que fazer.

Em perguntas de caso, o entrevistador descreve um sintoma e espera um diagnóstico com o próximo passo. Antes de propor um modelo novo, descarte as causas baratas: leakage, baseline mal escolhido, métrica errada, escala das features, distribuições diferentes entre treino e validação.

SintomaDiagnóstico provávelPróximo passo
Treino 0,99, validação 0,72Overfitting (variância alta)Descartar leakage; reduzir complexidade, regularizar, mais dados
Treino e validação ambos ruinsUnderfitting (viés alto)Modelo mais flexível ou features melhores; mais dados não resolvem
95% de accuracy num problema raroPode ser só a classe majoritáriaComparar com o baseline; olhar recall, precision, PR-AUC (área sob a curva precision-recall)
Uma feature sozinha dá AUC (área sob a curva ROC, receiver operating characteristic) de 0,99Target leakageChecar quando a feature é registrada; tirar e medir a queda
Modelo B ganha de A por 0,004Diferença dentro do ruídoOlhar o desvio entre as dobras; preferir o mais simples
Validação ótima, teste muito piorOverfitting da validação pelo tuning ou um split que vazaNested CV (validação cruzada aninhada); split temporal ou por grupo; teste realmente trancado
Coeficientes com sinais absurdosMulticolinearidadeNão interpretar isoladamente; regularizar (Ridge); remover redundâncias
Resíduos com padrão em forma de URelação não linear não capturadaTransformar features, adicionar termos, modelo não linear
Os grupos do k-means seguem uma única colunaFeatures em escalas diferentes: a de maior unidade domina a distânciaPadronizar dentro do pipeline; decidir a escala pelas unidades, não pela silhueta
A loss do treino oscila ou explodeLearning rate alto demais (ou features sem escala)Reduzir a taxa de aprendizado; padronizar as entradas
Ótimo na validação, ruim desde o primeiro dia em produçãoTraining-serving skew ou uma feature que não existe na hora de preverComparar as features calculadas no treino e no serviço; validar a entrada com um schema
Em produção, piora aos poucos sem mudança no códigoDrift: as entradas ou a relação com o target mudaramMonitorar features e escores (PSI, o índice de estabilidade populacional; teste KS, de Kolmogorov-Smirnov); medir quando os rótulos chegam; retreinar com dados recentes
Exemplo completo

"Treino 0,99 e validação 0,72"

Pergunte: que modelo, quantos dados, como foi o split?

Descarte o barato: alguma feature só existe depois do target? Há linhas do mesmo cliente dos dois lados? Treino e validação vêm da mesma distribuição?

Diagnostique: o gap de 0,27 indica variância alta: o modelo decorou o treino.

Proponha, do mais barato ao mais caro: limitar a profundidade ou regularizar; tirar features ruidosas; juntar mais dados, se a curva de aprendizado mostrar que eles ajudam. Mostre uma curva de validação para escolher a complexidade.

Ferramentas por sintoma

O que usar em cada caso

Curva de validação: escolher a complexidade (profundidade, regularização) olhando o U do erro.

Curva de aprendizado: saber se mais dados valem a pena.

Validação cruzada: estimar o desempenho e a sua variabilidade com menos sorte de split.

Matriz de confusão: ver que tipo de erro o modelo comete, não só quantos.

Permutation importance e SHAP (SHapley Additive exPlanations): saber que features o modelo usa em dados novos e em cada previsão.

Dados embaralhados: a régua de qualquer agrupamento ou de qualquer score suspeito.

PSI e teste KS: detectar que as entradas mudaram em produção.


Os 77 conceitos-chave

Os 77 tópicos, em oito temas. Tente responder em voz alta antes de abrir cada tema. Os números identificam cada tópico no checklist; o código ao lado da pergunta leva à aula em que o tópico é ensinado. Os termos aparecem como você vai ouvi-los na entrevista, em inglês; nas aulas em português, feature é atributo, threshold é limiar, accuracy é acurácia, precision é precisão e recall é revocação.

[1]Supervisionado × não supervisionado?F2
No supervisionado, cada exemplo vem com a resposta certa (o rótulo \(y\)) e o modelo aprende a prevê-la a partir das features \(X\). No não supervisionado só existe \(X\) e o objetivo é achar estrutura: grupos, direções principais, tópicos. Há ainda o aprendizado por reforço, em que um agente aprende por tentativa e recompensa. Armadilha: sem rótulo, não há métrica de acerto óbvia e avaliar fica mais difícil.
[2]Classificação × regressão?F2
Depende do tipo do target: uma categoria (fraude ou não) é classificação; um número contínuo (preço) é regressão. Armadilha: alguns problemas aceitam os dois (nota de 1 a 5); a escolha vem de como os erros custam e de a ordem importar.
[3]O que é uma feature?D1
Uma variável de entrada usada para prever o target. Antes, defina a unidade de análise: o que é uma linha (um cliente, uma transação, um dia). Armadilha: uma feature só vale se estiver disponível no momento da previsão.
[4]Por que dividir em treino e teste?C5
Para estimar o desempenho em dados que o modelo nunca viu. Medir no próprio treino premia decorar. O teste fica trancado até a medição final; para escolher entre modelos usa-se validação. Armadilha: olhar o teste várias vezes o transforma em validação.
[5]O que é overfitting?F2
O modelo aprendeu o ruído do treino junto com o padrão: erro de treino baixo e erro de teste alto. Acontece com modelos complexos demais para a quantidade de dados. Armadilha: o sinal é a distância entre treino e validação, não um score alto no treino.
[6]O que é underfitting?M1
O modelo é simples demais para o padrão: erro alto no treino e no teste. Mais dados não resolvem; é preciso um modelo mais flexível ou features melhores.
[7]O que é um baseline?C1
Um modelo trivial, como prever sempre a média (regressão) ou a classe majoritária (classificação): DummyRegressor e DummyClassifier. Define o piso: um modelo que não supera o baseline não serve, por mais sofisticado que seja.
[8]Descreva o fluxo de um projeto de ML.F2
Formular (target, unidade de análise, métrica, critério de sucesso) → dividir e trancar o teste → explorar só o treino → pipeline de pré-processamento → baseline → comparar modelos com validação cruzada → analisar erros → testar uma vez → implantar e monitorar. É um laço, não uma linha: a avaliação manda de volta à preparação e o drift manda de volta aos dados. Veja o diagrama acima.
[9]O que é data leakage?C5
Informação que não estaria disponível no momento da previsão entra no treino ou na avaliação e o desempenho medido fica melhor do que será na prática. É a causa mais comum de modelos que "funcionavam no notebook".
[10]O que é target leakage?C5
Uma feature que é consequência do target ou é registrada depois dele, como usar "recebeu antibiótico" para prever "teve infecção". Sinal de alerta: uma feature com importância enorme e um desempenho bom demais para ser verdade.
[11]Por que ajustar o pré-processamento só no treino?D3
Médias, desvios, categorias e valores de imputação são estimados a partir dos dados; se o teste participa, informação dele vaza para o modelo. Um Pipeline garante o fit só no treino de cada dobra e aplica exatamente os mesmos passos na hora de prever.
[12]Normalização ou padronização?D2
Normalização (min-max) leva cada feature para \([0, 1]\); padronização deixa média 0 e desvio 1. Importa para modelos com distâncias, gradientes ou penalidades (k-NN, os k vizinhos mais próximos; k-means; logística; SVM, a máquina de vetores de suporte; redes neurais), não para árvores. Armadilha: o min-max é sensível a outliers.
[13]O que é one-hot encoding?D2
Uma coluna binária por categoria, sem impor uma ordem que não existe (códigos inteiros inventam distâncias). Armadilha: categorias que só aparecem no teste quebram a transformação; use handle_unknown="ignore".
[14]Como tratar valores faltantes?D2
Primeiro pergunte por que faltam: ao acaso, por causa de outra variável observada ou por causa do próprio valor. Depois: descartar, imputar (mediana, moda ou a partir das outras colunas) dentro do pipeline e acrescentar um indicador quando a ausência em si carrega informação. Armadilha: preencher com um valor só encolhe a variância.
[15]O que é feature engineering?D3
Criar features a partir das brutas com conhecimento do problema: razões, partes de datas, agregações por grupo, o título extraído de um nome. Costuma render mais do que trocar de modelo. Dentro do pipeline, vira um FunctionTransformer ou um transformer seu. Armadilha: agregações calculadas com o teste são leakage.
[16]Por que muitas categorias são um problema?D2
O one-hot cria uma coluna por categoria: com milhares delas a tabela fica enorme e esparsa; as categorias raras têm exemplos de menos para o modelo aprender algo além de ruído. Alternativas: agrupar as raras, codificar por frequência ou pela média do target. Armadilha: o target encoding vaza se for calculado fora das dobras.
[17]Quando usar uma divisão temporal?C5
Quando os dados têm ordem no tempo e o modelo vai prever o futuro: treine no passado, valide no período seguinte (TimeSeriesSplit). Um split aleatório deixa o modelo "ver o futuro": na aula, uma série impossível de prever por construção (um passeio aleatório) teve R² de 0,99 com KFold embaralhado e −1,78 com TimeSeriesSplit.
[18]O que é uma divisão estratificada?C5
Uma divisão que mantém a proporção das classes em cada parte (StratifiedKFold, stratify=y). Essencial com classes raras ou amostras pequenas.
[19]Várias linhas por paciente: que cuidado tomar?C5
Manter todas as linhas de uma mesma entidade (paciente, cliente, loja) na mesma dobra, com GroupKFold. Senão o modelo reconhece o paciente, não a doença: na aula, o KFold aleatório reportou 93,8% e o GroupKFold, 78,0%, perto dos 75,45% em pacientes novos. Pergunta-guia: sobre que unidade o modelo vai prever em produção? Ela é a unidade da divisão.
[20]Como tratar outliers?D1
Descubra se é um erro (corrija ou remova) ou um valor raro mas real (mantenha). O IQR (intervalo interquartil) e o z-score só marcam candidatos. Quando os extremos são reais, prefira transformações (log), métricas robustas (o erro absoluto médio, MAE) ou modelos pouco sensíveis (árvores). Decida olhando só o treino.
[21]Como funciona o k-means?U2
Sorteia \(k\) centros; atribui cada ponto ao centro mais próximo; move cada centro para a média dos seus pontos; repete até nada mudar. Minimiza a inércia, a soma das distâncias ao quadrado de cada ponto ao seu centro. Armadilha: o resultado depende do início (use n_init bem acima de 1) e da escala das colunas; e ele sempre devolve \(k\) grupos, mesmo em ruído puro.
[22]Como escolher o número de grupos?U2
Pelo cotovelo da inércia e pela silhueta (silhouette score), que compara, para cada ponto, a distância média ao próprio grupo (\(a\)) com a distância média ao grupo vizinho mais próximo (\(b\)): \(s = (b - a)/\max(a, b)\), de −1 a 1. Armadilha: na aula, ruído puro chegou a silhueta 0,40 e, nos pinguins, ela preferiu 2 grupos onde há 3 espécies. Compare com os dados embaralhados e com o que o grupo significa para o problema.
[23]Quando o k-means falha? O que usar no lugar?U2
Ele supõe grupos convexos, mais ou menos redondos, de espalhamento parecido e sem ruído, além de um \(k\) conhecido. Com luas, anéis, densidades diferentes ou outliers, use DBSCAN (density-based spatial clustering of applications with noise) ou a sua versão hierárquica, HDBSCAN (um grupo é uma região densa e o ruído recebe o rótulo −1) ou o agrupamento hierárquico. Armadilha: DBSCAN e hierárquico não têm predict para pontos novos.
[24]O que é um dendrograma? E o linkage?U3
O agrupamento hierárquico aglomerativo junta, a cada passo, os dois grupos mais próximos; o dendrograma registra a ordem e a altura das junções; cortá-lo numa altura dá os grupos. O linkage define a distância entre grupos: single segue correntes de pontos, Ward forma grupos redondos. Armadilha: a memória cresce com \(n^2\); não escala para milhões de linhas.
[25]O que é a maldição da dimensionalidade?U1
Em muitas dimensões, todos os pares de pontos ficam quase à mesma distância: "o vizinho mais próximo" perde o sentido, o que atinge k-NN, k-means e qualquer método de distâncias. O problema são as direções independentes e irrelevantes, não o número de colunas em si: dados com poucas dimensões reais escritos em muitas colunas sofrem pouco.
[26]O que o PCA (análise de componentes principais) faz?U1
Encontra as direções ortogonais de maior variância e projeta os dados nas primeiras \(k\); a variância explicada acumulada ajuda a escolher \(k\). Armadilhas: padronize quando as unidades diferem; ajuste só no treino; o PCA nunca olha o target, então nada garante que o sinal esteja nos primeiros componentes.
[27]PCA, t-SNE ou UMAP?U1
PCA é linear, rápido, tem transform para dados novos e preserva a estrutura global. t-SNE (t-distributed stochastic neighbor embedding) e UMAP (uniform manifold approximation and projection) são não lineares e preservam vizinhanças: ótimos para visualizar. Armadilha: num mapa t-SNE ou UMAP, o tamanho dos grupos, a distância entre eles e os eixos não significam nada; o mapa é uma hipótese, não um resultado, e não serve como feature de um classificador.
[28]Bag-of-words e TF-IDF?U4.2
O bag-of-words representa cada documento pela contagem de cada palavra do vocabulário (aprendido no fit). O TF-IDF (term frequency–inverse document frequency) multiplica a contagem por um peso que cai para palavras presentes em muitos documentos: palavras específicas contam mais. Armadilha: a ordem das palavras some ("o cachorro mordeu o homem" e "o homem mordeu o cachorro" viram o mesmo vetor) e a matriz é enorme e esparsa.
[29]Por que similaridade de cosseno em texto?U4
O cosseno mede o ângulo entre os vetores, não o comprimento: um documento longo e um curto sobre o mesmo assunto ficam próximos. Com as linhas normalizadas para norma 1 (o padrão do TfidfVectorizer), o cosseno é o produto escalar.
[30]Representação esparsa ou embeddings?U4U4.3
No TF-IDF cada palavra é um eixo: sinônimos não têm nada em comum ("o carro é rápido" e "o automóvel é veloz" têm cosseno 0,00 na aula). Embeddings (word2vec, sentence embeddings) aprendem vetores densos em que sentidos parecidos ficam próximos. Armadilha: o TF-IDF ainda ganha em termos raros e exatos (códigos, nomes); e um word embedding dá um único vetor por palavra, qualquer que seja o sentido.
[31]O que é modelagem de tópicos?U5U5.3
Descobrir os assuntos de uma coleção de documentos sem rótulos. No LDA (latent Dirichlet allocation) e no NMF (fatoração de matrizes não negativas), um tópico é uma distribuição sobre palavras e cada documento é uma mistura de tópicos. No BERTopic, um tópico é um grupo de documentos: embeddings → UMAP → HDBSCAN → palavras de cada grupo por um TF-IDF por classe (c-TF-IDF); os documentos sem grupo vão para o tópico −1. Armadilha: os tópicos dependem de escolhas (stop words, número de tópicos) e precisam ser lidos por uma pessoa.

Nas fórmulas, \(y\) é o valor real, \(\hat y\) o previsto; SQres é a soma dos quadrados dos resíduos \(y - \hat y\) e SQtot, a soma dos quadrados de \(y\) em torno da sua média.

MAE
média |y − ŷ|
Erro absoluto médio, na unidade do target. Robusto a outliers.
RMSE
√ média (y − ŷ)²
Raiz do erro quadrático médio: mesma unidade, mas pune erros grandes. Sempre ≥ MAE.
R²
1 − SQres/SQtot
Fração da variância explicada. 0 = prever a média.
[32]Premissas da regressão linear?R1
Relação linear, erros independentes, variância dos erros constante e, para inferência, erros aproximadamente normais. Confira nos resíduos: um padrão indica erro sistemático. Armadilha: para previsão, violar as premissas importa menos do que para interpretar coeficientes.
[33]O que é MAE?R1
A média de \(|y - \hat y|\), em que \(y\) é o valor real e \(\hat y\) o previsto. Na unidade do target ("erramos, em média, R$ 30 mil") e pouco sensível a outliers.
[34]O que é RMSE?R1
\(\sqrt{\tfrac{1}{n}\sum (y - \hat y)^2}\), com \(n\) exemplos. Mesma unidade, mas penaliza mais os erros grandes. Uma diferença grande entre RMSE e MAE indica alguns erros muito grandes.
[35]O que é R²?R1
\(R^2 = 1 - \text{SQ}_\text{res}/\text{SQ}_\text{tot}\): a soma dos quadrados dos resíduos dividida pela soma dos quadrados em torno da média. Zero é "tão bom quanto prever a média"; no teste pode ser negativo. Armadilha: um R² alto não diz se o erro é aceitável na unidade do problema; reporte também MAE ou RMSE.
[36]Que problemas a multicolinearidade causa?R1
Com features muito correlacionadas, o modelo não separa o efeito de cada uma: os coeficientes ficam instáveis e podem ter sinais absurdos. A interpretação sofre; a previsão, quase nada. O Ridge estabiliza, dividindo o peso entre as features correlacionadas.
[37]Como funciona o gradiente descendente?R2
Começa de pesos quaisquer e dá passos contra o gradiente da loss, de tamanho controlado pela taxa de aprendizado \(\eta\). Pequena demais, converge devagar; grande demais, oscila ou diverge. Batch usa todos os dados por passo; estocástico, um exemplo; mini-batch, um lote (o padrão moderno). Armadilha: com features não centradas ou em escalas diferentes, as curvas de nível da loss viram um vale longo e estreito: o gradiente aponta atravessado, o caminho ziguezagueia e a descida fica lenta. Padronizar as features (dentro do pipeline) arredonda o vale; a solução em forma fechada não sofre com isso.
[38]Ridge (L2) × Lasso (L1)?R2
Os dois somam à loss uma penalidade sobre o tamanho dos coeficientes, com força \(\alpha\): Ridge, a soma dos quadrados; Lasso, a soma dos valores absolutos. O Lasso zera coeficientes (seleciona features); o Ridge só os encolhe e divide o peso entre features correlacionadas. Armadilha: o tamanho de um coeficiente depende da unidade da feature (a mesma distância em km ou em m pediria coeficientes diferentes e seria penalizada de forma diferente), então padronize antes; escolha \(\alpha\) por validação cruzada.

TP, FP, FN e TN: verdadeiros positivos, falsos positivos, falsos negativos e verdadeiros negativos (as quatro células da matriz de confusão, tópico [44]).

Precision
TP/(TP+FP)
Dos que marquei positivos, quantos eram.
Recall
TP/(TP+FN)
Dos positivos reais, quantos achei.
F1
2PR/(P+R)
Média harmônica de P (precision) e R (recall): alta só se as duas forem.
[39]Por que a logística se chama "regressão"?C1
Ela faz uma regressão linear sobre o log-odds da classe positiva e passa o resultado por uma sigmoide, que o transforma numa probabilidade. É treinada pela entropia cruzada (log loss), não pelo erro quadrático. A classificação só aparece quando se aplica um threshold.
[40]Como funciona o k-NN? Como escolher o k?C2
Para um ponto novo, acha os \(k\) exemplos de treino mais próximos e vota (ou tira a média, na regressão). \(k\) pequeno = variância alta; \(k\) grande = viés alto; escolha na validação. Armadilhas: com \(k = 1\) a accuracy de treino é 100% por construção; sem scaler, a coluna de maior unidade decide tudo; e prever é caro, porque mede a distância a todo o treino.
[41]O que é accuracy?C3
A fração de acertos. Armadilha: com classes desbalanceadas, engana: prever sempre "não é fraude" acerta 99% quando só 1% são fraudes. É a pergunta das 14h.
[42]Precision e recall?C3
Precision: dos casos marcados como positivos, quantos eram. Recall: dos positivos reais, quantos foram encontrados. Subir uma costuma derrubar a outra.
[43]O que é F1?C3
A média harmônica de precision e recall. Armadilha: pesa as duas igualmente e ignora os verdadeiros negativos, o que nem sempre reflete o custo real dos erros (o F-beta dá mais peso a um dos lados).
[44]O que é a matriz de confusão?C3
A tabela real × previsto: linhas = classe real, colunas = classe prevista, positivo primeiro, [[TP, FN], [FP, TN]] (confusion_matrix(y, p, labels=[1, 0])). TP e TN são os acertos; FP, os falsos alarmes; FN, os positivos perdidos. Todas as métricas com threshold saem dela; saiba calculá-las à mão.
[45]O que é ROC-AUC?C4
A área sob a curva da taxa de verdadeiros positivos contra a de falsos positivos, variando o threshold. É a probabilidade de um positivo sorteado receber score maior que um negativo sorteado. Armadilha: com eventos raros, pode parecer ótima com precision baixa.
[46]O que é PR-AUC?C4
A área sob a curva precision × recall (no scikit-learn, a average precision). Foca na classe positiva e informa mais que a ROC quando ela é rara. O baseline aleatório é a prevalência, não 0,5.
[47]O que é desbalanceamento?C4
Uma classe muito mais rara que a outra. O modelo tende à majoritária e a accuracy engana. Use métricas adequadas, divisão estratificada e ajuste o threshold ou os pesos das classes.
[48]Explique o SMOTE (synthetic minority oversampling technique).C4
Cria exemplos sintéticos da minoria interpolando entre um exemplo e um dos seus vizinhos da mesma classe. Só no treino, dentro do pipeline e da validação cruzada. Armadilha: pode criar pontos no meio da classe majoritária; muitas vezes ajustar o threshold ou usar class_weight resolve com menos risco.
[49]class_weight, undersampling ou oversampling?C4
class_weight dá mais peso aos erros da minoria na loss; undersampling descarta exemplos da maioria (rápido, perde informação); oversampling replica ou sintetiza a minoria (usa tudo, arrisca overfitting). Os dois últimos só no treino. Armadilha: todos distorcem as probabilidades previstas; na logística, o class_weight equivale quase a mover o threshold.
[50]Como escolher o threshold?C4
Pelo custo de cada tipo de erro e pelas restrições do problema (um recall mínimo, um número máximo de alertas por dia). Escolha na validação, nunca no teste. Armadilha: 0,5 não é sagrado; é só o padrão do predict.
[51]O trade-off entre viés e variância?M1
O erro vem de viés (modelo simples demais, erra sistematicamente), variância (modelo muda muito de uma amostra para outra) e ruído (que nada remove). Mais complexidade reduz o viés e aumenta a variância; o melhor modelo fica no fundo da curva em U do erro de validação.
[52]O que é validação cruzada?C5
Divide-se o treino em \(k\) partes; treina-se em \(k-1\) e valida-se na restante, \(k\) vezes. A média estima o desempenho e o desvio mostra quanto ele varia entre divisões. Armadilha: o pré-processamento recomeça em cada dobra, por isso ele vai dentro do pipeline.
[53]Treino 0,99, validação 0,72?M1
Overfitting. Antes, descarte leakage e diferença de distribuição. Depois reduza a variância: limite a complexidade, regularize, tire features ruidosas, junte dados. Veja o exemplo completo.
[54]Mais dados vão ajudar?M1
A curva de aprendizado responde: o erro de treino e o de validação em função do número de linhas de treino, com o modelo fixo. Se ainda há distância entre as curvas e ela continua fechando no maior tamanho medido, mais dados ajudam (variância alta). Se as curvas já se encontraram num erro alto demais e ficaram planas, não ajudam (viés alto): é preciso um modelo mais flexível ou features melhores. Armadilha: o erro de treino sobe à medida que o treino cresce (ajustar 15 pontos é mais fácil que ajustar 800); isso é esperado, não um defeito.
[55]Por que tuning repetido leva a overfitting na validação?C5
Escolher a melhor entre muitas configurações pela mesma validação seleciona, em parte, a que teve sorte nela. O score do vencedor fica otimista. Por isso o teste fica trancado.
[56]O que é nested CV?C5
Dois laços: o interno escolhe os hiperparâmetros; o externo avalia o procedimento inteiro em dados que o interno não viu. Dá uma estimativa sem o otimismo da seleção.
[57]Grid search, random search ou otimização bayesiana?E3
A grade testa todas as combinações, mas cada hiperparâmetro em poucos valores; quando só alguns importam, a busca aleatória, com o mesmo orçamento, explora muito mais valores dos que importam. A otimização bayesiana (como o TPE, tree-structured Parzen estimator, do Optuna) usa os resultados anteriores para escolher a próxima tentativa. Armadilha: quanto mais longa a busca, mais otimista o melhor score de validação.
[58]Por que mais features podem piorar?C2
Features irrelevantes ou ruidosas aumentam a variância, criam correlações espúrias, fazem as distâncias perderem o sentido e encarecem o modelo. Só ajudam se trazem informação nova sobre o target.
[59]Quando preferir um modelo mais simples?C5
Quando a vantagem do complexo está dentro da variabilidade da validação cruzada (a regra de um erro padrão) ou quando interpretabilidade, latência, custo e manutenção pesam mais que um ganho pequeno.
[60]O que faz uma árvore de decisão?M2
Divide os dados recursivamente com perguntas "feature ≤ limiar?", escolhendo a cada passo a divisão que mais reduz a impureza (Gini ou entropia). Cada folha prevê a classe majoritária ou a média. Armadilha: sem limite de profundidade, decora o treino; e uma pequena mudança nos dados pode gerar outra árvore.
[61]Explique bagging.M3
Treinar vários modelos em amostras bootstrap (sorteadas com reposição) e fazer a média ou o voto. Reduz a variância sem aumentar o viés; funciona melhor com modelos instáveis, como árvores profundas.
[62]O que é uma random forest?M3
Bagging de árvores em que cada divisão escolhe entre um subconjunto aleatório das features. As árvores ficam menos parecidas, erram de formas diferentes e a média cancela mais erros.
[63]O que é o erro out-of-bag (OOB)?M3
Cada amostra bootstrap deixa de fora cerca de 37% das linhas; as árvores que não viram uma linha votam nela. A accuracy desses votos é uma validação de graça, sem separar dados. Armadilha: só a floresta tem OOB; para compará-la com outros modelos, use validação cruzada com as mesmas dobras para todos. E, como em qualquer validação, o OOB da configuração vencedora de uma busca de hiperparâmetros fica otimista.
[64]Explique boosting.M4
Árvores pequenas em sequência, cada uma ajustada aos erros das anteriores (os resíduos, que são o gradiente negativo da loss em relação à previsão), somadas no fim. Reduz o viés. A taxa de aprendizado e o número de árvores controlam o overfitting; o early stopping escolhe o número de árvores.
[65]Random forest ou gradient boosting?M4
A floresta reduz variância pela média de árvores profundas e independentes; é difícil de estragar e mais árvores nunca pioram. O boosting reduz viés somando árvores rasas; ajustado, costuma ser o melhor em dados tabulares, mas configurações ruins podem ser bem piores. Floresta para um baseline forte quase sem tuning; boosting quando os últimos pontos importam e há como validar o tuning.
[66]Importância de features das árvores?E2
A importância interna (MDI, mean decrease in impurity) soma quanto cada feature reduziu a impureza no treino e premia colunas com muitos valores distintos, até ruído puro. Prefira a permutation importance em dados separados: embaralhe uma feature e meça a queda. Armadilha: nenhuma das duas mede causa; features correlacionadas dividem o crédito.
[67]O que é SHAP?E2
Divide uma previsão em contribuições, uma por feature, que somam exatamente a diferença entre essa previsão e a previsão média: são os valores de Shapley da teoria dos jogos. Explica uma decisão ("por que eu?") e, empilhando muitas, o modelo inteiro. Armadilha: explica o modelo, não o mundo; não é causa.
[68]O que é a margem de uma SVM? E o C?C6
Entre todas as retas que separam as classes, a SVM escolhe a mais distante dos pontos mais próximos; esses pontos são os vetores de suporte e só eles definem a fronteira. A margem suave aceita violações, cada uma cobrada pelo \(C\): \(C\) pequeno = mais regularização, margem larga, muitos vetores de suporte; \(C\) grande = margem quase rígida, risco de overfitting.
[69]O que é o kernel trick?C6
Dados não separáveis por uma reta podem ficar separáveis num espaço de features transformadas; o kernel calcula a semelhança entre pontos nesse espaço sem nunca construí-lo. O kernel RBF (radial basis function, gaussiano) tem o \(\gamma\), que acopla com o \(C\). Armadilhas: escala é obrigatória; o treino custa entre \(n^2\) e \(n^3\), então a SVM com kernel deixa de ser prática com centenas de milhares de linhas.
[70]Por que uma rede neural precisa de ativação não linear?E1
Sem ela, uma função linear de uma função linear é linear: qualquer número de camadas equivale a uma só, que não resolve nem o XOR. A não linearidade (a ReLU, rectified linear unit, \(\max(0, z)\), nas camadas ocultas) é o que deixa a rede desenhar fronteiras curvas.
[71]O que é backpropagation? E o gradiente que desaparece?E1
É a regra da cadeia aplicada camada a camada, da saída para a entrada, para obter o gradiente da loss em relação a cada peso; o gradiente descendente usa esse gradiente. Cada camada multiplica o gradiente pela derivada da sua ativação: a da sigmoide é no máximo 0,25; por 10 camadas, isso dá no máximo \(0{,}25^{10} \approx 10^{-6}\), então as primeiras camadas quase não aprendem. Por isso a ReLU, de derivada 1 quando ativa, virou o padrão.
[72]Como evitar overfitting numa rede neural?E1
Weight decay (a penalidade L2 do Ridge em todos os pesos, o alpha do scikit-learn), early stopping (separar parte do treino e parar quando o score nela para de melhorar), dropout (desligar unidades ao acaso a cada passo), menos unidades e mais dados. E padronizar as entradas.
[73]Rede neural ou gradient boosting em dados tabulares?E1
Em tabelas de colunas heterogêneas, ensembles de árvores costumam empatar ou ganhar, com menos tuning: na aula, no mesmo conjunto e nas mesmas dobras, o boosting fez 0,956 ± 0,011 e a rede 0,948 ± 0,005. Além disso, a rede precisou de scaler, arquitetura e alpha. Em imagens, áudio e texto, a balança vira para as redes.
[74]Data drift × concept drift?E4
No data drift (covariate shift) mudam as entradas, \(P(x)\), e a relação com o target fica; no concept drift muda a relação, \(P(y \mid x)\): fraudadores mudam de tática, uma crise muda quem paga. Há ainda o prior shift, em que muda a proporção das classes, \(P(y)\). Armadilha: o concept drift não aparece olhando só as entradas.
[75]Como monitorar um modelo se os rótulos demoram?E4
Em duas velocidades. Já: checagens de qualidade da entrada, o deslocamento de cada feature em relação ao treino (PSI, teste KS) e a distribuição dos escores do próprio modelo. Depois, quando os rótulos chegam: as métricas reais em cada lote, comparadas com a estimativa da validação. Quando os rótulos quase não chegam, uma pequena amostra auditada é a única proteção contra concept drift.
[76]O que é training-serving skew?E4
Qualquer diferença entre como uma feature é calculada no treino e na hora de servir: outra unidade (valor em milhares, prazo em anos), outra fonte, outro código. O modelo não dá erro, só prevê mal. A defesa é um único pipeline nos dois lados e uma validação da entrada contra um schema.
[77]O que salvar quando você implanta um modelo?E4
O pipeline inteiro (pré-processamento + modelo), não só o estimador; as versões das bibliotecas; as sementes; uma impressão digital dos dados de treino; as métricas de validação. Armadilha: um pickle é um programa: só carregue os de fonte confiável (o formato skops é mais seguro).

Quiz

Vinte e quatro questões no estilo de entrevista, três por tema. Filtre por tema para revisar só o que precisa.


Plano de estudo

Como estudar e um plano para as duas semanas antes de uma entrevista.

Explique

Em voz alta, para alguém

Se você não consegue explicar um conceito para um colega que faltou à aula, ainda não aprendeu. Estudar em dupla, um entrevistando o outro com as perguntas de caso, é o melhor treino que existe.

Mostre em código

Cinco linhas de cabeça

Saiba escrever sem consultar: train_test_split, Pipeline, ColumnTransformer, cross_val_score, confusion_matrix, KMeans, TfidfVectorizer, permutation_importance. Refaça os labs das aulas até escrever sem consultar.

Repita com intervalos

Um dia, uma semana, um mês

Rever espaçado no tempo fixa muito mais do que estudar tudo na véspera. O que você esquece entre uma rodada e outra é o que precisa de mais atenção.

Marque com honestidade

O checklist é seu termômetro

Marque um item só quando conseguir explicá-lo sem olhar nada, com a armadilha incluída. Um checklist cheio de itens marcados por otimismo não ajuda na entrevista.

DiasO que fazer
1–2Fundamentos e dados: conceitos-chave e quiz dos dois temas; releia as aulas F2, D1 e D2
3–4Pipelines e leakage: monte do zero um pipeline sem leakage, sem consultar nada; explique os cinco padrões de vazamento da C5
5–6Regressão e classificação: métricas à mão a partir de uma lista de resíduos e de uma matriz de confusão; Ridge × Lasso; k-NN
7–8Validação, árvores e ensembles: explique viés e variância e a validação cruzada desenhando; floresta × boosting; permutation importance e SHAP
9Não supervisionado e texto: k-means à mão em seis pontos, silhueta, PCA; TF-IDF de três frases e o cosseno entre elas
10SVM, redes e produção: margem e kernel, ativação e backpropagation, os três tipos de drift, em voz alta
11–12Perguntas de caso em dupla, cronometradas, com o diagnóstico rápido; quiz completo, voltando só aos itens que errou
13–14Uma rodada final do checklist inteiro, em voz alta

Para treinar no formato da disciplina (e também para a avaliação final): o caderno de atividades, com uma atividade por aula, exercícios em três níveis e respostas comentadas. Para revisar rápido: a folha de consulta, o mapa dos conceitos e as cartas de estudo.


Checklist

Os 77 tópicos e os hábitos de entrevista. O progresso fica salvo no seu navegador.


De volta às 14h

A resposta completa para "esse modelo de 95% de accuracy está bom?"

1
Pergunte o contexto"Qual é a taxa de churn? Se for 5%, prever que ninguém cancela já dá 95%." — princípio 1, tópico [47].
2
Compare com o baseline"Eu compararia com a classe majoritária e olharia a matriz de confusão para ver quantos cancelamentos o modelo de fato encontra." — tópicos [7] e [44].
3
Troque a métrica"Para a classe que cancela, eu reportaria recall e precision ou a PR-AUC, que não é inflada pelos verdadeiros negativos." — tópicos [41], [42] e [46].
4
Ligue ao custo e proponha o próximo passo"Por fim, escolheria o threshold pelo custo de uma ação de retenção desperdiçada contra o de um cliente perdido, na validação — e só então mediria no teste." — tópico [50].

Quatro passos, um minuto e sete dos 77 tópicos usados numa resposta só. É isso que a entrevistadora queria ver: não o que você decorou, mas como você conecta.


Referências

Para aprofundar, organizadas por tipo.

Nesta disciplina

Livros

Recursos online gratuitos

Revisão para entrevistas de Machine Learning · Humberto Sandmann Adaptado do material de Machine Learning da disciplina Inteligência Artificial (Fabio Roberto de Miranda, Diego Pavan Soler e Humberto Sandmann)