CS 66 Lab 2

Due Monday, 09/12/2022, by midnight (23:59, EST)

Announcements

Goals

The goals for this lab assignment are:

  • Understand Supervised Learning

  • Get familiar with Nearest Neighbors

  • Get familiar with Decision Trees

  • Get familiar with Ensemble Methods

  • Get familiar with the Final Paper format

1. Supervised Learning (One Hour)

  • User Guide

  • Read the User Guide

  • Read the related chapters in the three optional textbooks

  • Search online about supervised learning

  • Write in your own words what supervised learning is, in four to five sentences, in your notes.txt file.

  • Add the references, which resources are most helpful for you to understand this concept.

2. Nearest Neighbors (One Hour)

  • Read the guide from 1.6. Nearest Neighbors

  • Example 1: Comparing Nearest Neighbors …​

    1. Download Python source code: plot_nca_classification.py

  • For the example above:

    1. Download the existing code

    2. Set up the coding environment

    3. Run the existing code

    4. Track the execution time and write them down in your notes.txt file.

    5. Take the screenshots of your results after running the code, the command line window with run time.

  • Add the references, which resources are most helpful for you to understand this concept.

  • Write in your own words what 'Nearest Neighbors' is in your notes.txt file in four to five sentences.

3. Decision Trees (One Hour)

  • Read the guide from 1.10. Decision Trees

  • Example 1: Plot the decision surface of decision trees …​

    1. Download Python source code: plot_iris_dtc.py

  • For the example above:

    1. Download the existing code

    2. Set up the coding environment

    3. Run the existing code

    4. Track the execution time and write them down in your notes.txt file.

    5. Take the screenshots of your results after running the code, the command line window with run time.

  • Add the references, which resources are most helpful for you to understand this concept.

  • Write in your own words what 'Decision Trees' is in your notes.txt file in four to five sentences.

4. Ensemble methods (One Hour)

  • Read the guide from 1.11. Ensemble methods

  • Example 1: Plot the decision surfaces of ensembles of trees …​

    1. Download Python source code: plot_forest_iris.py

  • For the example above:

    1. Download the existing code

    2. Set up the coding environment

    3. Run the existing code

    4. Track the execution time and write them down in your notes.txt file.

    5. Take the screenshots of your results after running the code.

  • Add the references, which resources are most helpful for you to understand this concept.

  • Write in your own words what 'Ensemble methods' is, in four to five sentences, in your notes.txt file.

5. Final Paper Examples (Two Hours)

  • Read the AAAI accepted posters from 2021 and 2020.

  • Pick the top three posters you are interested in.

  • Write a summary and reasons to select for each of the three posters in your notes.txt file.

6. Submission Guide

  • Each student only submits one file, lab_2_lastname.zip, including

    1. notes_lab_2_lastname.txt for your notes, including the code run time.

    2. A screenshot folder for all the screenshots files (PNG or JPEG), total size less than 5 M.

7. Notes

  • Email 'xqu1@swarthmore.edu' your zip file for lab 2.

  • Lab assignments will typically be released on Tuesday and will be due by midnight on the following Monday.