Skip to content

UBC-CS/cpsc330-2024W2

Repository files navigation

deploy-book

UBC CPSC 330: Applied Machine Learning (2024W2)

This is the course homepage for CPSC 330: Applied Machine Learning at the University of British Columbia. You are looking at the current version (Jan-May 2025).

Syllabus

The syllabus is available here. Please read it carefully to understand all rules and expectations of this course. The content of the syllabus is tested in a quiz, to be completed by Jan 24, 11:59 pm.

The teaching team

Instructors

  • Mathias Lecuyer (Section 201: Tue Thu 9:30 to 10:50, SWNG 222) (Office Hours, Thu's ICCS 317, 2:00-3:00pm)
  • Giulia Toti (Section 202: Tue Thu 3:30 to 4:50, Section 203: Tue Thu 5:00 to 6:20, MCML 360) (Office Hours, Tue's ICCS 231, 2:00-3:15pm)
  • Andrew Roth (Section 204: Tue Thu 11:00 to 12:20, GEOG 212) (Office Hours, Tue's ICCS 359, 12:30-1:30pm)

Course co-ordinator

  • Ancuta (Anca) Barbu ([email protected]), please reach out to Anca for: admin questions, extensions, academic concessions etc. Include a descriptive subject, your name and student number, and course section so that we can keep track of emails.

TAs

  • Amirali Goodarzvand Chegini
  • Frederick Sunstrum
  • Kimia Rostin
  • Tianyu (Niki) Duan
  • Abdelrahman Ahmed
  • Maissan Bazazeh
  • Gaurav Bhatt
  • Patrick Cui
  • Neo Ghassemi
  • Alison Hardy
  • Mishaal Kazmi
  • Zefeng Li
  • Yifei Li
  • Harry Wang
  • Allya Wellyanto
  • Yan Zeng
  • Alain Zhiyanov
  • Mahsa Zarei

License

© 2024 Varada Kolhatkar, Mike Gelbart, Giulia Toti, and Firas Moosvi

Software licensed under the MIT License, non-software content licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License. See the license file for more information.

Important links

Deliverable due dates (tentative)

Usually the homework assignments will be due on Mondays (except next week) and will be released on Tuesdays (the links below will lead to a "page not found" if the assignment has not been published yet).

Important: use the link in the Canvas course to access Gradescope for the first time, so that your accounts are correctly linked. Failing to do so will result in delays in getting your grades and risk of miscalculations.

Assessment Due date Where to find? Where to submit?
hw1 Jan 14, 11:59 pm GitHub repo Gradescope
hw2 Jan 20, 11:59 pm [GitHub repo] Gradescope
Syllabus quiz Jan 24, 11:59 pm PrairieLearn PrairieLearn
hw3 Feb 03, 11:59 pm [GitHub repo] Gradescope
hw4 Feb 10, 11:59 pm [GitHub repo] Gradescope
Midterm 1 Feb 12-14 PrairieLearn (CBTF, in person) PrairieLearn (CBTF, in person)
hw5 Mar 10, 11:59 pm [GitHub repo] Gradescope
hw6 Mar 17, 11:59 pm [GitHub repo] Gradescope
Midterm 2 Mar 19-21 PrairieLearn (CBTF, in person) PrairieLearn (CBTF, in person)
hw7 Mar 24, 11:59 pm [GitHub repo] Gradescope
hw8 Mar 31, 11:59 pm [GitHub repo] Gradescope
hw9 Apr 07, 11:59 pm [GitHub repo] Gradescope
Final exam TBA PrairieLearn (CBTF, in person) PrairieLearn (CBTF, in person)

Lecture schedule (tentative)

Live lectures: The lectures will be in-person.

This course will be run in a semi flipped classroom format. There will be pre-watch videos for many lectures, at least in the first half of the course. All the videos are available on YouTube and are posted in the schedule below. Try to watch the assigned videos before the corresponding lecture. During the lecture, we'll summarize the important points from the videos and focus on demos, iClickers, and Q&A.

We'll be developing lecture notes directly in this repository. So if you check them before the lecture, they might be in a draft form.

Date Topic Assigned videos vs. CPSC 340
Jan 7 Course intro 📹 Pre-watch: 1.0 n/a
Jan 9 Decision trees 📹 Pre-watch: 2.1, 2.2, 2.3, 2.4 less depth
Jan 14 ML fundamentals 📹 Pre-watch: 3.1, 3.2, 3.3, 3.4 similar
Jan 16 $k$-NNs and SVM with RBF kernel 📹 Pre-watch: 4.1, 4.2, 4.3, 4.4 less depth
Jan 21 Preprocessing, sklearn pipelines 📹 Pre-watch: 5.1, 5.2, 5.3, 5.4 more depth
Jan 23 More preprocessing, sklearn ColumnTransformer, text features 📹 Pre-watch: 6.1, 6.2 more depth
Jan 28 Linear models 📹 Pre-watch: 7.1, 7.2, 7.3 less depth
Jan 30 Hyperparameter optimization, overfitting the validation set 📹 Pre-watch: 8.1, 8.2 different
Feb 4 Evaluation metrics for classification 📹 Reference: 9.2, 9.3,9.4 more depth
Feb 6 Regression metrics 📹 Pre-watch: 10.1 more depth on metrics less depth on regression
Feb 11 Midterm review
Feb 12-14 Midterm 1 - no class, no tutorials
Feb 17-21 Midterm break - no class, no tutorials
Feb 25 Ensembles 📹 Pre-watch: 11.1, 11.2 similar
Feb 27 Feature importances, model interpretation 📹 Pre-watch: 12.1,12.2 feature importances is new, feature engineering is new
Mar 4 Feature engineering and feature selection None less depth
Mar 6 Clustering 📹 Pre-watch: 14.1, 14.2, 14.3 less depth
Mar 11 More clustering 📹 Pre-watch: 15.1, 15.2, 15.3 less depth
Mar 13 Simple recommender systems less depth
Mar 18 Text data, embeddings, topic modeling 📹 Pre-watch: 16.1, 16.2 new
Mar 19-21 Midterm 2 - no class, no tutorials
Mar 25 Neural networks and computer vision less depth
Mar 27 Time series data (Optional) Humour: The Problem with Time & Timezones new
Apr 1 Survival analysis 📹 (Optional but highly recommended)Calling Bullshit 4.1: Right Censoring new
Apr 3 Communication 📹 (Optional but highly recommended)
  • Calling BS videos Chapter 6 (6 short videos, 47 min total)
  • Can you read graphs? Because I can't. by Sabrina (7 min)
  • new
    Apr 8 Ethics 📹 (Optional but highly recommended)
  • Calling BS videos Chapter 5 (6 short videos, 50 min total)
  • The ethics of data science
  • new

    Reference Material

    Click to expand!

    Books

    Online courses

    Misc

    Enjoy your learning journey in CPSC 330: Applied Machine Learning!