this covers essential concepts for all the three major areas mentioned above techniques for feature engineering will be covered in detail for diverse data types including numericcategoricaltemporaltext and image data we would like to thank our good friend and fellow data scientistgabriel moreira for helping us with some excellent compilations of feature engineering techniques over these diverse data types we also cover different feature scaling methods typically used as part of the feature engineering process to normalize values preventing higher valued features from taking unnecessary prominence several feature selection techniques like filterwrapperand embedded methods will also be covered techniques and concepts will be supplemented with sufficient hands-on examples and code snippets remember to check out the relevant code under in the github repository at practical-machine-learning-with-python which contains necessary codenotebooksand data this will make things easier to understandhelp you gain enough knowledge to know which technique should be used in which scenario and thus help you get started on your own journey toward feature engineering for building machine learning modelsfeaturesunderstand your data better the essence of any machine learning model is comprised of two components namelydata and algorithms you might remember the same from the machine learning paradigm which we introduced in any machine learning algorithm is at essence combination of mathematical functionsequations and optimizations which are often augmented with business logic as needed these algorithms are not intelligent enough to usually process raw data and discover latent patterns from the same which would be used to train the system hence we need better data representations for building machine learning modelswhich are also known as data features or attributes let' look at some important concepts associated with data and features in this section data and datasets data is essential for analytics and machine learning without data we are literally powerless to implement any intelligent system the formal definition of data would be collection or set of qualitative and/or quantitative variables containing values based on observations typically data is usually measured and collected from various observations this is then stored it is raw form which can then be processed further and analyzed as required typically in any analytics or machine learning systemyou might need multiple sources of data and processed data from one component can be fed as raw data to another component for further processing data can be structured having definite rows and columns indicating observations and attributes or unstructured like free textual data dataset can be defined as collection of data typically this indicates data present in the form of flat files like csv files or ms excel filesrelational database tables or viewsor even raw data two-dimensional matrices sample datasets which are quite popular in machine learning are available in the scikit-learn package to quickly get started the sklearn datasets module has these sample datasets readily available and other utilities pertaining to loading and handling datasets you can find more details in this link and best practices for handling and loading data another popular resource for machine learning based datasets is the uc irvine machine learning repository which can be found here edu/ml/index php and this contains wide variety of datasets from real-world problemsscenarios and devices in fact the popular machine learning and predictive analytics competitive platform kaggle also features some datasets from uci and other datasets pertaining to various competitions feel free to check out these resources and we will in fact be using some datasets from these resources in this as well as in subsequent