EasyDeepLearn

When should you manually engineer interaction features?

medium

Answer

  • For linear / logistic models, always — they can't discover interactions by themselves.
  • For deep nets and gradient boosting, only in cases where you know a specific multiplicative or ratio structure matters (BMI  =  weight/height2,  pricevolume  for  revenue)(\mathrm{BMI}\; = \;\mathrm{weight} / \mathrm{height}^{2}, \;\mathrm{price} \cdot \mathrm{volume}\;\mathrm{for}\;\mathrm{revenue}).
  • If a domain expert says 'this feature only matters when X is high', build the interaction explicitly.
  • Trees find interactions automatically but they may need very many trees to capture them cleanly.
Check yourself — multiple choice
  • Never — every model discovers interactions automatically
  • Always for linear models; for GBM/NN when domain knowledge suggests a specific multiplicative/ratio form
  • Only for text data
  • Only for time series

Interactions: mandatory for linear, useful for GBM/NN when domain knowledge specifies structure.

#feature-engineering#features

Practise Supervised Learning

215 interview questions in this topic.

Related questions