WeChat:lovexc60
CS589: Machine Learning – Spring 2020
Homework 3: Kernels
Assigned: March 27th, 2020 Due: 5:00 pm, Apr 10th, 2020
In this homework you will experiment with kernel methods for regression and classification problems using
kernel ridge regression and support vector machine (SVM).
Getting Started: In this assignment, you will train and evaluate different kernels for both classification and
regression on three datasets. Please install Python 3.7 via Anaconda on your personal machine. For this
homework you will only be using numpy, scipy, sklearn and matplotlib packages. Download the homework
file HW03.zip (available on Moodle). Unzipping this folder will create the directory structure shown below,
HW03
— HW03.pdf
— Data
|–Synthetic
|–Housing
|–Corona
— Submission
|–Code
|–Predictions
|–Housing
|–Corona
The data files for each data set are in ‘Data’ directory respectively. You will write your code under the Submission/Code directory. Make sure to put the deliverables (explained below) into the respective directories.
Deliverables:This assignment has three types of deliverables: a report, code files, and Kaggle submissions.
• Report: The solution report will give your answers to the homework questions (listed below). Try
to keep the maximum length of the report to 6 pages, including all figures and tables. Reports longer
than six pages will only be graded up until the first six pages. You can use any software to create your
report, but your report must be submitted in PDF format.
• Code: The second deliverable is the code that you wrote to answer the questions, which will involve
implementing a regression models. Your code must be Python 3.7 (no iPython notebooks or other
formats). You may create any additional source files to structure your code.
• Kaggle Submissions: We will use Kaggle, a machine learning competition service, to evaluate
the performance of your models. You will need to register on Kaggle using a umass.edu email
address to submit to Kaggle (you can use any user name you like). You will generate test prediction
files, save them in Kaggle format (helper code provided called Code/kaggle.py) and upload them
to Kaggle for scoring.
Submitting Deliverables: When you complete the assignment, you will upload your report and your code
using the Gradescope.com service. Here are the steps:
1. Place your final code in Submission/Code, and the Kaggle prediction files for your best-performing
submission only for each data set in Submission/Predictions//best.csv
2. Create a zip file of your submission directory, Submission.zip (No rar, tar or other formats).
3. Upload this single zip file on Gradescope as your solution to the HW03-Kernel-Programming
assignment. Gradescope will run checks to determine if your submission contains the required files
in the correct locations.
4. Upload your pdf report to the HW03-Kernel-Report assignment. When you upload your report
please make sure to select the correct pages for each question respectively. Failure to select the correct
pages will result in point deductions.