This is homework 1 of CS412 Machine Learning. The goals are to explore dataset splitting (train/validation/test), perform data analysis and preprocessing, conduct hyperparameter tuning on different distance metrics, and carry out error analysis to better understand how k-NN behaves on complex image data.