machine learning and data mining course notes