{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#Week 3: Regression\n", "After getting over [week 2](http://www.galvanize.com/2015/05/01/data-science-101-making-sense-of-statistics-and-multi-armed-bandit/) we moved on to our regression phase. It was wild to see our first models working towards predicting outcomes based on features. We definitely picked up the pace of the program and understanding the pre-readings before lecture was very necessary. One of the books we keep going back to is [Intro to Stats Learning](http://www-bcf.usc.edu/~gareth/ISL/ISLR%20First%20Printing.pdf), I highly recommend it as a good starting point for anyone starting machine learning. \n", "\n", "Again, its fun learning a ton and applying the principles outside of the classroom. My mind wonders with what outcomes one could predict if they had all the features they needed. What features are necessary to quantify someones personality? What features do Uber's price surge use?\n", "\n", "Here's some of the material we went over:\n", "1. Linear Algebra\n", "2. Hard core Numpy\n", "3. Linear Regression\n", "4. Ridge/Lasso Techniques\n", "5. Logistic Regression\n", "6. Gradient Descent\n", "7. EDA Best Practices\n", "8. Workflow\n", "\n", "For the code of the week we are going to go over some Ridge, Lasso, and the nuts and bolts of linear regression. This one was completed by myself [Greg Kamradt](https://github.com/gkamradt) and [GScott Stukey](https://github.com/gscottstukey). \n", "\n", "Lets start off by importing our packages. A bunch of sklearn and our buddy numpy" ] }, { "cell_type": "code", "execution_count": 227, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from sklearn.cross_validation import KFold, train_test_split, cross_val_score\n", "from sklearn.linear_model import Ridge, RidgeCV, Lasso, LassoCV\n", "from sklearn.linear_model import LinearRegression\n", "from sklearn.datasets import load_boston\n", "from sklearn import preprocessing\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import sklearn\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now load up your data. We are going to be using a sklearn data set." ] }, { "cell_type": "code", "execution_count": 228, "metadata": { "collapsed": true }, "outputs": [], "source": [ "boston = load_boston()\n", "features = boston.data\n", "target = boston.target # housing price" ] }, { "cell_type": "code", "execution_count": 229, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sample Features: [ 2.73100000e-02 0.00000000e+00 7.07000000e+00 0.00000000e+00\n", " 4.69000000e-01 6.42100000e+00 7.89000000e+01 4.96710000e+00\n", " 2.00000000e+00 2.42000000e+02 1.78000000e+01 3.96900000e+02\n", " 9.14000000e+00]\n", "Sample Target: 21.6\n", "Number of features Features: 13\n", "How many items? 506\n" ] } ], "source": [ "print \"Sample Features:\", features[1]\n", "print \"Sample Target:\", target[1]\n", "print \"Number of features Features:\", len(features[0])\n", "print \"How many items?\", len(features)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looks like we're dealing with a data set that has 506 entries, 13 features comprised of floats. Looks pretty standard to me. Its times like these that pandas.describe()/head() would be useful.\n", "\n", "Lets use sklearn to split up the data set into test and training subsets" ] }, { "cell_type": "code", "execution_count": 230, "metadata": { "collapsed": true }, "outputs": [], "source": [ "train_feature, test_feature, train_target, test_target = \\\n", "train_test_split(features, target, test_size=0.3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we are going to fit our data set through Linear Regression. With that model we will see how we do predicting with our training features and our test features. Lets plot out how we did. Ideally we would like to see all the points match up 1:1, or along a line with slope 0 and 0 intercept. " ] }, { "cell_type": "code", "execution_count": 231, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "R^2: 0.768092527484\n" ] } ], "source": [ "linear = LinearRegression()\n", "linear.fit(train_feature, train_target)\n", "train_predicted = linear.predict(train_feature)\n", "test_predicted = linear.predict(test_feature)\n", "plt.scatter(test_target, test_predicted)\n", "plt.plot([5,50],[5,50], 'k-')\n", "plt.xlabel('Test data actual values')\n", "plt.ylabel('Test data predicted values')\n", "plt.show()\n", "print 'R^2:', linear.score(test_feature, test_target)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looks like Linear Regression does not do that bad of a job. Lets try constricting our beta coefficients though Ridge and Lasso and see what kinda fits we get.\n", "\n", "But first it is good to visualize what our coefficients look like as we fine tune our alpha. Alpha in this case will determine how much we restrict our betas. Higher Alpha = Lower Betas. See the for loop that goes through 50 values of alpha between 0 and 4." ] }, { "cell_type": "code", "execution_count": 232, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#RIDGE\n", "\n", "k = train_feature.shape[1]\n", "alphas = np.linspace(start = 0, stop = 4, num = 50)\n", "params = np.zeros(shape = (len(alphas), k))\n", "\n", "# Go through each alpha and append a list with our updated list of Beta Coefs. \n", "for i,a in enumerate(alphas):\n", " # scale the features\n", " X_data = preprocessing.scale(train_feature)\n", " fit = Ridge(alpha=a, normalize=True).fit(X_data, train_target)\n", " params[i] = fit.coef_\n", " \n", "plt.figure(figsize=(14,6))\n", "for param in params.T:\n", " plt.plot(alphas, param)\n", " plt.xlabel('Alpha')\n", " plt.ylabel('Coefs_')\n", " plt.title('\\nCoefs vs Alpha\\n', size=20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the plot above we see the coefficients approach 0 as our alphas get bigger. Makes sense, alpha grows, betas shrink. However, beta's don't really mean anything to us on their own. In order to judge their value, we have to plot the Mean Squared Error (MSE) and see if changing the alpha helps us out at all." ] }, { "cell_type": "code", "execution_count": 233, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#RIDGE with Cross Val\n", "train_mse = []\n", "test_mse = []\n", "\n", "k = X.shape[1]\n", "alphas = np.linspace(start = 0, stop = 4, num = 100)\n", "#alphas = np.linspace(0, 1) #smaller lin space\n", "params = np.zeros((len(alphas), k))\n", "\n", "\n", "for i,a in enumerate(alphas):\n", " fit = Ridge(alpha=a, normalize=True).fit(X_data, y)\n", " params[i] = fit.coef_\n", " cv=5 # Number of buckets that we'll use in our cross fold below\n", " \n", " # keep track of our training and test data. \n", " train_mse.append(sklearn.cross_validation.cross_val_score(estimator=fit, X=train_feature, y=train_target, cv=cv, scoring='mean_squared_error').mean()*-1) \n", " test_mse.append(sklearn.cross_validation.cross_val_score(estimator=fit, X=test_feature, y=test_target, cv=cv, scoring='mean_squared_error').mean()*-1)" ] }, { "cell_type": "code", "execution_count": 234, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(1, figsize=(10,10))\n", "plt.plot(alphas, train_mse, label=\"train_mse\")\n", "plt.plot(alphas, test_mse, label=\"test_mse\")\n", "\n", "#plt.xlim(0,.2)\n", "#plt.ylim(22,30)\n", "plt.legend()\n", "plt.xlabel('Alpha')\n", "plt.ylabel('Mean Squared Error')\n", "plt.title('\\nAdjusting alpha vs Mean Squared Error\\n', size=20)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 235, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.161616161616\n" ] } ], "source": [ "print alphas[np.argmin(test_mse)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looks like adjusting our alphas actually does give us a better result than alpha = 0. Above we can see the MSE take a dip and bottoms out at .1616. We want the MSE to be as low as possible. Not bad.\n", "\n", "Now its time to try Lasso. Unlike ridge, Lasso is a version of Linear Regression that has the ability to 0 out certain beta coefs. This is good when you have a ton of features that don't add to your total prediction. Lets see what the betas look like as we adjust alpha here." ] }, { "cell_type": "code", "execution_count": 236, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "c:\\python\\Anaconda\\lib\\site-packages\\IPython\\kernel\\__main__.py:10: UserWarning: With alpha=0, this algorithm does not converge well. You are advised to use the LinearRegression estimator\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#LASSO\n", "\n", "k = X.shape[1]\n", "#alphas = np.linspace(0, 4)\n", "alphas = np.linspace(0, .45)\n", "\n", "params = np.zeros((len(alphas), k))\n", "for i,a in enumerate(alphas):\n", " X_data = preprocessing.scale(train_feature)\n", " fit = Lasso(alpha=a, normalize=True).fit(X_data, train_target)\n", " params[i] = fit.coef_\n", " \n", "plt.figure(figsize=(14,6))\n", "for param in params.T:\n", " plt.plot(alphas, param)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With Lasso we can see that the coefs get shrunk down to 0 very quickly. It is interesting to notice which coefs get scaled down to 0 first vs the others. Again, coefs are one thing, but lets check out the MSE before we make any declarations." ] }, { "cell_type": "code", "execution_count": 237, "metadata": { "collapsed": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "c:\\python\\Anaconda\\lib\\site-packages\\IPython\\kernel\\__main__.py:12: UserWarning: With alpha=0, this algorithm does not converge well. You are advised to use the LinearRegression estimator\n" ] } ], "source": [ "#LASSO with Cross Val\n", "\n", "train_mse = []\n", "test_mse = []\n", "\n", "k = X.shape[1]\n", "alphas = np.linspace(0, 1, 150) #smaller lin space\n", "\n", "params = np.zeros((len(alphas), k))\n", "\n", "for i,a in enumerate(alphas):\n", " fit = Lasso(alpha=a, normalize=True).fit(X_data, y)\n", " params[i] = fit.coef_\n", " \n", " cv=5\n", " \n", " train_mse.append(sklearn.cross_validation.cross_val_score(estimator=fit, X=train_feature, y=train_target, cv=cv, scoring='mean_squared_error').mean()*-1) \n", " test_mse.append(sklearn.cross_validation.cross_val_score(estimator=fit, X=test_feature, y=test_target, cv=cv, scoring='mean_squared_error').mean()*-1)" ] }, { "cell_type": "code", "execution_count": 244, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(1, figsize=(10,5))\n", "plt.plot(alphas, train_mse, label=\"train_mse\")\n", "plt.plot(alphas, test_mse, label=\"test_mse\")\n", "\n", "#plt.xlim(0,.2)\n", "plt.ylim(15,105)\n", "plt.legend(loc='lower right')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 245, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0134228187919\n" ] } ], "source": [ "print alphas[np.argmin(test_mse)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looks like in this case with our alphas wants to take on the value of .0134, actually worked out the best. It is interesting to compare all three models, linear regression regular, ridge and lasso.\n", "\n", "After this step its easy to call it a day and say you're done. However I'm interested in actually seeing the math do some work here. We have our feature array and we have our best fit coefs. Lets do a dot product between the two, get our predicted answers, and compare those to their true values.\n", "\n", "First, fit and predict our model with our training data. We will use these predictions to compare with our predictions that we get from the coefs" ] }, { "cell_type": "code", "execution_count": 246, "metadata": { "collapsed": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "c:\\python\\Anaconda\\lib\\site-packages\\IPython\\kernel\\__main__.py:1: UserWarning: With alpha=0, this algorithm does not converge well. You are advised to use the LinearRegression estimator\n", " if __name__ == '__main__':\n" ] } ], "source": [ "fit = Lasso(alpha=0, normalize=True).fit(train_feature, train_target)\n", "lasso_fit = fit.coef_ # getting out coefs from the lasso output above\n", "lasso_fit = np.append(lasso_fit, fit.intercept_) # Add our intercept on the end of the list of coefs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we are going to add a column of ones to our test_feature, this will account for our intercept, B0.\n", "\n", "After that we will do a dot product between our coefs and our test data. We could have the model do this for us automatically, but its a lot cooler seeing it happen this way." ] }, { "cell_type": "code", "execution_count": 241, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "R^2: 0.768092527484\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "test_feature_intercept_added = np.append(test_feature, np.ones(len(test_feature)).reshape(len(test_feature), 1), 1)\n", "\n", "predict = np.dot(lasso_fit, test_feature_intercept_added.T)\n", " \n", "plt.figure(1, figsize=(6,6))\n", "plt.scatter(test_target, predict, alpha=.3)\n", "plt.plot([6, 50], [6, 50], c='k', alpha=.6)\n", "plt.xlabel('Target Values', size=15)\n", "plt.ylabel('Predicted w/ Coef values', size=15)\n", "plt.title('\\nTarget vs Predicted\\n', size=20)\n", "print \"R^2:\", fit.score(test_feature, test_target)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##The Finale\n", "This is sweet because the black line is a line segment with slope 1 (where we would like to see all of our points, a perfect prediction). As you can see most of the points line up with what we would expect. Our dot product coefs matched up with what the true values were. Its fun to see, we had 13 features, ~150 data points, and this is the graph that sums up our process." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.8" } }, "nbformat": 4, "nbformat_minor": 0 }