In machine learning, feature engineering (or extraction) is a pre-processing step for supervised models. The basic idea of feature extraction is that we transform raw data (that might be difficult to operate on) into a more effective and informative set of data (that is easier to train on).

Many deep learning models do automatic feature learning, such as in convolutional neural networks, where image features are inferred by the model. Ordinarily, we run the task of applying a broad type of feature engineering process on the data that might lack specificity.

Types of approaches