{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lecture 28 Code\n", "## Yue Li" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Hand-wrriten MNIST digits" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# pip install python-mnist # uncomment this to install python-mnist" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from mnist import MNIST\n", "\n", "mndata = MNIST('mnist')\n", "\n", "images, labels = mndata.load_training()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(type(images))\n", "# display the first `2' in the data\n", "for index,digit in enumerate(labels):\n", " if digit == 2:\n", " break\n", "print(mndata.display(images[index]))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(len(images[index]))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(len(images[index])/28)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Linear regression" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# pip install sklearn # comment out this line to install" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "import numpy as np \n", "from sklearn import linear_model\n", "import matplotlib.pyplot as plt " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate some random data for training the linear regression model" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Genrating random linear data \n", "# There will be 50 data points ranging from 0 to 50 \n", "x = np.linspace(0, 50, 50) \n", "y = np.linspace(0, 50, 50) \n", " \n", "# Adding noise to the random linear data \n", "x += np.random.uniform(-4, 4, 50) \n", "y += np.random.uniform(-4, 4, 50) \n", " \n", "n = len(x) # Number of data points " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEWCAYAAABrDZDcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAHCRJREFUeJzt3X+0XWV95/H3hxDlVoKXHwHhQpqoiDBVSbkTsbFTiUWiYomKP1CczNJZmVnjdIFYNHStjjNTLUFmgI7tmharJWMphKIECjKUJqBgKXBjQGgBoYiam0iCJgVsBpLwnT/2vubk5vy+e5999t6f11pZ9+x9z49n62V/z/N9nuf7KCIwM7P6OqDoBpiZWbEcCMzMas6BwMys5hwIzMxqzoHAzKzmHAjMzGrOgcBqQ9IsSc9Lmpflc83KzoHAhlZ6I57695KknQ3HH+31/SJiT0QcHBE/yvK5vZL0eUm7JD2X/ntM0v+S9Koe3uNuSf8u67ZZPTkQ2NBKb8QHR8TBwI+A9zScu3r68yUdOPhW9u3qiJgDHA68HzgOmJB0VLHNsjpyILDSSr9Zr5F0jaTngHMlvUXS30vaIWlL+k17dvr8AyWFpPnp8V+kv781/WZ+j6QFvT43/f07JX1f0j9L+pKk73TzjT0iXoyIh4EPADuAT6Xvd7ikb0raJmm7pL+WNJb+7hLgLcCfpL2jK9LzfyRpk6RnJd0v6dcy+R/aKs+BwMruvcBfAq8E1gC7gfOAI4DFwFLgP7R5/UeA3wMOI+l1/H6vz5V0JHAdcGH6uT8AFvVyERGxG7gJ+PX01AHAl4F5wC8Du4A/TJ/7WeAe4D+mvaPz09fcC7wxbd/1wF9Jenkv7bB6ciCwsrs7Iv46Il6KiJ0RcX9E3BsRuyPiSeBK4DfavP76iJiIiF3A1cDJfTz3TOCBiLgx/d3lwDN9XMtmkps4EbEtIm5Ir+lZ4A86XAcR8bWI+FkaVL4IHAK8to92WM2UKadq1syPGw8kvR74n8ApwC+R/I3f2+b1P2l4/C/AwX0895jGdkRESNrUseX7GwN+BiDpFSQ9gHcAo+nv57R7saTPAB8HjgYCeAVJD8WsLfcIrOyml8/9U+Bh4LURcQjwXwDl3IYtwLFTB5JEclPvmqRZwHuAu9JTnwEWAIvS61gy7SX7XLek04ALSAaeR4FDgefJ/9qtAhwIrGrmAP8M/FzSibQfH8jKzcCvSnpPOnPpPGBuNy+UNFvSScC1JGmhK9JfzSHpdWyXdDhJQGv0NPDqhuM5JOMjzwCzgf9K0iMw68iBwKrm08By4DmS3sGavD8wIp4GPgRcBvwUeA2wEXihzcs+ms502g7cSHJjH4+IqfTTZSQD4D8F/g64ddrrrwDOSWdHXQZ8E/hb4HHgKeBZkp6KWUfyxjRm2UrTPJuBsyPirk7PNyuaewRmGZC0VNIr0+mav0eSprmv4GaZdcWBwCwbbwWeJMnRLwWWRUS71JDZ0HBqyMys5twjMDOruVIsKDviiCNi/vz5RTfDzKxUNmzY8ExEdJzKXIpAMH/+fCYmJopuhplZqUj6YTfPc2rIzKzmHAjMzGrOgcDMrOYcCMzMas6BwMys5koxa8jMrEzWbpzk0tseY/OOnRwzOsKFZ5zAsoU9VSYfKAcCM7MMrd04yUXfeIidu/YAMLljJxd94yGAoQ0GTg2ZmWXo0tse+0UQmLJz1x4uve2xglrUWa49AklPkdSF3wPsjohxSYeR1IifT1I3/YMRsT3PdpiZDcrmHTt7Oj8MBtEjOC0iTo6I8fR4JbAuIo4H1qXHZmaVcMzoSE/nh0ERqaGzgNXp49XAsgLaYGaWiwvPOIGR2bP2OTcyexYXnnFC1++xduMki1etZ8HKW1i8aj1rN05m3cx95D1YHMDfSArgTyPiSuCoiNgCEBFbJB2ZcxvMzAZmakC431lDRQw25x0IFkfE5vRmf7ukR7t9oaQVwAqAefPm5dU+M7PMLVs41vdNu91gc16BINfUUERsTn9uBW4AFgFPSzoaIP25tcVrr4yI8YgYnzu3YxVVM7NKKGKwObdAIOkVkuZMPQbeATwM3AQsT5+2HLgxrzaYWf0MOr+etSIGm/PsERwF3C3pQZJNvG+JiP8LrAJOl/Q4cHp6bGY2Y1P59ckdOwn25tfLFAyyGGzuVW5jBBHxJPCmJud/Crw9r881s/oqIr+etZkONvfDJSbMrDLKuJirmZkMNvfDJSbMrDLKuJhrGDgQmFllFJFfrwKnhsysMvLOr5etvHS3HAjMrFLyyq+Xsbx0t5waMjPrQhnLS3fLgcDMrAtVmZHUjFNDZmZ0zv8fMzrCZJObfhVmJLlHYGa1182K5CrPSHKPwMxqr1P+f6qn8MqR2Rw0+wB2/MsuzxoyM6uSVnn+qZ7BVJDYsXMXI7NncfmHTq5EAJji1JCZ1V6rPP8sqbIzhRo5EJhZ7bXK/++JaPr8KswUauRAYGZDZ9B7CixbOMbF73sDY6MjCBgbHfnFcTNVmCnUyGMEZjZUilrB22pFcmNboDozhRq5R2BmQ6XVDJ7z1zww8B3HWvUUqjRQDO4RmNmQaZd/L6K+z6D3BiiCewRmNlQ65d+rOGunaA4EZjZUms3gma5qs3aK5tSQmQ2Vxj0FmtX2ge5m7VR174A8OBCY2dCZystPn0EErWftNN74Xzkym5+/uJtde5J1AFXaOyAPTg2Z2dDqdtbO9KJxO3bu+kUQmOKxhdbcIzCzodbNrJ1mU06b8dhCc+4RmFnpdXuDr9qK4Kw4EJhZ6XVzg6/iiuCsOBCY2X4GXetnpppNOZ19gDj0l2ZXekVwVjxGYGb7KKrWz0w0Tjn1dNHeORCY2T7a7dY1zDfWOpSCyItTQ2a2j1YDr55xU125BwJJsyRtlHRzerxA0r2SHpe0RtLL8m6DmXWv1cCrZ9xU1yB6BOcBjzQcXwJcHhHHA9uBTwygDWbWpVa7dXnGTXXlGggkHQu8G/iz9FjAEuD69CmrgWV5tsHMelOXGvy2V96DxVcAnwHmpMeHAzsiYnd6vAlo+tclaQWwAmDevHk5N9PMGnngtV5y6xFIOhPYGhEbGk83eWrT3aEj4sqIGI+I8blz5+bSRjMzy7dHsBj4LUnvAg4CDiHpIYxKOjDtFRwLbM6xDWZm1kFuPYKIuCgijo2I+cCHgfUR8VHgDuDs9GnLgRvzaoOZmXVWxDqCzwIXSHqCZMzgKwW0wczMUgNZWRwRdwJ3po+fBBYN4nPNzKwzryw2M6s51xoys554L+DqcSAwq7Feb+plrExqnTk1ZFZT0/f5nbqpt9t7oF1lUisvBwKzmurnpu7KpNXkQGBWU/3c1F2ZtJocCMxqqp+buiuTVpMDgVlN9XNTd2XSavKsIbOa6nef3yIqk3rKar4cCMxqrAzlpj1lNX9ODZnZUPOU1fw5EJjZUPOU1fw5NWRmfRtE7v6Y0REmm9z0PWU1O+4RmFlf+lmZ3A9PWc2fA4GZ9WVQuXtPWc2fU0Nm1pdB5u7LMLupzNwjMLO+uNxEdTgQmBmQ5PwXr1rPgpW3sHjV+o65fufuq8OpIbOclWFVbD+LtvpdmWzDx4HALEdlWRXbbuC3XTudu68Gp4bMclSWVbFetFVvDgRmOSrLDdYDv/XmQGCWo7LcYD3wW28OBGY5KssNttOirV5nFFm5eLDYLEdlmlnTauC3LAPe1j8HArOclX1mTb8ziqw8HAjMhswwrTtYu3GyaeVPGL4Bb+ufA4HZECkiDdMq8Ey1pZVhG/C2/jkQmA2RQadh2gWeZm2ZMowD3ta/3AKBpIOAbwMvTz/n+oj4nKQFwLXAYcB3gY9FxIt5tcOsKP2keAa97qBd4Gn3mS4DXS15Th99AVgSEW8CTgaWSjoVuAS4PCKOB7YDn8ixDWaF6HfTlkGvO2gXeFp95tjoiINAxeQWCCLxfHo4O/0XwBLg+vT8amBZXm0wK0q/pSUGve6gXeApyxoIm7mOgUDSYf2+uaRZkh4AtgK3A/8E7IiI3elTNgFNv1pIWiFpQtLEtm3b+m2CWSH6TfEMejeudjd77wxWH92MEdyb3sz/HLg1IqLbN4+IPcDJkkaBG4ATmz2txWuvBK4EGB8f7/ozzYbBTDZcH+S6g04L3sq+BsK6000geB3wm8DHgS9JWgNcFRHf7/ZDImKHpDuBU4FRSQemvYJjgc29N9tsuF14xgn7zMaB4U2r+GZvHVNDaa7/9og4B/j3wHLgPknfkvSWVq+TNDftCSBphCSYPALcAZydPm05cOMMr8FsKB00e+9/XqMjs51WsaHVsUcg6XDgXOBjwNPAbwM3kcwE+itgQYuXHg2sljSLJOBcFxE3S/pH4FpJnwc2Al+Z8VWYZWimK3unz80HeGH3S3k01SwT3aSG7gG+BiyLiE0N5yck/UmrF0XE94CFTc4/CSzqtaFmg5DFyl7X5rGy6Wb66AkR8fvTggAAEXFJDm0yK0wWO4qVZTMasyldjREMoiFmwyCLm3hZNqMxm+KNacwaZHET90IsK5tuFpQt7uacWRVkcRP3Qiwrm24Gi78E/GoX58xKL6sdxTw338qkZSBI1wj8GjBX0gUNvzoEmNX8VWbl1+9NfJg2lDHrRbsewcuAg9PnzGk4/yx7F4SZGd7X18qtZSCIiG8B35J0VUT8cIBtMisdrx2wMutmjOAqSftNIY2IJTm0x2xo9JLq8doBK7NuAsHvNDw+CHg/sLvFc80qoddUz0yqjZoVrZsFZRsa/n0nIi4A3jyAtpkVptcVxl47YGXWTdG5xo1pDgBOAV6VW4vMhkCvqZ6spp2aFaGb1NAGks1jRJIS+gHeZ9gqrp9Uj9cOWFl1DAQR0arMtFlllWljGbOZ6iY1dBDwn4C3kvQM7gb+d0T8v5zbZtZS3ou3nOqxOlGn4qKSrgOeA/4iPXUOcGhEfCDntv3C+Ph4TExMDOrjbMg12/hlZPYs1/Mxm0bShogY7/S8bsYIToiINzUc3yHpwf6bZjYzXrxllq1uylBvlHTq1IGkNwPfya9JZu158ZZZtroJBG8G/k7SU5KeItm68jckPSTpe7m2zqwJb/xilq1uUkNLc2+FWQ88o8csW90Egs9HxMcaT0j62vRzZoPiGT1m2eomEPyrxgNJB5KsLjYrjBdvmWWn5RiBpIskPQe8UdKzkp5Lj58GbhxYC83MLFctA0FEXBwRc4BLI+KQiJiT/js8Ii4aYBvNzCxH3aSGbpX0b6afjIhv59AeMzMbsG4CwYUNjw8CFpEUovPGNFY63lfYbH/dFJ17T+OxpOOAL+bWIrNU1jdt7yts1lw3C8qm2wT8StYNMWs0ddOe3LGTYO9Ne+3Gyb7fs9fNZszqopvqo18iqToKSeA4GehYayjtOfwfkk1sXgKujIg/TDe6WQPMB54CPhgR2/tpvFVXHvWEXJrCrLluegQTJGMCG0jKS3w2Is7t4nW7gU9HxInAqcAnJZ0ErATWRcTxwLr02Gwfedy0XZrCrLluAsEakiAwAXw9IroqOBcRWyLiu+nj54BHgDHgLGB1+rTVwLJeG23Vl8dNO499hddunGTxqvUsWHkLi1etn1Hqyqwo7RaUHSjpiyRjAqtJ9iP4saQvSprdy4dImg8sBO4FjoqILZAEC+DI/ppuVZbHTXvZwjEuft8bGBsdQcDY6MiM9jDIYxzDrAjtegSXAocBCyLilIhYCLwGGAX+R7cfIOlg4OvA+RHxbA+vWyFpQtLEtm3bun2ZVUTWN+3G973wjBM4ZnSEzTt2cultj/V94/bgs1VFyx3KJD0OvC6mPUHSLODRNMff/s2TnsPNwG0RcVl67jHgbRGxRdLRwJ0R0fZrnncos6xkubvZgpW30Oy/HgE/WPXumTXULAPd7lDWrkcQ04NAenIPNP37n94AAV8BHpkKAqmbgOXp4+W4bpENUJbf4j34bFXRLhD8o6R/O/2kpHOBR7t478XAx4Alkh5I/70LWAWcnvY4Tk+PzQYiy9lIeYxjmBWh3TqCTwLfkPRxkllDAfxrYAR4b6c3joi7SXrJzby9x3aaZeKY0REmm9z0+/kW730RrCpaBoKImATeLGkJyZ4EAm6NiHWDapxZ1rLe3cz7IlgVdFNraD2wfgBtsZoaZCE4f4s321831UfNclNEITh/izfbVz9F58wy47n4ZsVzILBCuRCcWfGcGrKBaDUO0GkWjzeSMcufewSWu3Y1edrNxXctH7PBcCCwGemm+manvQVa1RTy+IHZYDg1ZH3rdsZPp3GAVrN4PH5gNhjuEVjfuv3G3mrV7gFS2zSPa/mYDYYDgfWt22/szcYBAPZEtM35u5aP2WA4EFjfuv3GPjUOMEv7l55ql/PPa08CM9uXxwisb6e9fi5X//2P9qlJ3uob+7KFY3xqzQNN36ddzt+rgM3y50BgfVm7cZKvb5jcJwgIeP8prW/c7dYMeL2AWXGcGrK+NBsoDuCOR1tvK9oq53/a6+d6vYBZgRwIrC/9TO1slfO/49FtXi9gViCnhqwv/W7w0izn38/YgZllxz0C60uWUzu9XsCsWA4E1pcsp3Z6vYBZsZwasr5lNbXTu4aZFcuBwIaC1wuYFcepITOzmnOPoKK8QMvMuuVAUEFFbAhvZuXl1FAFtSoP/enrHmy7gYyZ1ZN7BBXUaiHWnkgqA7mHYGaN3COooG4WYs2khEM321OaWXk4EFRQq41gpuunhIM3lDerHgeCCpq+6rfZhjDQXwkHbyhvVj25jRFI+ipwJrA1In4lPXcYsAaYDzwFfDAitufVhjprXKA1fRYR9F/CwRvKm1VPnj2Cq4Cl086tBNZFxPHAuvTYcpZlXSAXiDOrntx6BBHxbUnzp50+C3hb+ng1cCfw2bzaYHtlVcLhwjNOyKx3YWbDYdDTR4+KiC0AEbFF0pGtnihpBbACYN68eQNqnnXiAnFm1aOI6Pysft886RHc3DBGsCMiRht+vz0iDu30PuPj4zExMZFbO83MqkjShogY7/S8Qc8aelrS0QDpz60D/nwzM5tm0IHgJmB5+ng5cOOAP9/MzKbJLRBIuga4BzhB0iZJnwBWAadLehw4PT02M7MC5Tlr6JwWv3p7Xp9pZma9c9G5kvD+AmaWFweCEvD+AmaWJweCEmhX36ffQOAehplNcSDoURE30Kzr+7iHYWaNXH20B0WVYM66vo8riJpZIweCHhR1A222v8BM6vu4gqiZNXJqqAeDuIG2Sz1llZI6ZnSEySZtdgVRs3pyIOhB3jfQTrn7rPL3riBqZo1qmxrqZ9/drFM00w0q9ZTl/gRmVn617BH0O2sm7xLMg8zdZ9nDMLNyq2UgmMm8/DxvoM7dm1kRapkaGtZZM3mnnszMmqllIBjWfXeduzezItQyNVT0rJl2U0SduzezQatlIChy312XdzCzYVPLQADFffPOo4CcmdlM1HKMoEjDOlBtZvXlQDBgwzpQbWb15UAwYJ4iambDprZjBEUpcqDazKwZB4ICeIqomQ0Tp4bMzGrOgcDMrOYcCMzMas6BwMys5hwIzMxqzoHAzKzmHAjMzGrO6wiGQLuy1GZmeSukRyBpqaTHJD0haWURbRgWU2WpJ3fsJNhblnrtxsmim2ZmNTHwQCBpFvDHwDuBk4BzJJ006HYMi3Zlqc3MBqGIHsEi4ImIeDIiXgSuBc4qoB1DwWWpzaxoRQSCMeDHDceb0nP7kLRC0oSkiW3btg2scYPmstRmVrQiAoGanIv9TkRcGRHjETE+d+7cATSrGC5LbWZFK2LW0CbguIbjY4HNWX9IWWbiuCy1mRWtiEBwP3C8pAXAJPBh4CNZfsAgNojPMtC4LLWZFWngqaGI2A38Z+A24BHguoj4hyw/I++ZOJ7yaWZVUsg6goj4ZkS8LiJeExFfyPr9856J4ymfZlYllSwxkfdMHE/5NLMqqWQgyHsmjqd8mlmVVDIQLFs4xsXvewNjoyMIGBsd4eL3vSGzAVlP+TSzKqls0bk8Z+J4yqeZVUllA0HePOXTzKqikqkhMzPrngOBmVnNORCYmdWcA4GZWc05EJiZ1Zwi9qsAPXQkbQN+OKCPOwJ4ZkCfVQRfX/lV/Rp9fdn55YjoWMe/FIFgkCRNRMR40e3Ii6+v/Kp+jb6+wXNqyMys5hwIzMxqzoFgf1cW3YCc+frKr+rX6OsbMI8RmJnVnHsEZmY150BgZlZzDgQNJC2V9JikJyStLLo9MyXpq5K2Snq44dxhkm6X9Hj689Ai2zgTko6TdIekRyT9g6Tz0vOVuEZJB0m6T9KD6fX9t/T8Akn3pte3RtLLim7rTEiaJWmjpJvT48pcn6SnJD0k6QFJE+m5ofv7dCBISZoF/DHwTuAk4BxJJxXbqhm7Clg67dxKYF1EHA+sS4/Lajfw6Yg4ETgV+GT6/1lVrvEFYElEvAk4GVgq6VTgEuDy9Pq2A58osI1ZOA94pOG4atd3WkSc3LB2YOj+Ph0I9loEPBERT0bEi8C1wFkFt2lGIuLbwM+mnT4LWJ0+Xg0sG2ijMhQRWyLiu+nj50huJmNU5Boj8Xx6ODv9F8AS4Pr0fGmvD0DSscC7gT9Lj0WFrq+Fofv7dCDYawz4ccPxpvRc1RwVEVsguZECRxbcnkxImg8sBO6lQteYpk0eALYCtwP/BOyIiN3pU8r+d3oF8BngpfT4cKp1fQH8jaQNklak54bu79M7lO2lJuc8t7YEJB0MfB04PyKeTb5UVkNE7AFOljQK3ACc2Oxpg21VNiSdCWyNiA2S3jZ1uslTS3l9qcURsVnSkcDtkh4tukHNuEew1ybguIbjY4HNBbUlT09LOhog/bm14PbMiKTZJEHg6oj4Rnq6UtcIEBE7gDtJxkJGJU19iSvz3+li4LckPUWSil1C0kOoyvUREZvTn1tJAvkihvDv04Fgr/uB49MZCy8DPgzcVHCb8nATsDx9vBy4scC2zEiaT/4K8EhEXNbwq0pco6S5aU8ASSPAb5KMg9wBnJ0+rbTXFxEXRcSxETGf5L+39RHxUSpyfZJeIWnO1GPgHcDDDOHfp1cWN5D0LpJvJLOAr0bEFwpu0oxIugZ4G0nZ26eBzwFrgeuAecCPgA9ExPQB5VKQ9FbgLuAh9uaYf5dknKD01yjpjSSDibNIvrRdFxH/XdKrSb5BHwZsBM6NiBeKa+nMpamh34mIM6tyfel13JAeHgj8ZUR8QdLhDNnfpwOBmVnNOTVkZlZzDgRmZjXnQGBmVnMOBGZmNedAYGZWcw4EVmuSnu/8rJ7fc76kj2T9vmZ5cSAwy958wIHASsOBwIxkQZOkOyVdL+lRSVenK5enaspfku4NcJ+k16bnr5J0dsN7TPUuVgG/ntag/9S0z3mvpL9V4mhJ35f0qkFdp1kzDgRmey0EzifZj+LVJLVwpjwbEYuAPyJZfd7OSuCutAb95Y2/iIgbgJ8AnwS+DHwuIn6SUfvN+uJAYLbXfRGxKSJeAh4gSfFMuabh51tm+Dm/DVwEvBAR13R6slneHAjM9mqsZ7OHfcu0R5PHu0n/G0rTSN1uqThGUhvpKEn+b9AK5z9Cs+58qOHnPenjp4BT0sdnkewgBvAcMKfZm6Tllf+cZDD5EeCCHNpq1hNvTGPWnZdLupfky9M56bkvAzdKuo9k79mfp+e/B+yW9CBw1bRxgt8lGT+4K9157H5Jt0RE4569ZgPl6qNmHaQbp4xHxDNFt8UsD04NmZnVnHsEZmY15x6BmVnNORCYmdWcA4GZWc05EJiZ1ZwDgZlZzf1/A9bRedykUwQAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(x, y) \n", "plt.xlabel('Input x') \n", "plt.ylabel('Output y') \n", "plt.title(\"Training Data\") \n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "reg = linear_model.LinearRegression()\n", "x1 = [[i] for i in x] # make a 2D list with each data point as a list\n", "reg.fit(x1, y)\n", "y1 = reg.predict(x1)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plotting the Results \n", "plt.plot(x, y, 'ro', label ='Original data') \n", "plt.plot(x, y1, label ='Fitted line') \n", "plt.title('Linear Regression Result')\n", "plt.xlabel('Input x') \n", "plt.ylabel('Output y') \n", "plt.legend() \n", "plt.show() " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# pip install tensorflow # comment out this line to install" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n", "11493376/11490434 [==============================] - 2s 0us/step\n", "WARNING:tensorflow:From /Users/yueli/anaconda3/lib/python3.7/site-packages/tensorflow/python/ops/resource_variable_ops.py:435: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Colocations handled automatically by placer.\n", "WARNING:tensorflow:From /Users/yueli/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/layers/core.py:143: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.\n", "Epoch 1/5\n", "60000/60000 [==============================] - 3s 51us/sample - loss: 0.2953 - acc: 0.91351s - loss: 0\n", "Epoch 2/5\n", "60000/60000 [==============================] - 3s 46us/sample - loss: 0.1423 - acc: 0.95810s - loss: 0.1434 - acc: 0.\n", "Epoch 3/5\n", "60000/60000 [==============================] - 3s 47us/sample - loss: 0.1066 - acc: 0.9678\n", "Epoch 4/5\n", "60000/60000 [==============================] - 3s 45us/sample - loss: 0.0857 - acc: 0.9731\n", "Epoch 5/5\n", "60000/60000 [==============================] - 3s 53us/sample - loss: 0.0737 - acc: 0.9767\n", "10000/10000 [==============================] - 0s 19us/sample - loss: 0.0811 - acc: 0.9748\n" ] }, { "data": { "text/plain": [ "[0.08113716121825855, 0.9748]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import tensorflow as tf\n", "mnist = tf.keras.datasets.mnist\n", "\n", "(x_train, y_train),(x_test, y_test) = mnist.load_data()\n", "x_train, x_test = x_train / 255.0, x_test / 255.0\n", "\n", "model = tf.keras.models.Sequential([\n", " tf.keras.layers.Flatten(input_shape=(28, 28)),\n", " tf.keras.layers.Dense(128, activation='relu'),\n", " tf.keras.layers.Dropout(0.2),\n", " tf.keras.layers.Dense(10, activation='softmax')\n", "])\n", "\n", "model.compile(optimizer='adam',\n", " loss='sparse_categorical_crossentropy',\n", " metrics=['accuracy'])\n", "\n", "model.fit(x_train, y_train, epochs=5)\n", "model.evaluate(x_test, y_test)" ] }, { "cell_type": "code", "execution_count": null, "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.7.2" } }, "nbformat": 4, "nbformat_minor": 2 }