Section | 1 |
---|---|

Instructor(s) | Chaudhary, Amitabh (amitabh) |

Location | Ryerson 251 |

Meeting Times | Wednesday 5:30pm - 8:30pm |

Fulfills | Elective Specialization - Data Analytics (DA-1) Specialization - High Performance Computing (HPC-2) |

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.

Core Programming

A B+ or above is required in each of the following classes:

MPCS 55001 Algorithms

A 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: Discrete Math is required.

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

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.

This class is scheduled at a time that conflicts with these other classes:

- MPCS 51045-1 -- Advanced C++
- MPCS 52011-1 -- Introduction to Computer Systems