Course Content

Weekly Objectives, Topics, and Activities

Week 02

  • Start: Monday, January 27
  • End: Friday, January 31

Summary

This week, we will begin our discussion of supervised learning, focusing on the regression task. We will introduce one of the foundational methods of machine learning: \(k\)-nearest neighbors (KNN). With KNN as an example of a model used for the regression task, we will also look at data splitting and begin discussing overfitting and generalization.

Learning Objectives

After completing this week, you are expected to be able to:

  • Differentiate between supervised, unsupervised, and reinforcement learning.
  • Identify regression and classification tasks.
  • Use sklearn DummyRegressor.
  • Calculate simple metrics to evaluate predictions from learned regression models.
  • Use k-nearest neighbors to make predictions.
  • Split data into train, validation, and test sets.
  • Modify a tuning parameter to control the flexibility of a model.
  • Avoid overfitting by tuning an a model through the use of a validation set.

Topics

  • Machine Learning Paradigms and Tasks
    • Supervised Learning
      • Classification
      • Regression
    • Unsupervised Learning
      • Density Estimation
      • Clustering
      • Anomaly Detection
      • Dimension Reduction
    • Reinforcement Learning
  • Baseline Methods
    • DummyRegressor
  • Supervised Learning Metrics
    • Regression
      • Root Mean Square Error (RMSE)
      • Mean Absolute Error (MAE)
      • Mean Absolute Percentage Error (MAPE)
      • Coefficient of Determination (\(R^2\))
      • Max Error
  • K-Nearest Neighbors (KNN) Regression
    • KNeighborsRegressor
  • Generalization
    • Overfitting
    • Underfitting
    • Generalization Gap
  • Train, Test, and Validation Datasets
    • train_test_split

Activities

Remember, homework and lab are released at the start of discussion of Friday. The homework and lab shown here, are the homework and lab related to the content for the week. The homework and lab that are due this week, are the previous homework and lab. Recall that deadlines for all assessments can be found on the homepage.

Week 01

  • Start: Tuesday, January 21
  • End: Friday, January 24

Summary

Welcome to CS 307! This week, you will become familiar with the course policies and setup your machine to complete homework and labs.

Learning Objectives

After completing this week, you are expected to be able to:

  • Understand the syllabus of the course.
  • Understand the objectives of the course.
  • Communicate with the course staff.
  • Use Python, Jupyter, and VSCode to produce code for homework, labs and exams.
  • Use PrairieLearn to complete homework, lab models, and exams.
  • Use Canvas to complete lab reports.

Topics

  • What is Machine Learning?
  • Computing Setup
  • CS 307 Course Policies

Activities