Machine learning model performance is based on data preprocessing and feature engineering. The main goal of feature engineering is to prepare an input dataset that best fits the machine learning algorithm and enhance the performance of the model. Some of the feature engineering definitions are Feature selection: Selecting the important independent features which have more relation with the dependent feature will help to build a good model. Feature transformation: Using mathematical mapping, the new features from extant features are built. Feature generation: Extracting new features that are not frequently the result of feature transformation. Feature evaluation and analysis: It is a part of feature selection that checks out the concepts of features. General automatic feature engineering: Automatically extract the large set of features and select efficient subsets. The methods such as Handling missing values, Handling imbalanced data, Handling outliers, Binning, Log transform, Encoding, Grouping operations, Extracting date, and Feature Scaling are the prominent feature engineering techniques.