Understanding Feature Engineering in Machine Learning