{ "cells": [ { "cell_type": "markdown", "id": "c55e7f27-9b86-4222-95f3-17b251b81f95", "metadata": { "tags": [] }, "source": [ "# Homework 1\n", "\n", "Due Monday, February 12 by 11:59 PM via a direct message to the TA on slack.\n", "\n", "This homework will give you experience using Python notebooks, scikit learn, the Digits dataset, and Perceptrons. You'll also think about what learned weights tell you about the underlying data. \n", "\n", "Here's what to do:\n", "* Open this notebook either in Google's Colab or download it to your local machine and run Jupyter there.\n", "* Read through the documentation and code below to get familiar with what's here.\n", "* In cells that start with \"Task ...\" you'll find instructions on what to do. You'll write a couple of lines of code and repond to a few questions.\n", "* Add cells to the notebook as needed for code, and create markdown cells for text that you write.\n", "* When you're done, send a copy of the notebook in ipynb form to the TA via slack." ] }, { "cell_type": "markdown", "id": "5299668e-1085-4132-abd3-e99be149e319", "metadata": {}, "source": [ "## Task 0: Learn about Python notebooks\n", "\n", "If you're new to notebooks, there are lots of good resources on the web. Here's one that will get you started:\n", "\n", "https://realpython.com/jupyter-notebook-introduction/" ] }, { "cell_type": "code", "execution_count": 106, "id": "249b6ab3-ed7d-49c6-a426-7ba91653300c", "metadata": {}, "outputs": [], "source": [ "# Imports\n", "\n", "from sklearn.linear_model import Perceptron\n", "from sklearn.preprocessing import MinMaxScaler\n", "from sklearn.datasets import load_digits\n", "import matplotlib.pyplot as plt\n", "from sklearn.model_selection import train_test_split" ] }, { "cell_type": "code", "execution_count": 107, "id": "6fcbd5b6-eb94-4b85-89f1-94a2ec2fccde", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Digit = 0\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Digit = 1\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Digit = 2\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Digit = 3\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Digit = 4\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Digit = 5\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Digit = 6\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Digit = 7\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Digit = 8\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Digit = 9\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Load the digits dataset and look at a few examples\n", "\n", "digits = load_digits()\n", "plt.gray()\n", "\n", "for i in range(10):\n", " print('Digit = %d' % i)\n", " plt.matshow(digits.images[i])\n", " plt.show()\n" ] }, { "cell_type": "code", "execution_count": 108, "id": "1aae5e44-8d71-455d-8892-e399b9a7a93c", "metadata": {}, "outputs": [], "source": [ "# Get the attribute vectors and the class labels\n", "\n", "X = digits.data\n", "y = digits.target" ] }, { "cell_type": "code", "execution_count": 109, "id": "680aba53-c977-4239-92db-916b9f869ca6", "metadata": {}, "outputs": [], "source": [ "# Convert 10 digit problem to one in which the goal is to tell if a digit is\n", "# 0 or not 0\n", "\n", "y = [1 if a == 0 else 0 for a in y]" ] }, { "cell_type": "markdown", "id": "128dee30-8848-411b-88cb-214af75977b4", "metadata": {}, "source": [ "## Task 1: Read about scikit's train/test splitter\n", "\n", "https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html" ] }, { "cell_type": "code", "execution_count": 110, "id": "d8b2b79c-c71e-43d6-9fe7-b02999658d95", "metadata": {}, "outputs": [], "source": [ "# Split the data into a training set and a test set\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, \n", " test_size=0.5, \n", " random_state=42)" ] }, { "cell_type": "markdown", "id": "da381813-439e-400b-bf3d-68b454e01615", "metadata": {}, "source": [ "## Task 2: Run the perceptron implementation from scikit\n", "\n", "Read the manual page for scikit's Perceptron class here:\n", "\n", "https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Perceptron.html\n", "\n", "Below, write code to:\n", "* Train the perceptron on the training data using the fit() function\n", "* Print out the training set accuracy using the score() function\n", "* Print out the testing set accuracy using the score() function\n", "\n", "Briefly explain what the accuracies tell you about the difficulty of this problem and why the two accuracies are different." ] }, { "cell_type": "code", "execution_count": 111, "id": "f860cdb5-2fd7-4502-ab7c-2f67b979da1d", "metadata": {}, "outputs": [], "source": [ "# YOUR CODE HERE\n", "\n", "# If you name your classifier object clf as below then the code for the next task \n", "# not need to be modified.\n", "clf = Perceptron()\n" ] }, { "cell_type": "markdown", "id": "b653662c-fc54-4e5a-a6f2-14ad07002cc2", "metadata": {}, "source": [ "## Task 3: Use the code below to show a visualization of the learned weights. \n", "\n", "The magnitude of the weight is conveyed by the grayscale intesity. Black means large negative weights and white means large positive weights. Note that all of the features, pixels, are positive. Also, the weights will be arranged in the image such that they get multiplied by the pixel in the digit at the same location in the digit image.\n", "\n", "Briefly explain why the learned weights make sense for the task of classifying zero digits as the positive class and all other digits as the negative class." ] }, { "cell_type": "code", "execution_count": 113, "id": "8b2a4f21-240f-4ac0-8c82-06e98292cd39", "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'Perceptron' object has no attribute 'coef_'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# This cell will throw an error until you write the code above to train the perceptron\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmatshow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mclf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcoef_\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreshape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m8\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m8\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m: 'Perceptron' object has no attribute 'coef_'" ] } ], "source": [ "# This cell will throw an error until you write the code above to train the perceptron\n", "plt.matshow(clf.coef_.reshape(8,8))" ] }, { "cell_type": "code", "execution_count": null, "id": "8f0df17a-7f01-43d8-af34-4011b507888e", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "1abe40be-08d7-421e-a12a-69429e57e5b6", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }