Pular para conteúdo

Capítulo 1.6 — Treinamento, validação e leakage

🎯 Objetivo

Definir splits, validação cruzada e prevenção de leakage como práticas obrigatórias.

🧠 Conceitos

  • Train/validation/test split - três partições distintas e não cruzadas.
  • Cross-validation - k-fold para datasets pequenos; usar com cautela em dados temporais.
  • Validação temporal - para dados com ordem temporal, treinar no passado e validar no futuro.
  • Stratified split - preserva distribuição de classes.
  • Group split - preserva entidade (usuário, tenant) entre treino e teste.

🚨 Tipos de leakage

  • Target leakage - feature contém informação do label.
  • Label leakage - label aparece como feature em transformação.
  • Train-test contamination - overlap entre splits.
  • Feature contamination - feature usa estatística calculada sobre o dataset inteiro.
  • Temporal leakage - informação futura entra em treino do passado.

🛡️ Mitigações

  • Validar splits programaticamente.
  • Calcular estatísticas de normalização apenas em treino.
  • Aplicar group split quando há entidades repetidas.
  • Auditar correlação suspeita entre feature e label.

📌 Checklist

  • [ ] Split é reproduzível com seed?
  • [ ] Validação temporal é usada quando aplicável?
  • [ ] Há testes que detectam target leakage?