Feature engineering is the most important art in machine learning which creates a huge difference between a good model and a bad model.
Feature engineering is the process of using domain knowledge of the data to create features that make machine learning algorithms work.
Sometimes, removing the unwanted feature is also a feature engineering. As the feature which is not related degrade the performance of the model.
Feature engineering turns your inputs into things the algorithm can understand.
Last but not least, Automated Feature Engineering is the current hot topic. But it requires a lot of resources. Few companies have already started working on it.
One of the important steps in data science is to understand the wanted thing or state and then base on it, we should explore the parameters that there are in the dataset and so start to find a reasonable relationship and put them in a class with a name that we select (the art of our thinking and analysis) on them, this is my definition on feature engineering.
An interested and active person in the field of data science and molecular dynamics simulation