Feature engineering is about transforming training raw data and augmenting it with additional features in order to make machine learning algorithms more effective and is done by expert humans as part of data pre-processing and then processed data is fed to the machine.
If you are interested to know about its relevance in current data science(deep learning focussed era), then this document will help.
In machine learning and pattern recognition, a feature is an individual measurable property or characteristic of a phenomenon being observed
Feature engineering is the process of using the domain knowledge of the data to create features that makes machine learning algorithms work properly. If feature engineering is performed properly, it helps to improve the power of prediction of machine learning algorithms by creating the features using the raw data that facilitate the machine learning process.
For example, salary data of individual is an important feature for banking data set which intends for credit card modelling. As part of feature engineering, expert can classify salary data as high, Medium and low salary segment. This classification can help model to predict credit card spend capability of an individual in this example.
A deep learning system is a fully trainable system beginning from raw input, for example image pixels, to the final output of recognized objects. So, feature engineering is not needed ideally.
With deep learning models, one can start with raw data, as features will be automatically created by the neural network when it learns. For example, BART NLP model takes raw data as input and learns feature on its own.
While deep learning has yielded amazing results by learning features and feature hierarchies, it doesn’t mean that we should abandon feature engineering and dive fully into deep learning. There are learning tasks where feature engineering can result in simpler model while matching or even outperforming deep learning.
If for your problem domain, you decide to use statistical models(K-NN, Support Vector Machine etc), then Feature engineering and feature extraction are key parts of the traditional machine learning workflow. They are about transforming training raw data and augmenting it with additional features in order to make machine learning algorithms more effective.
https://en.wikipedia.org/wiki/Feature_(machine_learning)
https://cogitotech.medium.com/what-are-features-in-machine-learning-and-why-it-is-important-e72f9905b54d
https://dzone.com/articles/feature-engineering-for-deep-learning
https://iksinc.online/2015/12/18/feature-engineering-and-deep-learning/
https://images.app.goo.gl/Ht2BNxs3vrp52z4w8