Encontrei um caderno antigo com anotações de competições do Kaggle onde escrevi uma lista enorme de ideias de features de ML para dados tabulares nas capas para quando eu ficasse sem ideias.

Pedi ao Gemini para transcrever e aqui está o resultado.

Aproveite!

Instruções Gerais Para Feature Engineering em Dados Tabulares

  • Ver cada coluna e pensar: se eu agrupar nesta, que variável posso extrair das outras? Como serão as séries em cada grupo (visualizar, imaginar)? ↳ Expandir: e se eu agrupar nestas duas? (Fazer isso para todos os pares, trios, …)

  • Individualmente, qual o tipo desta variável? Como posso transformá-la (ex: categórica -> count, likelihood) ↳ Expandir: somas, max, produtos, ratios, etc… c/ pares, trios, .. (ex: component_qty_CAT)

  • Se eu fizer sort, vejo um padrão?

  • Ver Importances

  • A distribuição do test é a mesma do train?

Lista de Ideias

1. Estatísticas Descritivas Básicas:

  • MEAN
  • MAX
  • MIN
  • STD (Desvio Padrão)
  • VAR (Variância)
  • SKEW (Assimetria)
  • KURT (Curtose)
  • SUM

2. Features Baseadas em Contagem, Proporção e Rankeamento:

  • COUNT
  • RATIO
  • RANK
  • ORDINAL
  • FREQUENCY
  • PROPORTION
  • CLASS PROPORTION

3. Transformações Matemáticas e Normalizações:

  • LOG (log(x)\log(x))
  • SQRT (x\sqrt{x})
  • ex\text{e}^{\text{x}} (Exponencial)
  • EXP (Exponencial)
  • COS (Cosseno)
  • INV. COSINE/TAN/SIN/TANH (Funções trigonométricas inversas e hiperbólicas)
  • -1/X (Inverso)
  • 1/LOG(X) (Inverso do Log)
  • X2\text{X}^{\text{2}} (Quadrado)
  • LOGIT
  • NORMALIZED
  • PSEUDO LOG \rightarrow ASINH (X/2) / LOG(B) (Transformações logarítmicas alternativas)

4. Features Temporais e Sequenciais:

  • X-BY-PERIOD
  • X-LAST-N-PERIODS
  • PCT CHANGE (Mudança Percentual)
  • CHANGE±N-IN-PERIODS (Mudança em N períodos)
  • TIME DIFF. BETWEEN ACTIONS (Diferença de tempo entre ações)
  • GAP BETWEEN ACTIONS (Intervalo entre ações)
  • TIME SINCE X (Tempo desde X)
  • TEMPORAL DISCOUNT
  • LAGGED SERIES (Séries defasadas)
  • TREND/DETREND (Tendência/Remoção de tendência)
  • VELOCITY (Velocidade, pode ser interpretada como taxa de mudança)
  • RATE OF CHANGE (Taxa de Mudança)
  • (LAG \uparrow, DISTANCE \uparrow TO LAG) (Relação entre lag e distância ao lag)

5. Encoding de Features Categóricas e Binning:

  • ONE-HOT
  • LIKELIHOOD (Likelihood Encoding)
  • BINNING
  • BINNING_THEN_ONE-HOT
  • CATEGORY EMBEDDING

6. Redução de Dimensionalidade e Extração de Features Complexas:

  • PCA (Principal Component Analysis)
  • TSNE (t-Distributed Stochastic Neighbor Embedding)
  • TREE LEAVES (Saída de nós folha de árvores de decisão)
  • OUT-OF-FOLD TRANSFORMATION (Transformação Out-of-Fold, comum em stacking/blending)
  • GRAPH METRICS (Métricas de Grafos)

7. Features de Interação e Relação:

  • DIFFERENCE
  • DUPLICATES (Identificação/contagem de duplicatas)
  • GROUP/SUBSTITUTE/REPLACE LOW FREQ (RARE) (Tratamento de categorias raras)
  • DUPLICAR COLUNAS (Pode ser usado para criar interações)
  • MULTI-ROW DEPENDENCY (Dependência entre múltiplas linhas)
  • DIFF BETWEEN CORRELATED FEATS (Diferença entre features correlacionadas)
  • CORR (X1,X2\text{X}_1, \text{X}_2) BY X3\text{X}_3 (Correlação condicional)
  • SORTED DIFFERENCES (Diferenças ordenadas)

8. Features Baseadas em Densidade, Distância e Similaridade:

  • DENSITY
  • DISTANCE
  • ANOMALY DISTANCE FROM MEAN PROFILE - ex: COSINE DIST (X, MEAN(X))
  • CDF (Cumulative Distribution Function)

9. Suavização e Outras Transformações de Sinal/Série:

  • SMOOTHING
  • FFT (Fast Fourier Transform)
  • SAVITZKY-GOLAY (Filtro Savitzky-Golay)

10. Outras/Não Categorizadas Facilmente:

  • ENTROPY
  • HIERARCHICAL (Pode se referir a features hierárquicas ou clustering)
  • DEVIATION (Desvio, pode ser de uma média, tendência, etc.)
  • SEQUENCE (Pode se referir à criação de sequências ou features baseadas nelas)
Seja o primeiro a saber das novidades em Machine Learning. Me siga no LinkedIn.