Machine Learning Foundations with Python


Units: 12


This course is designed to give students a solid grounding in algorithms, modeling, and tools employed in machine learning. The emphasis is on understanding the application of a wide range of modern machine learning techniques to specific data analysis scenarios rather than on mastering the theoretical underpinnings of the techniques. The course covers methods that are aimed at both supervised learning (e.g. prediction, classification) and unsupervised learning (e.g., clustering). This course is focused on applying machine learning with Python, and students will learn to develop and run Jupyter Notebooks and scripts. Nonetheless, students will gain an understanding of each algorithm, allowing them to assess performance and choose the best model for real-world datasets.

Learning Outcomes

1.    Be able to produce, comprehend and run Python code for commonly used machine learning methods.
2.    Understand feature engineering concepts, and be able to place them into practice through different types of data.
3.    Understand and apply both supervised and unsupervised learning techniques
4.    Understand the advantages and disadvantages of machine learning algorithms. This involves generalizability, bias-variance trade-off, and interpretability-flexibility tradeoff.
5.    Be able to choose appropriate model/s for a dataset and evaluate the performance and reliability of such model/s.
6.    Be able to apply machine learning to real-world data.
7.    Understand and follow equitable and good data practices.

Prerequisites Description

- Python proficiency: 95-888 Data Focused Python or 90-819 Intermediate Programming with Python.
- A statistics course such as 90-707, 90-711, or 95-796 
- 90-800 Exploratory Data Analysis and Visualization with Python

All three of the above requirements must be met to take this course.