Skip to content

Instantly share code, notes, and snippets.

@tsu-nera
Created June 18, 2017 06:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tsu-nera/74728a7a96a5da6698f6a6e6f119377d to your computer and use it in GitHub Desktop.
Save tsu-nera/74728a7a96a5da6698f6a6e6f119377d to your computer and use it in GitHub Desktop.
Gradient Descent
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"editable": true,
"deletable": true
},
"cell_type": "markdown",
"source": "# Intro_to_the_Math_of_intelligence Challenge\nThis is the code for \"Intro - The Math of Intelligence\" by Siraj Raval on Youtube\n* https://www.youtube.com/watch?v=xRJCOz3AfYY"
},
{
"metadata": {
"editable": true,
"deletable": true
},
"cell_type": "markdown",
"source": "## Coding Challenge\nThis week's coding challenge is to implement gradient descent to find the line of best fit that predicts the relationship between 2 variables of your choice from a kaggle dataset. Bonus points for detailed documentation. Good luck! Post your github link in the youtube comments section"
},
{
"metadata": {
"editable": true,
"deletable": true
},
"cell_type": "markdown",
"source": "## Reference\n* https://github.com/llSourcell/Intro_to_the_Math_of_intelligence\n* [Linear Regression Tutorial Using Gradient Descent for Machine Learning - Machine Learning Mastery](http://machinelearningmastery.com/linear-regression-tutorial-using-gradient-descent-for-machine-learning/)\n* [Linear Regression from scratch (Gradient Descent) | Kaggle](https://www.kaggle.com/tentotheminus9/linear-regression-from-scratch-gradient-descent)\n* [An Introduction to Gradient Descent and Linear Regression](https://spin.atomicobject.com/2014/06/24/gradient-descent-linear-regression/)"
},
{
"metadata": {
"collapsed": true,
"editable": true,
"deletable": true
},
"cell_type": "markdown",
"source": "## Kaggle Dataset: \nHouse Prices: Advanced Regression Techniques\n* https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data"
},
{
"metadata": {
"collapsed": true,
"trusted": true,
"editable": true,
"deletable": true
},
"cell_type": "code",
"source": "import numpy as np\nimport pandas as pd",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"collapsed": true,
"trusted": true,
"editable": true,
"deletable": true
},
"cell_type": "code",
"source": "data = pd.read_csv(\"train.csv\")",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "data.head()",
"execution_count": 3,
"outputs": [
{
"data": {
"text/html": "<div>\n<style>\n .dataframe thead tr:only-child th {\n text-align: right;\n }\n\n .dataframe thead th {\n text-align: left;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Id</th>\n <th>MSSubClass</th>\n <th>MSZoning</th>\n <th>LotFrontage</th>\n <th>LotArea</th>\n <th>Street</th>\n <th>Alley</th>\n <th>LotShape</th>\n <th>LandContour</th>\n <th>Utilities</th>\n <th>...</th>\n <th>PoolArea</th>\n <th>PoolQC</th>\n <th>Fence</th>\n <th>MiscFeature</th>\n <th>MiscVal</th>\n <th>MoSold</th>\n <th>YrSold</th>\n <th>SaleType</th>\n <th>SaleCondition</th>\n <th>SalePrice</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1</td>\n <td>60</td>\n <td>RL</td>\n <td>65.0</td>\n <td>8450</td>\n <td>Pave</td>\n <td>NaN</td>\n <td>Reg</td>\n <td>Lvl</td>\n <td>AllPub</td>\n <td>...</td>\n <td>0</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>0</td>\n <td>2</td>\n <td>2008</td>\n <td>WD</td>\n <td>Normal</td>\n <td>208500</td>\n </tr>\n <tr>\n <th>1</th>\n <td>2</td>\n <td>20</td>\n <td>RL</td>\n <td>80.0</td>\n <td>9600</td>\n <td>Pave</td>\n <td>NaN</td>\n <td>Reg</td>\n <td>Lvl</td>\n <td>AllPub</td>\n <td>...</td>\n <td>0</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>0</td>\n <td>5</td>\n <td>2007</td>\n <td>WD</td>\n <td>Normal</td>\n <td>181500</td>\n </tr>\n <tr>\n <th>2</th>\n <td>3</td>\n <td>60</td>\n <td>RL</td>\n <td>68.0</td>\n <td>11250</td>\n <td>Pave</td>\n <td>NaN</td>\n <td>IR1</td>\n <td>Lvl</td>\n <td>AllPub</td>\n <td>...</td>\n <td>0</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>0</td>\n <td>9</td>\n <td>2008</td>\n <td>WD</td>\n <td>Normal</td>\n <td>223500</td>\n </tr>\n <tr>\n <th>3</th>\n <td>4</td>\n <td>70</td>\n <td>RL</td>\n <td>60.0</td>\n <td>9550</td>\n <td>Pave</td>\n <td>NaN</td>\n <td>IR1</td>\n <td>Lvl</td>\n <td>AllPub</td>\n <td>...</td>\n <td>0</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>0</td>\n <td>2</td>\n <td>2006</td>\n <td>WD</td>\n <td>Abnorml</td>\n <td>140000</td>\n </tr>\n <tr>\n <th>4</th>\n <td>5</td>\n <td>60</td>\n <td>RL</td>\n <td>84.0</td>\n <td>14260</td>\n <td>Pave</td>\n <td>NaN</td>\n <td>IR1</td>\n <td>Lvl</td>\n <td>AllPub</td>\n <td>...</td>\n <td>0</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>0</td>\n <td>12</td>\n <td>2008</td>\n <td>WD</td>\n <td>Normal</td>\n <td>250000</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 81 columns</p>\n</div>",
"text/plain": " Id MSSubClass MSZoning LotFrontage LotArea Street Alley LotShape \\\n0 1 60 RL 65.0 8450 Pave NaN Reg \n1 2 20 RL 80.0 9600 Pave NaN Reg \n2 3 60 RL 68.0 11250 Pave NaN IR1 \n3 4 70 RL 60.0 9550 Pave NaN IR1 \n4 5 60 RL 84.0 14260 Pave NaN IR1 \n\n LandContour Utilities ... PoolArea PoolQC Fence MiscFeature MiscVal \\\n0 Lvl AllPub ... 0 NaN NaN NaN 0 \n1 Lvl AllPub ... 0 NaN NaN NaN 0 \n2 Lvl AllPub ... 0 NaN NaN NaN 0 \n3 Lvl AllPub ... 0 NaN NaN NaN 0 \n4 Lvl AllPub ... 0 NaN NaN NaN 0 \n\n MoSold YrSold SaleType SaleCondition SalePrice \n0 2 2008 WD Normal 208500 \n1 5 2007 WD Normal 181500 \n2 9 2008 WD Normal 223500 \n3 2 2006 WD Abnorml 140000 \n4 12 2008 WD Normal 250000 \n\n[5 rows x 81 columns]"
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"collapsed": true,
"trusted": true,
"editable": true,
"deletable": true
},
"cell_type": "code",
"source": "x = data['GrLivArea'].values\ny = data['SalePrice'].values",
"execution_count": 4,
"outputs": []
},
{
"metadata": {
"editable": true,
"deletable": true
},
"cell_type": "markdown",
"source": "## Plotting points"
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "import matplotlib.pyplot as plt\nplt.scatter(x, y, color='green')\nplt.show()",
"execution_count": 5,
"outputs": [
{
"data": {
"image/png": "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\nAElFTkSuQmCC\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fcdc828c7b8>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"editable": true,
"deletable": true
},
"cell_type": "markdown",
"source": "## Gradient Descent"
},
{
"metadata": {
"collapsed": true,
"trusted": true,
"editable": true,
"deletable": true
},
"cell_type": "code",
"source": "initial_b = 0\ninitial_m = 1.0",
"execution_count": 6,
"outputs": []
},
{
"metadata": {
"collapsed": true,
"trusted": true,
"editable": true,
"deletable": true
},
"cell_type": "code",
"source": "def calcurate_mean_squared_error(x, y, b, m):\n total_error = 0\n n = y.size\n for i in range(n):\n prediction = m*x[i] + b\n total_error += (y[i] - prediction)**2\n return (1/n) * total_error",
"execution_count": 7,
"outputs": []
},
{
"metadata": {
"collapsed": true,
"trusted": true,
"editable": true,
"deletable": true
},
"cell_type": "code",
"source": "def step_gradient(x, y, b, m, learning_rate):\n m_grad = 0\n b_grad = 0\n n = y.size\n \n #Computes the gradients\n for i in range(n):\n # Partial derivative for m\n m_grad += -(2/n) * x[i] * (y[i] - ((m*x[i]) + b))\n # Partial derivative for b\n b_grad += -(2/n) * (y[i] - (m*x[i]) + b)\n \n # update m and b\n m = m - (learning_rate * m_grad)\n b = b - (learning_rate * b_grad) \n return b, m",
"execution_count": 8,
"outputs": []
},
{
"metadata": {
"collapsed": true,
"trusted": true,
"editable": true,
"deletable": true
},
"cell_type": "code",
"source": "def gradient_descent_runner(x, y, initial_b, initial_m, learning_rate, num_iterations):\n b = initial_b\n m = initial_m\n past_errors = []\n for i in range(num_iterations):\n b, m = step_gradient(x, y, b, m, learning_rate)\n if(i % 100) == 0:\n error = calcurate_mean_squared_error(x, y, b, m)\n past_errors.append(error)\n print('Error after', i, 'iterations:', error)\n return b, m, past_errors",
"execution_count": 9,
"outputs": []
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "num_iterations = 1000\nlearning_late = 0.0001\nprint(\"Starting gradient descent at b = {0}, m = {1}, error = {2}\".format(\n initial_b, initial_m, \n calcurate_mean_squared_error(x, y, initial_b, initial_m)))\nprint(\"Running...\")\n[b, m, errors] = gradient_descent_runner(x, y, initial_b, \n initial_m, learning_late, num_iterations)\nprint(\"After {0} iterations b = {1}, m = {2}, error = {3}\".format(\n num_iterations, b, m, calcurate_mean_squared_error(x, y, b, m)))",
"execution_count": 10,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Starting gradient descent at b = 0, m = 1.0, error = 38434358058.74041\nRunning...\nError after 0 iterations: 9.29730669048e+15\n"
},
{
"name": "stderr",
"output_type": "stream",
"text": "/home/tsu-nera/anaconda3/envs/dlnd/lib/python3.6/site-packages/ipykernel_launcher.py:6: RuntimeWarning: overflow encountered in double_scalars\n \n/home/tsu-nera/anaconda3/envs/dlnd/lib/python3.6/site-packages/ipykernel_launcher.py:9: RuntimeWarning: overflow encountered in double_scalars\n if __name__ == '__main__':\n/home/tsu-nera/anaconda3/envs/dlnd/lib/python3.6/site-packages/ipykernel_launcher.py:14: RuntimeWarning: invalid value encountered in double_scalars\n \n"
},
{
"name": "stdout",
"output_type": "stream",
"text": "Error after 100 iterations: inf\nError after 200 iterations: nan\nError after 300 iterations: nan\nError after 400 iterations: nan\nError after 500 iterations: nan\nError after 600 iterations: nan\nError after 700 iterations: nan\nError after 800 iterations: nan\nError after 900 iterations: nan\nAfter 1000 iterations b = nan, m = nan, error = nan\n"
}
]
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "num_iterations = 1000\nlearning_late = 0.000000385\nprint(\"Starting gradient descent at b = {0}, m = {1}, error = {2}\".format(\n initial_b, initial_m, \n calcurate_mean_squared_error(x, y, initial_b, initial_m)))\nprint(\"Running...\")\n[b, m, errors] = gradient_descent_runner(x, y, initial_b, \n initial_m, learning_late, num_iterations)\nprint(\"After {0} iterations b = {1}, m = {2}, error = {3}\".format(\n num_iterations, b, m, calcurate_mean_squared_error(x, y, b, m)))",
"execution_count": 11,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Starting gradient descent at b = 0, m = 1.0, error = 38434358058.74041\nRunning...\nError after 0 iterations: 37099009446.5\nError after 100 iterations: 3890785241.57\nError after 200 iterations: 3191853393.25\nError after 300 iterations: 3177142423.56\nError after 400 iterations: 3176832204.37\nError after 500 iterations: 3176825076.72\nError after 600 iterations: 3176824328.14\nError after 700 iterations: 3176823713.73\nError after 800 iterations: 3176823102.06\nError after 900 iterations: 3176822490.38\nAfter 1000 iterations b = 1.6038367299354666, m = 118.06815503968734, error = 3176821884.722309\n"
}
]
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "plt.scatter(x, y, color='green')\nlx = np.linspace(0,6000) \nly = lx*m + b\nplt.plot(lx,ly,\"r-\")\nplt.show()",
"execution_count": 12,
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fcdf0ad3898>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"editable": true,
"deletable": true
},
"cell_type": "markdown",
"source": "## Standardization(Feature Scaling)\n* [Feature scaling - Wikipedia](https://en.wikipedia.org/wiki/Feature_scaling)"
},
{
"metadata": {
"collapsed": true,
"trusted": true,
"editable": true,
"deletable": true
},
"cell_type": "code",
"source": "norm_x = (x - x.mean()) / x.std()",
"execution_count": 13,
"outputs": []
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "num_iterations = 3000\nlearning_late = 0.0001\nprint(\"Starting gradient descent at b = {0}, m = {1}, error = {2}\".format(\n initial_b, initial_m, \n calcurate_mean_squared_error(norm_x, y, initial_b, initial_m)))\nprint(\"Running...\")\n[b, m, errors] = gradient_descent_runner(norm_x, y, initial_b, \n initial_m, learning_late, num_iterations)\nprint(\"After {0} iterations b = {1}, m = {2}, error = {3}\".format(\n num_iterations, b, m, calcurate_mean_squared_error(norm_x, y, b, m)))",
"execution_count": 14,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Starting gradient descent at b = 0, m = 1.0, error = 39039155157.5263\nRunning...\nError after 0 iterations: 39024796868.7\nError after 100 iterations: 37591675380.6\nError after 200 iterations: 36164517438.6\nError after 300 iterations: 34744277941.7\nError after 400 iterations: 33331988271.7\nError after 500 iterations: 31928759264.1\nError after 600 iterations: 30535784333.6\nError after 700 iterations: 29154342758.0\nError after 800 iterations: 27785803128.3\nError after 900 iterations: 26431626968.9\nError after 1000 iterations: 25093372536.5\nError after 1100 iterations: 23772698802.4\nError after 1200 iterations: 22471369626.5\nError after 1300 iterations: 21191258129.9\nError after 1400 iterations: 19934351272.8\nError after 1500 iterations: 18702754647.8\nError after 1600 iterations: 17498697494.5\nError after 1700 iterations: 16324537945.6\nError after 1800 iterations: 15182768513.2\nError after 1900 iterations: 14076021824.8\nError after 2000 iterations: 13007076618.1\nError after 2100 iterations: 11978864006.6\nError after 2200 iterations: 10994474025.2\nError after 2300 iterations: 10057162467.2\nError after 2400 iterations: 9170358025.52\nError after 2500 iterations: 8337669749.07\nError after 2600 iterations: 7562894827.6\nError after 2700 iterations: 6850026718.21\nError after 2800 iterations: 6203263627.23\nError after 2900 iterations: 5627017362.03\nAfter 3000 iterations b = 148718.94016599742, m = 25393.306845628165, error = 5130545732.32363\n"
}
]
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "plt.plot(errors)\nplt.show()",
"execution_count": 15,
"outputs": [
{
"data": {
"image/png": "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\n34XSAAAAAElFTkSuQmCC\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fcdc828cda0>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "plt.scatter(norm_x, y, color='green')\nlx = np.linspace(-3,8)\nly = lx*m + b\nplt.plot(lx,ly,\"r-\")\nplt.show()",
"execution_count": 16,
"outputs": [
{
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fcdc4361dd8>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"editable": true,
"deletable": true
},
"cell_type": "markdown",
"source": "## Delete outlier\n* [python - Is there a numpy builtin to reject outliers from a list - Stack Overflow](https://stackoverflow.com/questions/11686720/is-there-a-numpy-builtin-to-reject-outliers-from-a-list)"
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": true
},
"cell_type": "code",
"source": "def reject_outliers(x, y):\n m = 2\n retx, rety = [], []\n u = np.mean(x)\n s = np.std(x)\n for i in range(x.size):\n if (u - m * s < x[i] < u + m * s):\n retx.append(x[i])\n rety.append(y[i])\n return np.array(retx), np.array(rety)",
"execution_count": 17,
"outputs": []
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": true
},
"cell_type": "code",
"source": "x2, y2 = reject_outliers(x, y)",
"execution_count": 18,
"outputs": []
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "x2.size",
"execution_count": 19,
"outputs": [
{
"data": {
"text/plain": "1401"
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "plt.scatter(x2, y2, color='green')\nplt.show()",
"execution_count": 20,
"outputs": [
{
"data": {
"image/png": "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\nojcQlZ0AAAAASUVORK5CYII=\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fcdc828c4a8>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"collapsed": true,
"trusted": true,
"editable": true,
"deletable": true
},
"cell_type": "code",
"source": "x2 = (x2 - x2.mean()) / x2.std()",
"execution_count": 21,
"outputs": []
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "num_iterations = 3000\nlearning_late = 0.0001\nprint(\"Starting gradient descent at b = {0}, m = {1}, error = {2}\".format(\n initial_b, initial_m, \n calcurate_mean_squared_error(x2, y2, initial_b, initial_m)))\nprint(\"Running...\")\n[b, m, errors] = gradient_descent_runner(x2, y2, initial_b, \n initial_m, learning_late, num_iterations)\nprint(\"After {0} iterations b = {1}, m = {2}, error = {3}\".format(\n num_iterations, b, m, calcurate_mean_squared_error(x2, y2, b, m)))",
"execution_count": 22,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Starting gradient descent at b = 0, m = 1.0, error = 35066480010.58602\nRunning...\nError after 0 iterations: 35053480651.8\nError after 100 iterations: 33755402109.6\nError after 200 iterations: 32461594862.6\nError after 300 iterations: 31172994901.3\nError after 400 iterations: 29890607268.2\nError after 500 iterations: 28615508892.5\nError after 600 iterations: 27348851563.6\nError after 700 iterations: 26091865051.1\nError after 800 iterations: 24845860373.9\nError after 900 iterations: 23612233226.7\nError after 1000 iterations: 22392467568.0\nError after 1100 iterations: 21188139377.2\nError after 1200 iterations: 20000920587.0\nError after 1300 iterations: 18832583196.7\nError after 1400 iterations: 17685003576.7\nError after 1500 iterations: 16560166967.2\nError after 1600 iterations: 15460172183.4\nError after 1700 iterations: 14387236532.2\nError after 1800 iterations: 13343700950.3\nError after 1900 iterations: 12332035372.0\nError after 2000 iterations: 11354844336.2\nError after 2100 iterations: 10414872842.9\nError after 2200 iterations: 9515012467.38\nError after 2300 iterations: 8658307744.34\nError after 2400 iterations: 7847962832.45\nError after 2500 iterations: 7087348470.01\nError after 2600 iterations: 6380009234.44\nError after 2700 iterations: 5729671117.42\nError after 2800 iterations: 5140249428.81\nError after 2900 iterations: 4615857042.68\nAfter 3000 iterations b = 143285.9124730132, m = 20762.383465645886, error = 4165005460.5867414\n"
}
]
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "plt.plot(errors)\nplt.show()",
"execution_count": 23,
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fcdc42c75c0>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "plt.scatter(x2, y2, color='green')\nlx = np.linspace(-3,8) \nly = lx*m + b\nplt.plot(lx,ly,\"r-\")\nplt.show()",
"execution_count": 24,
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fcdc44ca4e0>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": true,
"editable": true,
"deletable": true,
"collapsed": false
},
"cell_type": "code",
"source": "plt.scatter(x2, y2, color='green')\nlx = np.linspace(-3,3) \nly = lx*m + b\nplt.plot(lx,ly,\"r-\")\nplt.show()",
"execution_count": 25,
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7fcdc454e9e8>"
},
"metadata": {},
"output_type": "display_data"
}
]
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.6.0",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"toc": {
"threshold": 4,
"number_sections": false,
"toc_cell": false,
"toc_window_display": false,
"toc_section_display": "block",
"sideBar": true,
"navigate_menu": true,
"moveMenuLeft": true,
"widenNotebook": false,
"colors": {
"hover_highlight": "#DAA520",
"selected_highlight": "#FFD700",
"running_highlight": "#FF0000",
"wrapper_background": "#FFFFFF",
"sidebar_border": "#EEEEEE",
"navigate_text": "#333333",
"navigate_num": "#000000"
},
"nav_menu": {}
},
"gist": {
"id": "",
"data": {
"description": "Gradient Descent",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment