Heinz College · Public Policy & Management
90-803 Machine Learning Foundations with Python
Machine learning in Python for students headed into policy and management work.
A full-semester course at Heinz College that teaches machine learning with Python to students who will apply it to public policy and management problems.
Topics
- Machine learning and analytics in organizations
- Clustering, factor reduction, and feature engineering
- Regression and classification
- Model evaluation and hyperparameter tuning
- Forecasting with time series data
- A/B testing and multi-armed bandits
- Natural language processing and neural networks
- Large language models, and text mining with them
- Computer vision, and the Tesla Vision vs. Waymo case
How the course works
Every method is framed as a policy question: which households in a broadband subsidy program are about to drop out, how to route thousands of student loan complaints, whether a language model and a person agree on how serious a complaint is. In the language model project, students have a model sort complaints into six policy categories and measure its agreement with other models using Cohen's kappa.
Instead of one end-of-term project, students do four applied projects across the semester (clustering, classification, language models, and computer vision), a midterm project for a public agency or nonprofit, and a final project with a three- to five-minute pitch. A CMU alum working as a product data scientist gave a guest lecture on machine learning for product decisions.
How the course developed
I took over this Heinz College course in Spring 2026 and rebuilt it as fourteen modules, each pairing a lecture with a lab. It runs from clustering and regression through A/B testing to language models and computer vision. It ends with a teaching case I wrote comparing Tesla's camera-only approach to self-driving with Waymo's sensor fusion.
Offerings
- Spring 2026 full-time
Heinz students get the full materials on Canvas.
