February 15, 2020

699 words 4 mins read



A course on causal machine learning.

repo name robertness/causalML
repo link https://github.com/robertness/causalML
language Jupyter Notebook
size (curr.) 24823 kB
stars (curr.) 146
created 2018-12-17
license MIT License

Causal Modeling in Machine Learning

CS 7290 Special Topics in Data Science Spring 2020 Prof. Robert Osazuwa Ness Northeastern University, Khoury College of Computer Sciences

Time and Place: Thursdays, 6-9:15pm, room: Richards Hall 227 (RI 227)

Syllabus and schedule

The syllabus for the Spring 2020 class is here.

If you are thinking of signing up for the course and have questions, reach out to me at robertness@gmail.com, rather than my NEU email.

Course Outcomes

Upon completing this course, you will be capable of building causal reasoning algorithms into decision-making systems in data science and machine learning teams within top-tier technology organizations. You will have implemented a portfolio project that demonstrates this competence. You will use the PyTorch-based probabilistic deep learning framework Pyro to implement the homework assignments and class project and will be an expert in using this framework by the end of the course.

Who is this course for?

Prerequisites include (DS5220 and DS5230) or (CS6140 and CS6220) or approval of the instructor

You will gain the most from this course if you:

  • You are familiar with random variables, joint probability distributions, conditional probabilities distributions, Baye’s rule and basic ideas from Bayesian statistics, and expectation.
  • You a good software engineer or aspire to be one.
  • You work in or plan to work on a team running experiments in a top-tier tech company or a technically advanced retail company.
  • You plan on working as an ML/AI research scientist and want to learn how to create agents that reason like humans.

Course Description

This course will cover the following:

  1. Causality in the context of model-based machine learning, Bayesian modeling, and programmatic AI
  2. Reasoning about probability distributions with directed acyclic graphs
  3. Interventions and do-calculus, identification and estimation of causal effects, covariate adjustment, and other methods of causal inference
  4. Counterfactual reasoning and algorithmic counterfactuals
  5. Causal reasoning in the context of A/B tests, multi-armed bandits, sequential decision-making, and reinforcement learning
  6. Deep causal latent variable models


There will be several ways to get attendance points. These include:

  • Proactively answering questions in class
  • Completely online quizzes
  • Contributing to the course wiki.
  • Answering other students' questions in the course forum.

Online Course Materials and Readings

Students will be provided access to online course materials. Much of the lecture notes will be provided in advance of the class. Students should go through the online course in advance of in-person class. This will increase the quality of the in-person classes and allow you to absorb more during class time.

Readings will be assigned in advance of class. Students are expected to read the assigned readings in advance of each lecture.

This course does not require the purchase of textbooks. However, it will rely heavily on the following two books:

  • Pearl, Judea. Causality. Cambridge university press, 2009.
  • Peters, Jonas, Dominik Janzing, and Bernhard Schölkopf. Elements of causal inference: foundations and learning algorithms. MIT Press, 2017. While not necessary for the course, these books are worth buying just to have as a reference.


The homework in this class will consist of 5 problem sets, which will combine mathematical derivations with programming exercises in Python. Submissions must be made via blackboard by 11.59pm on the due date.


The goal of the project is to gain experience in implementing, testing, and presenting one of the methods covered in the lectures. Students will collaborate in groups of 2-4. We will provide a list of project descriptions. Students who want to pursue a unique project should speak to the instructor. Unique projects done in collaboration with a company are encouraged.

Grading and Academic Guidelines

The final grade for this course will be weighted as follows:

Homework: 40%
Attendance: 25%
Course Project: 35%

Refresh your knowledge of the university’s policy about academic integrity and plagiarism (this includes plagarizing code). There is zero-tolerance for cheating!


Students will be asked to indicate the amount of time spent on each homework, as well as the project. The will also be able to indicate what they think went well, and what they think did not go well.

comments powered by Disqus