From 6287890498c3b5799dae425afb352d3e890f57f1 Mon Sep 17 00:00:00 2001 From: sjain24 Date: Fri, 14 Dec 2018 13:56:54 +0530 Subject: [PATCH 1/2] task 1 --- Introduction-to-Machine-Learning | 1 + 1 file changed, 1 insertion(+) create mode 160000 Introduction-to-Machine-Learning diff --git a/Introduction-to-Machine-Learning b/Introduction-to-Machine-Learning new file mode 160000 index 0000000..1aef7d6 --- /dev/null +++ b/Introduction-to-Machine-Learning @@ -0,0 +1 @@ +Subproject commit 1aef7d69b834906c40f1f73c54b35f51f554ff03 From 20ceddc885091d06a2cd1ef40bf2ce0de3637dc1 Mon Sep 17 00:00:00 2001 From: sjain24 Date: Fri, 14 Dec 2018 14:11:07 +0530 Subject: [PATCH 2/2] Remove the extra module created by-mistake --- Introduction-to-Machine-Learning | 1 - ...tting Familiar with Numpy-checkpoint.ipynb | 92 ++++++++--- .../Linear Regression-checkpoint.ipynb | 155 ++++++++++++------ Module 1/Getting Familiar with Numpy.ipynb | 90 ++++++++-- 4 files changed, 253 insertions(+), 85 deletions(-) delete mode 160000 Introduction-to-Machine-Learning diff --git a/Introduction-to-Machine-Learning b/Introduction-to-Machine-Learning deleted file mode 160000 index 1aef7d6..0000000 --- a/Introduction-to-Machine-Learning +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1aef7d69b834906c40f1f73c54b35f51f554ff03 diff --git a/Module 1/.ipynb_checkpoints/Getting Familiar with Numpy-checkpoint.ipynb b/Module 1/.ipynb_checkpoints/Getting Familiar with Numpy-checkpoint.ipynb index cb19a1b..3e1dc79 100644 --- a/Module 1/.ipynb_checkpoints/Getting Familiar with Numpy-checkpoint.ipynb +++ b/Module 1/.ipynb_checkpoints/Getting Familiar with Numpy-checkpoint.ipynb @@ -16,10 +16,8 @@ }, { "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": true - }, + "execution_count": 9, + "metadata": {}, "outputs": [], "source": [ "import numpy as np" @@ -34,7 +32,14 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -45,13 +50,13 @@ " [1., 1., 1.]])" ] }, - "execution_count": 5, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "np.matrix(np.ones((3,3)))" + "np.matrix(np.ones([3,3]))" ] }, { @@ -63,16 +68,26 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": true - }, - "outputs": [], + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "matrix([[1., 0., 0.],\n", + " [0., 1., 0.],\n", + " [0., 0., 1.]])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# ====================== YOUR CODE HERE ======================\n", "# Instructions: Generate a 3x3 Identity matrix using numpy\n", - " \n", - " \n", + "np.matrix(np.eye(3)) \n", " \n", " \n", " \n", @@ -101,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -118,14 +133,25 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 13, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "matrix([[20]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# ====================== YOUR CODE HERE ======================\n", "# Instructions: Multiply theta transpose by X\n", " \n", - " \n", + "theta.transpose()*X\n", " \n", " \n", " \n", @@ -142,6 +168,34 @@ "matrix([[20]])\n", "```" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -160,7 +214,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.7.0" } }, "nbformat": 4, diff --git a/Module 1/.ipynb_checkpoints/Linear Regression-checkpoint.ipynb b/Module 1/.ipynb_checkpoints/Linear Regression-checkpoint.ipynb index b659194..00a3dee 100644 --- a/Module 1/.ipynb_checkpoints/Linear Regression-checkpoint.ipynb +++ b/Module 1/.ipynb_checkpoints/Linear Regression-checkpoint.ipynb @@ -2,10 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": true - }, + "execution_count": 1, + "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", @@ -25,10 +23,8 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": true - }, + "execution_count": 2, + "metadata": {}, "outputs": [], "source": [ "dataset = make_regression(n_features=1, n_samples=100, noise=5, random_state=42)\n", @@ -45,27 +41,29 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 7, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], @@ -75,10 +73,8 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": true - }, + "execution_count": 4, + "metadata": {}, "outputs": [], "source": [ "alpha = 0.1\n", @@ -87,20 +83,16 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "matrix([[ 1. , 0.93128012],\n", - " [ 1. , 0.08704707],\n", - " [ 1. , -1.05771093],\n", - " [ 1. , 0.31424733],\n", - " [ 1. , -0.47917424]])" + "(100, 1)" ] }, - "execution_count": 9, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -110,7 +102,10 @@ "theta = np.zeros((2,1))\n", "theta = np.matrix(theta)\n", "X = np.matrix(X)\n", - "X[0:5]" + "X[0:5]\n", + "theta.shape\n", + "y = (np.matrix(y_init)).transpose()\n", + "y.shape" ] }, { @@ -122,16 +117,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "matrix([[775.33858687]])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "def computeCost(X, y, theta):\n", " m = len(X)\n", " cost = 0\n", " # ====================== YOUR CODE HERE ======================\n", " # Instructions: Compute the cost of a particular choice of theta\n", - " \n", + " cost = ( np.dot( ( np.dot(X,theta) - y ).transpose() , ( np.dot(X,theta) - y ) ) )/(2*m);\n", + "\n", " \n", " \n", " \n", @@ -150,17 +157,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "matrix([[9.7567813]])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "def gradientDescent(X, y, theta, alpha, iterations):\n", " m = len(X) \n", - " for i in range(len(X)):\n", + " for i in range(iterations):\n", " # ====================== YOUR CODE HERE ======================\n", " # Instructions: Perform a single gradient step on the parameter vector theta. \n", " \n", - " \n", + " theta = theta - np.dot(alpha*(X.transpose()),(np.dot(X,theta) - y))/m;\n", + "\n", + " \n", " \n", " \n", " # ============================================================\n", @@ -179,9 +199,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "plt.scatter(X_init, y_init, color='#003F72')\n", "plt.plot(X_init, X*theta)\n", @@ -197,10 +230,8 @@ }, { "cell_type": "code", - "execution_count": 16, - "metadata": { - "collapsed": true - }, + "execution_count": 9, + "metadata": {}, "outputs": [], "source": [ "from sklearn.linear_model import LinearRegression" @@ -208,7 +239,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -219,17 +250,19 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 11, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\nAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], @@ -242,9 +275,35 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": true - }, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], "source": [] } @@ -265,7 +324,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.7.0" } }, "nbformat": 4, diff --git a/Module 1/Getting Familiar with Numpy.ipynb b/Module 1/Getting Familiar with Numpy.ipynb index cb19a1b..f94c9aa 100644 --- a/Module 1/Getting Familiar with Numpy.ipynb +++ b/Module 1/Getting Familiar with Numpy.ipynb @@ -17,9 +17,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [ "import numpy as np" @@ -34,7 +32,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -45,13 +43,13 @@ " [1., 1., 1.]])" ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "np.matrix(np.ones((3,3)))" + "np.matrix(np.ones([3,3]))" ] }, { @@ -63,15 +61,27 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": true - }, - "outputs": [], + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "matrix([[1., 0., 0.],\n", + " [0., 1., 0.],\n", + " [0., 0., 1.]])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# ====================== YOUR CODE HERE ======================\n", "# Instructions: Generate a 3x3 Identity matrix using numpy\n", - " \n", + "np.matrix(np.eye(3))\n", + "\n", " \n", " \n", " \n", @@ -101,7 +111,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -118,14 +128,25 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "matrix([[20]])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# ====================== YOUR CODE HERE ======================\n", "# Instructions: Multiply theta transpose by X\n", " \n", - " \n", + "theta.transpose()*X\n", " \n", " \n", " \n", @@ -142,6 +163,41 @@ "matrix([[20]])\n", "```" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -160,7 +216,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.7.0" } }, "nbformat": 4,