diff --git a/How Much is Your Car Worth.ipynb b/How Much is Your Car Worth.ipynb index bfc2fbe..46eed07 100644 --- a/How Much is Your Car Worth.ipynb +++ b/How Much is Your Car Worth.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": { "collapsed": true }, @@ -14,6 +14,17 @@ "from sklearn import linear_model" ] }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -42,31 +53,497 @@ "1. Find the linear regression equation for mileage vs price.\n", "2. Chart the original data and the equation on the chart.\n", "3. Find the equation's $R^2$ score (use the `.score` method) to determine whether the\n", - "equation is a good fit for this data. (0.8 and greater is considered a strong correlation.)\n", - "\n", + "equation is a good fit for this data. (0.8 and greater is considered a strong correlation.)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "df = pd.read_csv(\"car_data.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PriceMileageMakeModelTrimTypeCylinderLiterDoorsCruiseSoundLeather
017314.1031298221BuickCenturySedan 4DSedan63.14111
117542.0360839135BuickCenturySedan 4DSedan63.14110
\n", + "
" + ], + "text/plain": [ + " Price Mileage Make Model Trim Type Cylinder Liter \\\n", + "0 17314.103129 8221 Buick Century Sedan 4D Sedan 6 3.1 \n", + "1 17542.036083 9135 Buick Century Sedan 4D Sedan 6 3.1 \n", + "\n", + " Doors Cruise Sound Leather \n", + "0 4 1 1 1 \n", + "1 4 1 1 0 " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "mileage = df[['Mileage']]\n", + "price = df[['Price']]" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.0204634473235\n" + ] + } + ], + "source": [ + "reg1 = linear_model.LinearRegression()\n", + "reg1.fit(mileage, price)\n", + "print(reg1.score(df[[\"Mileage\"]], df[[\"Price\"]]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###This linear projection scores .02 above. \n", + "###It does not seem to work well for Price and Mileage alone. We will need to add in the other data to get better predictions. I would guess Model will make a huge difference, but we shall see." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(mileage,price)\n", + "plt.ylabel(\"Mileage\")\n", + "plt.xlabel(\"Price\")\n", + "plt.plot(mileage, reg1.predict(mileage), color='red', linewidth=1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### A pivot table of price and mileage grouped by model. The price/mileage definitely is impacted by model." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
MileagePrice
count32.00000032.000000
mean19555.55354224601.979674
std1839.99631111688.667735
min12961.90000010752.833305
25%18802.65000015962.492604
50%19810.24166720409.733129
75%20989.90000030125.338454
max21982.75000062938.736572
\n", + "
" + ], + "text/plain": [ + " Mileage Price\n", + "count 32.000000 32.000000\n", + "mean 19555.553542 24601.979674\n", + "std 1839.996311 11688.667735\n", + "min 12961.900000 10752.833305\n", + "25% 18802.650000 15962.492604\n", + "50% 19810.241667 20409.733129\n", + "75% 20989.900000 30125.338454\n", + "max 21982.750000 62938.736572" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pivot = pd.pivot_table(df, index=[\"Model\"], values=[\"Price\", \"Mileage\"])\n", + "pivot.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[,\n", + " ]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.ylabel('Price (green) & Mileage (blue)');\n", + "#ylabel('Mileage', color = 'blue');\n", + "plt.xlabel(\"Models\")\n", + "plt.plot(pivot)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ "## Tasks, Part 2\n", "\n", "1. Use mileage, cylinders, liters, doors, cruise, sound, and leather to find the linear regression equation.\n", "2. Find the equation's $R^2$ score (use the `.score` method) to determine whether the\n", "equation is a good fit for this data. (0.8 and greater is considered a strong correlation.)\n", "3. Find the combination of the factors that is the best predictor for price.\n", - "\n", - "## Tasks, Hard Mode\n", - "\n", - "1. Research dummy variables in scikit-learn to see how to use the make, model, and body type.\n", - "2. Find the best combination of factors to predict price." + "\n" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 16, "metadata": { "collapsed": false }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PriceMileageMakeModelTrimTypeCylinderLiterDoorsCruiseSoundLeather
017314.1031298221BuickCenturySedan 4DSedan63.14111
117542.0360839135BuickCenturySedan 4DSedan63.14110
\n", + "
" + ], + "text/plain": [ + " Price Mileage Make Model Trim Type Cylinder Liter \\\n", + "0 17314.103129 8221 Buick Century Sedan 4D Sedan 6 3.1 \n", + "1 17542.036083 9135 Buick Century Sedan 4D Sedan 6 3.1 \n", + "\n", + " Doors Cruise Sound Leather \n", + "0 4 1 1 1 \n", + "1 4 1 1 0 " + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ - "df = pd.read_csv(\"car_data.csv\")" + "input_data = df[['Mileage', 'Cylinder', 'Liter', 'Doors', 'Cruise', 'Sound', 'Leather']]\n", + "price = df[['Price']]" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "reg1 = linear_model.LinearRegression()\n", + "reg1.fit(input_data, price)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Price predicted on all available numeric data." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 27188.2419098]])" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#plt.plot(reg1.predict(input_data))\n", + "reg1.predict([8000, 6, 3.1, 4, 1, 1, 1])" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/README.md b/README.md index e2a3854..4e837a1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# Linear Regression Exercises +# Run How Much is Your Car Worth.ipynb and Simple Linear Regression.ipynb using Ipython Notebook + +## Linear Regression Exercises ## Description diff --git a/Simple Linear Regression.ipynb b/Simple Linear Regression.ipynb index 65d531a..0925693 100644 --- a/Simple Linear Regression.ipynb +++ b/Simple Linear Regression.ipynb @@ -2,18 +2,29 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", "import numpy as np\n", + "import matplotlib.pyplot as plt\n", "from sklearn import linear_model" ] }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -27,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": { "collapsed": false }, @@ -42,6 +53,117 @@ "df = pd.DataFrame(ground_cricket_data)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###Data showing a definite corelation between temperature and chirp speed per second. The greatest area of variation in speed appears to be between 75 and 85 degrees with chirps ranging from 14.25 to 18.5 per second. 65-75 and 85-95 ranges show much tighter grouping" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(df[\"Chirps/Second\"], df[\"Ground Temperature\"])\n", + "plt.ylabel(\"Ground Temp\")\n", + "plt.xlabel(\"Chirps per Second\")\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "input_data = df[['Chirps/Second']]\n", + "temperature = df[['Ground Temperature']]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "reg1 = linear_model.LinearRegression()\n", + "reg1.fit(input_data, temperature)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(input_data, temperature, color='black')\n", + "plt.ylabel(\"Ground Temp\")\n", + "plt.xlabel(\"Chirps per Second\")\n", + "plt.plot(input_data, reg1.predict(input_data), color='red', linewidth=1)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -56,6 +178,29 @@ "5. Interpolate data: With a listening device, you discovered that on a particular morning the crickets were chirping at a rate of 18 chirps per second. What was the approximate ground temperature that morning? " ] }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Coefficients: \n", + " [[ 3.410323]]\n", + "Score: \n", + " 0.692294652915\n" + ] + } + ], + "source": [ + "print('Coefficients: \\n', reg1.coef_)\n", + "print('Score: \\n', reg1.score(input_data, temperature))" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -74,15 +219,214 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "df = pd.read_fwf(\"brain_body.txt\")" + "df1 = pd.read_fwf(\"brain_body.txt\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
BrainBody
57160.000169.0
580.9002.6
591.62011.4
600.1042.5
614.23550.4
\n", + "
" + ], + "text/plain": [ + " Brain Body\n", + "57 160.000 169.0\n", + "58 0.900 2.6\n", + "59 1.620 11.4\n", + "60 0.104 2.5\n", + "61 4.235 50.4" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df1.tail()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data shows groupings very close to the Linear Regression line. Even the outliers are close to the line." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(df1[\"Brain\"], df1[\"Body\"])\n", + "plt.ylabel(\"Brain\")\n", + "plt.xlabel(\"Body\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "brain = df1[['Brain']]\n", + "body = df1[['Body']]" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "reg2 = linear_model.LinearRegression()\n", + "reg2.fit(brain, body)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(brain, body, color='black')\n", + "plt.plot(brain, reg2.predict(brain), color='green', linewidth=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Coefficients: \n", + " [[ 0.96649637]]\n", + "Score: \n", + " 0.872662084304\n" + ] + } + ], + "source": [ + "print('Coefficients: \\n', reg2.coef_)\n", + "print('Score: \\n', reg2.score(brain, body))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -109,15 +453,388 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "df = pd.read_fwf(\"salary.txt\", header=None, \n", + "df2 = pd.read_fwf(\"salary.txt\", header=None, \n", " names=[\"Sex\", \"Rank\", \"Year\", \"Degree\", \"YSdeg\", \"Salary\"])" ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SexRankYearDegreeYSdegSalary
count52.00000052.00000052.00000052.00000052.00000052.000000
mean0.2692312.0384627.4807690.65384616.11538523797.653846
std0.4478880.8623165.5075360.48038410.2223405917.289154
min0.0000001.0000000.0000000.0000001.00000015000.000000
25%0.0000001.0000003.0000000.0000006.75000018246.750000
50%0.0000002.0000007.0000001.00000015.50000023719.000000
75%1.0000003.00000011.0000001.00000023.25000027258.500000
max1.0000003.00000025.0000001.00000035.00000038045.000000
\n", + "
" + ], + "text/plain": [ + " Sex Rank Year Degree YSdeg Salary\n", + "count 52.000000 52.000000 52.000000 52.000000 52.000000 52.000000\n", + "mean 0.269231 2.038462 7.480769 0.653846 16.115385 23797.653846\n", + "std 0.447888 0.862316 5.507536 0.480384 10.222340 5917.289154\n", + "min 0.000000 1.000000 0.000000 0.000000 1.000000 15000.000000\n", + "25% 0.000000 1.000000 3.000000 0.000000 6.750000 18246.750000\n", + "50% 0.000000 2.000000 7.000000 1.000000 15.500000 23719.000000\n", + "75% 1.000000 3.000000 11.000000 1.000000 23.250000 27258.500000\n", + "max 1.000000 3.000000 25.000000 1.000000 35.000000 38045.000000" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SexRankYearDegreeYSdegSalary
0032513536350
1031312235350
\n", + "
" + ], + "text/plain": [ + " Sex Rank Year Degree YSdeg Salary\n", + "0 0 3 25 1 35 36350\n", + "1 0 3 13 1 22 35350" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2.head(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Coefficients: \n", + " [[ 390.64512637]]\n", + "Score: \n", + " 0.455428134584\n" + ] + } + ], + "source": [ + "# input = df2[['Sex']]\n", + "print('Coefficients: \\n', reg3.coef_)\n", + "print('Score: \\n', reg3.score(input, salary))" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Coefficients: \n", + " [[ 390.64512637]]\n", + "Score: \n", + " -0.78505005802\n" + ] + } + ], + "source": [ + "input = df2[['Rank']]\n", + "print('Coefficients: \\n', reg3.coef_)\n", + "print('Score: \\n', reg3.score(input, salary))" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Coefficients: \n", + " [[ 390.64512637]]\n", + "Score: \n", + " 0.0460046985207\n" + ] + } + ], + "source": [ + "input = df2[['Year']]\n", + "print('Coefficients: \\n', reg3.coef_)\n", + "print('Score: \\n', reg3.score(input, salary))" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Coefficients: \n", + " [[ 390.64512637]]\n", + "Score: \n", + " -1.06775431615\n" + ] + } + ], + "source": [ + "input = df2[['Degree']]\n", + "print('Coefficients: \\n', reg3.coef_)\n", + "print('Score: \\n', reg3.score(input, salary))" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Coefficients: \n", + " [[ 390.64512637]]\n", + "Score: \n", + " 0.455428134584\n" + ] + } + ], + "source": [ + "input = df2[['YSdeg']]\n", + "print('Coefficients: \\n', reg3.coef_)\n", + "print('Score: \\n', reg3.score(input, salary))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### .score method shows .85 for all data used together" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.854718067441\n" + ] + } + ], + "source": [ + "df4 = pd.read_fwf(\"salary.txt\", header=None, \n", + " names=[\"Sex\", \"Rank\", \"Year\", \"Degree\", \"YSdeg\", \"Salary\"])\n", + "\n", + "input_data = df4[['Sex','Rank',\"Year\",\"Degree\",\"YSdeg\"]]\n", + "salary = df4[\"Salary\"]\n", + "\n", + "reg4 = linear_model.LinearRegression()\n", + "reg4.fit(input_data, salary)\n", + "print(reg4.score(input_data, salary))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### This shows women in this data making more than the men" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 1241.7924996]\n" + ] + } + ], + "source": [ + "salary_difference = reg4.predict([1,2.038462,7.480769,0.653846,16.115385]) - reg4.predict([0,2.038462,7.480769,0.653846,16.115385])\n", + "print(salary_difference)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] } ], "metadata": {