Machine Learning

Title Machine Learning (53111)
Quarter Spring 2017
Instructor Amitabh Chaudhary (


This course introduces the fundamental concepts and techniques in data mining, machine learning, and statistical modeling, and the practical know- how to apply them to real-world data through Python-based software. The course examines in detail topics in both supervised and unsupervised learning. These include linear and logistic regression and regularization; classification using decision trees, nearest neighbors, naive Bayes, boosting, random trees, and artificial neural networks; clustering using k-means, expectation-maximization, hierarchical approaches, and density-based techniques; and dimensionality reduction through PCA and SVD. Students use Python and Python libraries such as NumPy, SciPy, matplotlib, and pandas for for implementing algorithms and analyzing data.

Prerequisites (Courses)

1. B+ or above in Core Programming

2. B or above in MPCS 55001 Algorithms

3. B or above in MPCS 53110 Foundations of Computational Data Analysis

If you are concurrently taking Algorithms with Machine Learning, a B+ or higher in MPCS 50103 Math for Computer Science

If your grades in the above classes do not meet the minimum requirements set above, please contact Molly Stoner ( to discuss your background.

Prerequisites (Other)

Programming in Python in necessary for the class. The following topics are required: use of lists, dictionaries, conditionals, classes, and file i/o.

Students must have attended the Python workshop, have previous familiarity with these topics or be willing to teach themselves. Knowledge of this material will be expected.


Data Analytics Specialization


Friday 5:30-8:30 pm


Ryerson 251