{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "57299794-80df-4b68-a840-5117ef4883b5",
   "metadata": {},
   "source": [
    "## Computational - 30 points\n",
    "\n",
    "These problems have a coding solution. Code your solutions in Python in the space provided.\n",
    "\n",
    "Use of LLM's such as Chat GPT are n|ot allowed for this computational task, please try not to use such applications as we do check for the same during grading."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "83c4475c-1707-478e-9b2c-488d18c15e40",
   "metadata": {},
   "source": [
    "### Data Reading and Gradient Descent"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "ba917e81-594d-46b6-bb69-c377caa52192",
   "metadata": {},
   "outputs": [],
   "source": [
    "#importing the following libraries\n",
    "#pandas as its common alias\n",
    "#numpy as its common alias\n",
    "#matplotlib.pyplot as plt\n",
    "#seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "1ba0a510-bfc7-4d28-aef2-2222b1a13bed",
   "metadata": {},
   "outputs": [],
   "source": [
    "#setting the path of data.csv in your drive\n",
    "path = #Enter path for data.csv here\n",
    "data = pd._____(____) #Read csv from the path\n",
    "#note - it will be different for you"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "f58fe539-0391-4a19-afc9-ceb39adacade",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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AIAUCdoAAACQIkEbAAAAUiRoAwAAQIoEbQAAAEiRoA0AAAApErQBAAAgRYI2AAAApEjQBgAAgBQJ2gAAAJAiQRsAAABSJGgDAABAisoO2t/73veiu7s72tvbI5fLxbe//e1JzydJEps3b4729vY477zz4qqrroqnnnpq0j3Hjx+Pj33sY/GSl7wkLrjggnjb294WTz/99Fn9QwAAACALyg7av/rVr+J1r3td3HPPPdM+f+edd8Zdd90V99xzT+zfvz8KhUKsXbs2hoeHJ+7ZuHFjPPjgg/HAAw/EY489Fs8991y89a1vjdHR0bn/SwAAACADckmSJHP+5FwuHnzwwXj7298eEeOr2e3t7bFx48a47bbbImJ89XrZsmVxxx13xIc//OEoFotx4YUXxje+8Y34gz/4g4iIePbZZ2P58uXxne98J97ylrec8b87NDQU+Xw+isVitLa2znX4AAAAMCvl5NBU92j39fXFwMBAXHPNNRPXmpqa4sorr4zHH388IiKeeOKJeOGFFybd097eHl1dXRP3nOr48eMxNDQ06QEAAABZlGrQHhgYiIiIZcuWTbq+bNmyiecGBgbi3HPPjRe/+MUz3nOqbdu2RT6fn3gsX748zWEDAABAairSdTyXy036OEmSKddOdbp7br/99igWixOPw4cPpzZWAAAASFOqQbtQKERETFmZHhwcnFjlLhQKceLEiTh27NiM95yqqakpWltbJz0AAGAmo2NJ7D10JB468EzsPXQkRsfm3JYIoGypBu2Ojo4oFAqxe/fuiWsnTpyIPXv2xOWXXx4REW94wxvinHPOmXRPf39/9Pb2TtwDAABztau3P950x9/FDfd+Pz7+wIG44d7vx5vu+LvY1dtf7aEBDWJRuZ/w3HPPxU9/+tOJj/v6+uLAgQOxePHiuOiii2Ljxo2xdevWWLlyZaxcuTK2bt0a559/ftx4440REZHP5+ODH/xgfOpTn4olS5bE4sWL45ZbbomLL744rr766vT+ZQAANJxdvf2xYUdPnLp+PVAciQ07emL7+lWxrqutKmMDGkfZQfsHP/hB/O7v/u7Ex5/85CcjIuKmm26Kr33ta3HrrbfG888/HzfffHMcO3YsLrvssnjkkUeipaVl4nP+4i/+IhYtWhTvete74vnnn483v/nN8bWvfS0WLlyYwj8JAIBGNDqWxJadB6eE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QdAGgCrY1dsfW3YenHQOcFu+OTZ1dyp3BYAaV5E92sPDw7Fx48Z4+ctfHuedd15cfvnlsX///onnkySJzZs3R3t7e5x33nlx1VVXxVNPPVWJoQBA5uzq7Y8NO3omheyIiIHiSGzY0RO7evurNDIAIA0VCdp/+Id/GLt3745vfOMb8eSTT8Y111wTV199dTzzzDMREXHnnXfGXXfdFffcc0/s378/CoVCrF27NoaHhysxHADIjNGxJLbsPBjJNM+Vrm3ZeTBGx6a7AwCoBakH7eeffz7++q//Ou688874N//m38Rv/dZvxebNm6OjoyO2b98eSZLE3XffHZ/97GfjHe94R3R1dcV9990Xv/71r+P+++9PezgAkCn7+o5OWck+WRIR/cWR2Nd3dP4GBQCkKvWg/c///M8xOjoazc2Tj1k477zz4rHHHou+vr4YGBiIa665ZuK5pqamuPLKK+Pxxx+f9mseP348hoaGJj0AoBYNDs8csudyHwCQPakH7ZaWllizZk187nOfi2effTZGR0djx44d8b//9/+O/v7+GBgYiIiIZcuWTfq8ZcuWTTx3qm3btkU+n594LF++PO1hA8C8WNrSfOabyrgPAMieiuzR/sY3vhFJksRLX/rSaGpqii9+8Ytx4403xsKFCyfuyeUmH1+SJMmUayW33357FIvFicfhw4crMWwAqLjVHYujLd8cMx3ilYvx7uOrOxbP57AAgBRVJGivWLEi9uzZE88991wcPnw49u3bFy+88EJ0dHREoVCIiJiyej04ODhllbukqakpWltbJz0AoBYtXJCLTd2dERFTwnbp403dnc7TBoAaVpGgXXLBBRdEW1tbHDt2LB5++OG4/vrrJ8L27t27J+47ceJE7NmzJy6//PJKDgcAMmFdV1tsX78qCvnJ5eGFfHNsX7/KOdoAUOMWVeKLPvzww5EkSbzqVa+Kn/70p/HpT386XvWqV8W///f/PnK5XGzcuDG2bt0aK1eujJUrV8bWrVvj/PPPjxtvvLESwwGAzFnX1RZrOwuxr+9oDA6PxNKW8XJxK9kAUPsqErSLxWLcfvvt8fTTT8fixYvj3/27fxd/9md/Fuecc05ERNx6663x/PPPx8033xzHjh2Lyy67LB555JFoaWmpxHAAIJMWLsjFmhVLqj0MACBluSRJkmoPolxDQ0ORz+ejWCzarw0A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\n",
      "text/plain": [
       "<Figure size 1200x900 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#DO NOT CHANGE THIS CODE\n",
    "plt.rcParams['figure.figsize'] = (12.0, 9.0)\n",
    "X = data.iloc[:, 0]\n",
    "Y = data.iloc[:, 1]\n",
    "plt.scatter(X, Y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "33fa358b-129e-4ea1-adc4-552304d43698",
   "metadata": {},
   "source": [
    "Now, you have a visualization of your data. Your next step should be to build a model for linear regression. Recall that it is given by:\n",
    "\n",
    "$$y = mx + c$$\n",
    "\n",
    "We will initialize m and c with 0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "efef79d9-ed9f-4d58-98b4-beaf8c6ba29c",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Building the model\n",
    "m =  #Initialize the value for m\n",
    "c =  #Initialize the value for c\n",
    "L = 0.0001  # The learning Rate\n",
    "epochs = 1000  # The number of iterations to perform gradient descent\n",
    "n = float(len(X)) # Number of elements in X"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0ec19379-d45c-423b-8592-f711c157f4f7",
   "metadata": {},
   "source": [
    "**[1] [10 points] Complete the code below to perform gradient descent.**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "67277e6e-3a01-4e2e-94a4-787d49f14bd6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.4796491688889395 0.10148121494753734\n"
     ]
    }
   ],
   "source": [
    "# Performing Gradient Descent \n",
    "for i in range(epochs): \n",
    "    y_hat = ________  # Enter the current predicted value of Y based on the equation for linear regression\n",
    "    D_m = (-2/n) * _____(X * (Y - _____))  # Complete the formula to find Derivative wrt m\n",
    "    D_c = (-2/_____) * sum(_____ - y_hat)  # Complete the formula to find Derivative wrt c\n",
    "    m = m - L * D_m  # Update m\n",
    "    c = c - L * D_c  # Update c\n",
    "    \n",
    "print(m, c)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "37299ebb-94e7-45c9-8b26-d7384d826f09",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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JEmtFZfS8RUrVjBmzBh69epFt27d2G+//Xj11Vcb3x+NRpk4cSJ9+/ala9euHH744bz11lvxWIokNZN1Z3pfeQUOOgguuSQI2QccAAsXwj33ZFTIVuI1PLTa0r8pIYLu4zaikyRlm5gH7TVr1nDIIYewww478Le//Y0lS5Zw1113seOOOzbeM23aNKZPn87MmTNZuHAhkUiEESNGsHbt2lgvR5JalBVnej/9NNi1HjoUXn01CNX33gsvvwz7p/bILqWHrHtoJUlSK4Wi0WhMW4Fed911/Otf/+Kf//xni++PRqP07duXcePGce211wJQW1tLnz59mDp1KhdccME2v0Z1dTXhcJiqqip69OgRy+VLyjJ19dHMO9MbjcKjj8KVV8LHHwevnXUW/OQnwZlsKcacoy1JygZtyaExD9oFBQUcffTRfPTRR8yfP59dd92VsWPHcv755wPw/vvv079/fxYtWsTgwYMbP+7EE09kxx135OGHH272OWtra6mtrW28rq6upl+/fgZtSdrcO+8Eu9jPPx9cDxwIs2bBt7+d3HUp42XkQytJkr6kLUE75qXj77//PrNnz2bAgAE8/fTTXHjhhVx66aX86le/AqCiogKAPn36NPm4Pn36NL5vc1OmTCEcDje+9evXL9bLlqT0tn493HhjMLLr+echJydodPb661sN2XX1URYsW8WTi1ewYNkq5x2r3Roa0Z24364M69/LkC1Jymox7zpeX1/PAQccwOTJkwEYPHgwb731FrNnz+b73/9+432hzcbIRKPRZq81GD9+PFdccUXjdcOOtiSls5jtAD71FFx8MZSVBdfHHhs0Ovva17b6YZb7SpIkxUfMg3ZeXh4FBQVNXhs0aBB//OMfAYj83/nAiooK8vK++ItcZWVls13uBl26dKFLly6xXqokJU1MQu7y5TBuHPzpT8H1brvBz34G3/nONmdizy0tp6h4UbPxZhVVNRQVL8qchnBKe5akS5LSUcxLxw855BCWLl3a5LX//Oc/fPWrXwUgPz+fSCTCvHnzGt+/YcMG5s+fz/Dhw2O9HElKOQ0h98shG74IuXNLy7f+CTZuhLvugkGDgpDdsWPQ+Oztt+Hkk7cZsuvqo0yas6TFGeINr02as8QyciXd3NJyDp36PGc88DKXPbaYMx54mUOnPr/tf0ckSUqymAftyy+/nJdffpnJ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\n",
      "text/plain": [
       "<Figure size 1200x900 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#DO NOT change this code\n",
    "# Making predictions\n",
    "Y_pred = m*X + c\n",
    "\n",
    "plt.scatter(X, Y) \n",
    "plt.plot([min(X), max(X)], [min(Y_pred), max(Y_pred)], color='red')  # regression line\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "79451580-45f0-4f43-8587-941a3c1644b8",
   "metadata": {},
   "source": [
    "**[2] [10 points] Complete the code below to perform gradient descent with different learning rates**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "5b1df4a9-770d-4b79-9c4f-45a3c1cb1662",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Learning Rate: 0.0001 => m: 1.4796491688889395, c: 0.10148121494753734\n",
      "Learning Rate: 0.0005 => m: -1.3036876994343447e+178, c: -2.5561869918933525e+176\n",
      "Learning Rate: 0.001 => m: nan, c: nan\n",
      "Learning Rate: 0.01 => m: nan, c: nan\n"
     ]
    }
   ],
   "source": [
    "def run_gradient_descent(X, Y, L, epochs):\n",
    "    m, c = ____ # Intialize the value of m and c with 0\n",
    "    n = float(____(X)) # Intialize n with batch size\n",
    "    for i in range(epochs):\n",
    "        y_hat = _____ # Complete formula for y_hat\n",
    "        D_m = (-2/n) * _____(X * (Y - _____)) # Complete formula to find derivative wrt m\n",
    "        D_c = (-2/n) * _____(Y - _____) # Complete formula to find derivative wrt c\n",
    "        m = m - ______ # Enter updated value for m\n",
    "        c = c - ______ # Enter updated value for c\n",
    "    return m, c\n",
    "\n",
    "# Trying different learning rates\n",
    "learning_rates = [________] # Enter learning rates you feel would work well for the data, output will vary do not worry about that, make sure to use atleast 4 different learning rates\n",
    "for lr in learning_rates:\n",
    "    m, c = run_gradient_descent(X, Y, lr, epochs)\n",
    "    print(f\"Learning Rate: {lr} => m: {m}, c: {c}\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3a44fecb-618f-4101-8375-ed42fd26425a",
   "metadata": {},
   "source": [
    "**[3] [10 points] Complete the code below to perform stochaistic gradient descent, the same way we did regular gradient descent**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "dde785bc-9f4d-4d0d-8c58-6b8318f42cea",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SGD => m: 1.4460460213290953, c: 5.841802927567102\n"
     ]
    }
   ],
   "source": [
    "def run_stochastic_gradient_descent(X, Y, L, epochs):\n",
    "    m, c = 0,0 # Intialize the value of m and c with 0\n",
    "    n = float(____(X)) # Intialize n with batch size\n",
    "    for i in range(epochs):\n",
    "        for x, y in zip(X, Y):\n",
    "            y_hat = m * x + c\n",
    "            D_m = -2 * x * (y - _____) # Complete formula to find derivative wrt m\n",
    "            D_c = -2 * (y - _____) # Complete formula to find derivative wrt c\n",
    "            m = m - ______ # Enter updated value for m\n",
    "            c = c - ______ # Enter updated value for c\n",
    "    return m, c\n",
    "\n",
    "# Running stochastic gradient descent\n",
    "m_sgd, c_sgd = run_stochastic_gradient_descent(X, Y, 0.0001, epochs)\n",
    "print(f\"SGD => m: {m_sgd}, c: {c_sgd}\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "04ee39c1-ec1e-42d1-b813-14833bb9fb37",
   "metadata": {},
   "source": [
    "**[4] [5 points] Are the values for Stochaistic Gradient Descent same as Regular Gradient descent? Comment on your observations as well as your understanding as to why they may be the same or different**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3e878e0e-b22e-4d66-a540-545430715c04",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}