Escalonar atributos antes de dividir em treino/teste.
→Dividir primeiro, depois ajustar transformadores apenas no conjunto de treino e aplicar (`transform`) no conjunto de teste. Envolver as etapas em um scikit-learn Pipeline.
Por quê: Ajustar no conjunto de dados completo vaza estatísticas do conjunto de teste para o treinamento e inflaciona as pontuações de avaliação.
Uma coluna numérica tem 8% de valores ausentes.
→Imputar com a mediana (robusta à assimetria) via `SimpleImputer`; considerar uma flag de indicador de ausência.
Por quê: A mediana resiste a outliers; um indicador preserva o sinal quando a própria ausência é informativa.
Uma coluna categórica tem lacunas.
→Imputar com a moda ou uma categoria explícita "Desconhecido" / "Ausente".
Por quê: Uma categoria explícita mantém o padrão de ausência como um sinal utilizável, em vez de descartar linhas.
Atributo nominal de baixa cardinalidade (por exemplo, região com 5 valores).
→Aplicar one-hot encoding (`OneHotEncoder`); descartar uma coluna se o modelo não precisar de colinearidade.
Por quê: One-hot evita impor uma ordem falsa em categorias nominais; descartar um nível evita a armadilha das dummies.
Atributo tem uma ordem natural (baixo / médio / alto).
→Usar codificação ordinal que preserva a ordem.
Por quê: One-hot descartaria a ordenação; a codificação ciente da ordem permite que o modelo a explore.
Categórico com milhares de níveis (por exemplo, código postal).
→Usar codificação de alvo/frequência ou agrupamento em vez de one-hot.
Por quê: One-hot explode a dimensionalidade; a codificação de alvo é compacta, mas deve ser ajustada dentro do CV para evitar vazamento.
Atributos abrangem escalas muito diferentes antes de um modelo baseado em distância.
→StandardScaler (média zero, variância unitária) para atributos aproximadamente Gaussianos; MinMaxScaler para limitar a [0,1].
Por quê: KNN, SVM, PCA e gradiente descendente são sensíveis à escala; modelos de árvore não são.
Um atributo positivo assimétrico à direita prejudica um modelo linear.
→Aplicar uma transformação logarítmica ou de potência Box-Cox/Yeo-Johnson para comprimir a cauda.
Por quê: Reduzir a assimetria estabiliza a variância e lineariza as relações para modelos lineares e baseados em distância.
Deseja capturar um efeito de idade não-linear em um modelo linear.
→Agrupar o atributo contínuo em faixas (largura igual ou quantil) e tratar como categórico.
Por quê: O agrupamento permite que modelos lineares capturem mudanças de passo, ao custo de alguma perda de informação.
Valores extremos genuínos desestabilizam o treinamento do modelo.
→Limitar/winsorizar em um percentil ou usar um escalonador robusto; deletar apenas erros confirmados.
Por quê: Limitar o valor de extremos mantém os registros; a exclusão perde o sinal real de eventos raros.
A classe positiva é apenas 3% das linhas de treinamento.
→Reamostrar — SMOTE/superamostrar a minoria ou subamostrar a maioria — ajustando apenas na dobra de treinamento; ou definir pesos de classe.
Por quê: Balancear o conjunto de teste daria uma leitura falsa; a reamostragem pertence ao pipeline de treinamento.
Timestamps e valores brutos têm desempenho inferior.
→Engenhar atributos — dia da semana, tempo desde o último evento, proporções, agregados por cliente.
Por quê: Atributos derivados informados pelo domínio frequentemente adicionam mais valor do que trocar o algoritmo.
Centenas de atributos, muitos redundantes ou ruidosos.
→Selecionar via métodos de filtro (correlação/informação mútua), wrapper (RFE) ou embutidos (importâncias L1/de árvore).
Por quê: Menos atributos e mais relevantes reduzem o overfitting, o custo de treinamento e melhoram a interpretabilidade.
Muitos atributos numéricos correlacionados atrasam o treinamento e causam overfitting.
→Aplicar PCA para projetar nos principais componentes que capturam a maior parte da variância; escalar primeiro.
Por quê: PCA remove a multicolinearidade e comprime a dimensionalidade, trocando alguma interpretabilidade por estabilidade.
Várias etapas de pré-processamento devem ser aplicadas identicamente no treinamento e na produção.
→Encadear imputadores, codificadores e escalonadores em um `Pipeline` / `ColumnTransformer` ajustado apenas nos dados de treinamento.
Por quê: Um único pipeline ajustado garante transformações consistentes e previne vazamento entre as dobras.
Referência↗
Uma coluna de data bruta adiciona pouco valor preditivo.
→Decompor em ano, mês, dia da semana, é-fim-de-semana e codificações cíclicas sin/cos.
Por quê: Modelos não conseguem ler a semântica do calendário de um timestamp bruto; partes explícitas expõem a sazonalidade.