Introducing feature engineering
Feature engineering is the process of using domain knowledge of the data to create features that are key to applying machine learning algorithms. Any attribute can be a feature, and choosing a good set of features that helps solve the problem and produce acceptable results is to the whole process. This step is often the most challenging aspect of machine learning applications. Both the quality and quantity/number of features greatly influences the overall quality of the model.
Better features also means more flexibility because they can result in good results even when less than optimal models are used. Most ML models can pick up on the structure and patterns in the underlying data, reasonably well. The flexibility of good features allows us to use less complex models that are faster and easier to understand and maintain. Better features also typically result in simpler models. Such make it easier to select the right models and the most optimized parameters...