Machine learning algorithm suits well for small data and it might take huge amount of time to train for large data. Whereas Deep learning algorithm takes less amount of data to train due to the help of GPU(Parallel Processing).
Feature engineering is the process of using domain knowledge of the data to create features for machine learning algorithm to work -Adding more columns (or) removing columns from the existing column -Outlier Detection -Normalization etc
An upper cap contains the values which fall between 75th percentile and 75th Percentile+1.5*IQR. Similarly, lower cap contains the values which fall between 25th Percentile and 25th Percentile-1.5*IQR