From b448b181dfb659881d87c824be186913276c3a0b Mon Sep 17 00:00:00 2001 From: SorenOlegnowicz Date: Tue, 23 Jun 2015 23:15:03 -0400 Subject: [PATCH 1/4] First python notebook down --- Simple Linear Regression.ipynb | 604 ++++++++++++++++++++++++++++++++- 1 file changed, 599 insertions(+), 5 deletions(-) diff --git a/Simple Linear Regression.ipynb b/Simple Linear Regression.ipynb index 65d531a..467b6a1 100644 --- a/Simple Linear Regression.ipynb +++ b/Simple Linear Regression.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": { "collapsed": false }, @@ -14,6 +14,17 @@ "from sklearn import linear_model" ] }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "% matplotlib inline" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -42,6 +53,133 @@ "df = pd.DataFrame(ground_cricket_data)" ] }, + { + "cell_type": "code", + "execution_count": 28, + "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", + "
Chirps/SecondGround Temperature
020.088.6
116.071.6
219.893.3
318.484.3
417.180.6
515.575.2
614.769.7
715.771.6
815.469.4
916.383.3
1015.079.6
1117.282.6
1216.080.6
1317.083.5
1414.476.3
\n", + "
" + ], + "text/plain": [ + " Chirps/Second Ground Temperature\n", + "0 20.0 88.6\n", + "1 16.0 71.6\n", + "2 19.8 93.3\n", + "3 18.4 84.3\n", + "4 17.1 80.6\n", + "5 15.5 75.2\n", + "6 14.7 69.7\n", + "7 15.7 71.6\n", + "8 15.4 69.4\n", + "9 16.3 83.3\n", + "10 15.0 79.6\n", + "11 17.2 82.6\n", + "12 16.0 80.6\n", + "13 17.0 83.5\n", + "14 14.4 76.3" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -56,6 +194,221 @@ "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": 24, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "chirps = df[['Chirps/Second']]\n", + "g_temp = df['Ground Temperature']\n", + "chirpss = df['Chirps/Second']\n", + "g_temps = df[['Ground Temperature']]" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "regr = linear_model.LinearRegression()\n", + "regr.fit(chirps, g_temp)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(chirps, g_temp, color = 'm', linewidth=2)\n", + "plt.plot(chirps, regr.predict(chirps))" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Percent of the Variance explained: 69.23%\n" + ] + } + ], + "source": [ + "print('Percent of the Variance explained: {}%'.format(round(regr.score(chirps, g_temp)*100, 2)))" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 84.2347963])" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "regr.predict(18)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "regrs = linear_model.LinearRegression()\n", + "regrs.fit(g_temps, chirpss)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nAw4EKna41pjUAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(g_temps, chirpss, linewidth=2, color='b')\n", + "plt.plot(g_temps, regrs.predict(g_temps), color='m')" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Percent of the Variance explained: 69.23%\n" + ] + } + ], + "source": [ + "print('Percent of the Variance explained: {}%'.format(round(regrs.score(g_temps, chirpss)*100, 2)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " So much wOw ^^^^" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 19.74428913])" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "regrs.predict(95)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -74,13 +427,114 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 52, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "dfb = pd.read_fwf(\"brain_body.txt\")" + ] + }, + { + "cell_type": "code", + "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "df = pd.read_fwf(\"brain_body.txt\")" + "brain = dfb[['Brain']]\n", + "body = dfb['Body']" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "regrb = linear_model.LinearRegression()\n", + "regrb.fit(brain, body)" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\naZiZWd3+Pw9DM2LdyWRxAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(brain, body)\n", + "plt.plot(brain, regrb.predict(brain))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There's a better way to graph this" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Percent of the Variance explained: 87.27%\n" + ] + } + ], + "source": [ + "print('Percent of the Variance explained: {}%'.format(round(regrb.score(brain, body)*100, 2)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Pretty good model regardless" ] }, { @@ -109,15 +563,155 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "df = pd.read_fwf(\"salary.txt\", header=None, \n", + "dfs = pd.read_fwf(\"salary.txt\", header=None, \n", " names=[\"Sex\", \"Rank\", \"Year\", \"Degree\", \"YSdeg\", \"Salary\"])" ] + }, + { + "cell_type": "code", + "execution_count": 59, + "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", + "
SexRankYearDegreeYSdegSalary
0032513536350
1031312235350
2031012328200
313712726775
4031903033696
\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\n", + "2 0 3 10 1 23 28200\n", + "3 1 3 7 1 27 26775\n", + "4 0 3 19 0 30 33696" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfs.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Percent of the Variance explained: 6.39% Sex to Salary\n", + "Percent of the Variance explained: 75.25% Rank to Salary\n", + "Percent of the Variance explained: 49.09% Year to Salary\n", + "Percent of the Variance explained: 0.49% Degree to Salary\n", + "Percent of the Variance explained: 45.54% YSdeg to Salary\n" + ] + } + ], + "source": [ + "def linear_explanation(dependent, independent, data):\n", + " x = data[[dependent]]\n", + " y = data[independent]\n", + " regres = linear_model.LinearRegression()\n", + " regres.fit(x,y)\n", + " return 'Percent of the Variance explained: {}%'.format(round(regres.score(x,y) * 100, 2))\n", + "\n", + "linear('Sex','Salary', dfs)\n", + "\n", + "for i in dfs.columns[:5]:\n", + " print(linear_explanation(i, dfs.columns[5], dfs) + ' %s to Salary' % (i))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Rank is clearly the victories feature here..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] } ], "metadata": { From 4b71bffc621df8ab8144bdc0e75053abf85c9e90 Mon Sep 17 00:00:00 2001 From: SorenOlegnowicz Date: Wed, 24 Jun 2015 00:05:28 -0400 Subject: [PATCH 2/4] First task and then some --- How Much is Your Car Worth.ipynb | 240 ++++++++++++++++++++++++++++++- 1 file changed, 237 insertions(+), 3 deletions(-) diff --git a/How Much is Your Car Worth.ipynb b/How Much is Your Car Worth.ipynb index bfc2fbe..d33f297 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": 12, "metadata": { "collapsed": true }, @@ -14,6 +14,17 @@ "from sklearn import linear_model" ] }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "% matplotlib inline" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -59,14 +70,237 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 27, + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PriceMileageMakeModelTrimTypeCylinderLiterDoorsCruiseSoundLeather
017314.1031298221BuickCenturySedan 4DSedan63.14111
117542.0360839135BuickCenturySedan 4DSedan63.14110
216218.84786213196BuickCenturySedan 4DSedan63.14110
316336.91314016342BuickCenturySedan 4DSedan63.14100
416339.17032419832BuickCenturySedan 4DSedan63.14101
\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", + "2 16218.847862 13196 Buick Century Sedan 4D Sedan 6 3.1 \n", + "3 16336.913140 16342 Buick Century Sedan 4D Sedan 6 3.1 \n", + "4 16339.170324 19832 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 \n", + "2 4 1 1 0 \n", + "3 4 1 0 0 \n", + "4 4 1 0 1 " + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv(\"car_data.csv\")\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'Percent of the Variance explained: 2.05%'" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def linear_explanation_2(dependent, independent, data, var=True):\n", + " x = data[[dependent]]\n", + " y = data[independent]\n", + " regres = linear_model.LinearRegression()\n", + " regres.fit(x,y)\n", + " if var:\n", + " return 'Percent of the Variance explained: {}%'.format(round(regres.score(x,y) * 100, 2))\n", + " else:\n", + " return (plt.scatter(x, y, color='c',label=(dependent, independent)), plt.plot(x, regres.predict(x)))\n", + "\n", + "linear_explanation_2('Mileage', 'Price', df)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'Percent of the Variance explained: 2.05%'" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "linear_explanation_2('Mileage', 'Price', df, var=False)\n", + "linear_explanation_2('Mileage', 'Price', df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Linear Regression doesn't seem able to make the data much clearer. We might want to think of another way of approaching this data." + ] + }, + { + "cell_type": "code", + "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "df = pd.read_csv(\"car_data.csv\")" + "mileage = df[['Mileage']]\n", + "cylinders = df[['Cylinder']]\n", + "liters = df[['Liter']]\n", + "doors = df[['Doors']]\n", + "cruise = df[['Cruise']]\n", + "sound = df[['Sound']]\n", + "leather = df[['Leather']]" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] } ], "metadata": { From 0c7d12cf716c735c535e7316fdf6146008ba0c93 Mon Sep 17 00:00:00 2001 From: SorenOlegnowicz Date: Wed, 24 Jun 2015 00:52:02 -0400 Subject: [PATCH 3/4] normal done --- How Much is Your Car Worth.ipynb | 309 ++++++++++++++++++++++++++++++- 1 file changed, 302 insertions(+), 7 deletions(-) diff --git a/How Much is Your Car Worth.ipynb b/How Much is Your Car Worth.ipynb index d33f297..353b5f8 100644 --- a/How Much is Your Car Worth.ipynb +++ b/How Much is Your Car Worth.ipynb @@ -70,7 +70,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 62, "metadata": { "collapsed": false }, @@ -193,14 +193,14 @@ "4 4 1 0 1 " ] }, - "execution_count": 27, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df = pd.read_csv(\"car_data.csv\")\n", - "df.head()" + "df1 = pd.read_csv(\"car_data.csv\")\n", + "df1.head()" ] }, { @@ -278,19 +278,314 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 76, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "mileage = df[['Mileage']]\n", + "mileage = df[['Mileage', 'Cylinder']]\n", "cylinders = df[['Cylinder']]\n", "liters = df[['Liter']]\n", "doors = df[['Doors']]\n", "cruise = df[['Cruise']]\n", "sound = df[['Sound']]\n", - "leather = df[['Leather']]" + "leather = df[['Leather']]\n", + "price = df['Price']" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mile_c = df[['Mileage', 'Cylinder', 'Liter', 'Doors', 'Cruise', 'Sound', 'Leather']]\n", + "regc = linear_model.LinearRegression()\n", + "regc.fit(mileage, price)" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.34228021178720835" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "regc.score(mile_c,price)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def linear_explanation(dependent, independent, data):\n", + " x = data[dependent]\n", + " y = data[independent]\n", + " regres = linear_model.LinearRegression()\n", + " regres.fit(x,y)\n", + " return 'Percent of the Variance explained: {}%'.format(round(regres.score(x,y) * 100, 2))" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'Percent of the Variance explained: 33.98%'" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "linear_explanation(['Mileage', 'Cylinder'], 'Price', df1)" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Percent of the Variance explained: 33.98% ('Mileage', 'Cylinder')\n", + "Percent of the Variance explained: 32.91% ('Mileage', 'Liter')\n", + "Percent of the Variance explained: 4.04% ('Mileage', 'Doors')\n", + "Percent of the Variance explained: 20.93% ('Mileage', 'Cruise')\n", + "Percent of the Variance explained: 3.69% ('Mileage', 'Sound')\n", + "Percent of the Variance explained: 4.52% ('Mileage', 'Leather')\n", + "Percent of the Variance explained: 32.59% ('Cylinder', 'Liter')\n", + "Percent of the Variance explained: 34.35% ('Cylinder', 'Doors')\n", + "Percent of the Variance explained: 38.39% ('Cylinder', 'Cruise')\n", + "Percent of the Variance explained: 32.93% ('Cylinder', 'Sound')\n", + "Percent of the Variance explained: 33.7% ('Cylinder', 'Leather')\n", + "Percent of the Variance explained: 32.05% ('Liter', 'Doors')\n", + "Percent of the Variance explained: 36.8% ('Liter', 'Cruise')\n", + "Percent of the Variance explained: 31.93% ('Liter', 'Sound')\n", + "Percent of the Variance explained: 32.34% ('Liter', 'Leather')\n", + "Percent of the Variance explained: 19.96% ('Doors', 'Cruise')\n", + "Percent of the Variance explained: 3.7% ('Doors', 'Sound')\n", + "Percent of the Variance explained: 4.14% ('Doors', 'Leather')\n", + "Percent of the Variance explained: 19.29% ('Cruise', 'Sound')\n", + "Percent of the Variance explained: 22.1% ('Cruise', 'Leather')\n", + "Percent of the Variance explained: 4.8% ('Sound', 'Leather')\n" + ] + } + ], + "source": [ + "for i in combos:\n", + " print(linear_explanation(list(i), 'Price', df1) + ' {}'.format(i))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#('Cylinder', 'Cruise') is the winner for most error resolved!" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('Mileage', 'Cylinder', 'Liter', 'Doors', 'Cruise', 'Sound', 'Leather')]\n" + ] + } + ], + "source": [ + "import itertools\n", + "dependent_vars = ['Mileage', 'Cylinder', 'Liter', 'Doors', 'Cruise', 'Sound', 'Leather']\n", + "combos = list(itertools.combinations(dependent_vars, 2))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "choices = []\n", + "\n", + "def regression_for(combo):\n", + " combo = list(combo)\n", + " df = df1.loc[:, combo + ['Life expectancy at birth, total (years)']]\n", + " df.dropna(inplace=True)\n", + " input_data = df[combo]\n", + " life_expectancy = df['Life expectancy at birth, total (years)']\n", + " regr = linear_model.LinearRegression()\n", + " regr.fit(input_data, life_expectancy)\n", + " return regr, regr.score(input_data, life_expectancy)\n", + "\n", + "for combo in combos:\n", + " regr, score = regression_for(combo)\n", + " choices.append((combo, score))\n", + " \n", + "best = sorted(choices, key=lambda x: x[1])[-1]\n", + "print(best)\n", + "regr, score = regression_for(best[0])\n", + "print(regr.coef_, regr.intercept_)" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Percent of the Variance explained: 33.98% ('Mileage', 'Cylinder')\n", + "Percent of the Variance explained: 32.91% ('Mileage', 'Liter')\n", + "Percent of the Variance explained: 4.04% ('Mileage', 'Doors')\n", + "Percent of the Variance explained: 20.93% ('Mileage', 'Cruise')\n", + "Percent of the Variance explained: 3.69% ('Mileage', 'Sound')\n", + "Percent of the Variance explained: 4.52% ('Mileage', 'Leather')\n", + "Percent of the Variance explained: 32.59% ('Cylinder', 'Liter')\n", + "Percent of the Variance explained: 34.35% ('Cylinder', 'Doors')\n", + "Percent of the Variance explained: 38.39% ('Cylinder', 'Cruise')\n", + "Percent of the Variance explained: 32.93% ('Cylinder', 'Sound')\n", + "Percent of the Variance explained: 33.7% ('Cylinder', 'Leather')\n", + "Percent of the Variance explained: 32.05% ('Liter', 'Doors')\n", + "Percent of the Variance explained: 36.8% ('Liter', 'Cruise')\n", + "Percent of the Variance explained: 31.93% ('Liter', 'Sound')\n", + "Percent of the Variance explained: 32.34% ('Liter', 'Leather')\n", + "Percent of the Variance explained: 19.96% ('Doors', 'Cruise')\n", + "Percent of the Variance explained: 3.7% ('Doors', 'Sound')\n", + "Percent of the Variance explained: 4.14% ('Doors', 'Leather')\n", + "Percent of the Variance explained: 19.29% ('Cruise', 'Sound')\n", + "Percent of the Variance explained: 22.1% ('Cruise', 'Leather')\n", + "Percent of the Variance explained: 4.8% ('Sound', 'Leather')\n" + ] + } + ], + "source": [ + "for i in combos:\n", + " print(linear_explanation(list(i), 'Price', df1) + ' {}'.format(i))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#For fun:" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "df2 = df1[dependent_vars]" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "ename": "ValueError", + "evalue": "shapes (804,7) and (2,) not aligned: 7 (dim 1) != 2 (dim 0)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0myy\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf2\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Cylinder'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mzz\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mprice\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0mpredict\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mregc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[0mx_surf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_surf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmeshgrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0myy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot_surface\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx_surf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_surf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpredict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"red\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0malpha\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Users/sorenolegnowicz/cs/python/projects/linear-regression/.direnv/python-3.4.3/lib/python3.4/site-packages/sklearn/linear_model/base.py\u001b[0m in \u001b[0;36mpredict\u001b[0;34m(self, X)\u001b[0m\n\u001b[1;32m 153\u001b[0m \u001b[0mReturns\u001b[0m \u001b[0mpredicted\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 154\u001b[0m \"\"\"\n\u001b[0;32m--> 155\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdecision_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 156\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 157\u001b[0m \u001b[0m_center_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mstaticmethod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcenter_data\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Users/sorenolegnowicz/cs/python/projects/linear-regression/.direnv/python-3.4.3/lib/python3.4/site-packages/sklearn/linear_model/base.py\u001b[0m in \u001b[0;36mdecision_function\u001b[0;34m(self, X)\u001b[0m\n\u001b[1;32m 138\u001b[0m \u001b[0mX\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcheck_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maccept_sparse\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'csr'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'csc'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'coo'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 139\u001b[0m return safe_sparse_dot(X, self.coef_.T,\n\u001b[0;32m--> 140\u001b[0;31m dense_output=True) + self.intercept_\n\u001b[0m\u001b[1;32m 141\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 142\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Users/sorenolegnowicz/cs/python/projects/linear-regression/.direnv/python-3.4.3/lib/python3.4/site-packages/sklearn/utils/extmath.py\u001b[0m in \u001b[0;36msafe_sparse_dot\u001b[0;34m(a, b, dense_output)\u001b[0m\n\u001b[1;32m 181\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mret\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 182\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 183\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfast_dot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 184\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 185\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: shapes (804,7) and (2,) not aligned: 7 (dim 1) != 2 (dim 0)" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAADtCAYAAAAcNaZ2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvWmQHNd5LXi+m0tVNVZiazTADQS4gSsIEgRBEgQIcJVE\nW6LHomx538ZvZM+Mx2FrJsIzERMxevEcDr+n3ZIsyYtskRRFSZQpSqYokbRImosoiuIqEiAokGgs\njUZ3F3rJzHvvNz/uza6s6urqWrK6qhp5IiqqUajKzq6qPPnld893DjEzMmTIkCHD/EB0egcyZMiQ\n4VRCRroZMmTIMI/ISDdDhgwZ5hEZ6WbIkCHDPCIj3QwZMmSYR2SkmyFDhgzziIx0M2TIkGEekZFu\nhgwZMswjMtLNkCFDhnlERroZMmTIMI/ISDdDhgwZ5hEZ6WbIkCHDPCIj3QwZMmSYR2SkmyFDhgzz\niIx0M2TIkGEekZFuhgwZMswjMtLNkCFDhnlERroZMmTIMI/ISDdDhgwZ5hFup3cgQ+9jZGTknCiK\nFkkpXx8YGAg7vT8ZMnQzKAumzNAMisUiATgLwHullLunpqYYwBgADeBtAM8AOAzgGIBjAwMDUcd2\nNkOGLkJGuhkagiXbjQDumJqa+k0iGnVd9/Dk5OQJAEcA3A4gAPBzAGxvAsBRAAcA7EeJjIcyMs5w\nqiEj3Qx1wZLteQB+GcCFACYmJia2MvNqZl4PwAEwAoAAjAL4MQyxHoepfgsAFgHI203GZHwYpjLe\nB0PaRwEcHxgYkPP0p2XIMK/ISDdDTRSLRQFDsh+AqXBPKqWmwjDcoZS6ioiO5HK5Z6ampo4BkABu\nhCHWSQBrACyDIeOjMCR81N6GYYg3JuM+GHKOMQhDxvtRTsaqzX9yhgxtRUa6GarCku3FAO6E6d0W\nlVJRGIbXKqUudRznRWbWQogp3/ffmZycHGfmwwB2A1AAHrebcgCsArAahoTX2J+XwhBvkoiP2ccI\n5ZVx8kt6CKU2xTSBZ2ScoVeQkW6GMhSLRQfAZQB+BcA6AKNKKQ7D8Dql1EWO4zzv+/5TjuOcnJqa\nuoGZRS6Xe3tycnKSmQcB7LKbenSOX+XCkHGSiNcAWAzTkkgS8VGUWhd99lZAqTJmAEP2Of+JcjJO\nVs8ZMnQcmWQsAwCgWCy6AK6AIds1AE5IKcfCMNyptT7fcZzn+vr6PimEmEi8TANwiQhEFJ/ANer7\nXkmYfu7hisc9lAh4NYAr7X0fDLFWVsajMGR8IYDtAM63+0AA1ODg4LsoVcbxa09kZJyhU8hI9xRH\nsVj0YYjtTgArAQxLKcfDMNyjtd7ouu4z+Xz+E0KIqSov1ygN2FCVx5pBBNNCOFTxuI/yFsUGe5+D\nIeNJmOrXgyHWMbsfSwBcDeAGlMhYWjJ+y96mq+mMjDO0GxnpnqIoFos5mMrwAzD91eNSyskwDG/R\nWp/luu5/5vP5B4UQQY3NxATLKCddmvUVzSME8K69JZGHIeOLYNoVO+y/PViNMMoX74owfeal9rlx\nD1oAiAYHB9+BIeIDKCfjrA+XIRVkpHuKoVgsFpj5OgB3ENFiAMcig/dqrde7rvtkoVD4JhHVo5+t\nVuky5ne8fArAQZQq4X+2jxdQXhmfb+8FZrYohgCMw5DxaQDWA9iDEhmHs5DxaEbGGRpFRrqnCIrF\n4iIA1wO4Y2Ji4kO5XO7rzKzDMPwAM692XfeJQqFwHxE1oo+drdLtBk+PSQC/sLck+lC+eHeRvQdm\nLt4NA5iAOU5WADgDhozjvzEYHBw8CEPEv0BJ2jaWkXGG2ZCR7gJHsVhcAqMoeA8An5mPMrMOguA2\nZu7zPO9Hvu9/lYgallwRkdZaCxjC7TbSnQ0TMCR5oOLxxShVxmsBXGJ/lqheGU/BHD+rAfwSTGX9\nDMzfPmXJeD8MGcevL2ZknCEj3QWKYrG4HGZQ4VYADjMfiaLojCiKfg3AUiHES/l8/jEiamXhKCbY\nZB+3XT3dduOkvb1V8fgSlCrj9QC2wBBtiBIRL4Uh4WMwI9AuSot9HkptisnBwcFf2N+RJOOTGRmf\nOshId4GhWCyuAHCTvREzH46iaEMURb8FwHNd9/Eoiq5yXXd/i4QLWDIhKuPY+e7pthtFe9tX8fgy\nlCrjs2EGOf4PmLZGZWV8DIakPQADMJN9STIeT1TGBxOvH8/IeOEhI90FgmKxuBrAzTDVLVuyPS+K\novcAgOd5j3me9xoRsZTyCmZ2Uvi13dzTbTdG7e1NGNmahpnCW4ZyWdvVMKqKcczsGQ/BSOQ8mEGU\nc2EW87S9L9rKeD+Ad+LXDgwMjM/LX5ihLchIt8dRLBbXArgNZpFMM/PhMAwvkFLeASDyPO8Hnuf9\nPFmN2v5ty6RrK+WYdGOcKqSbhIDp/TLMVNwIjMtaDIJRRcSLd5sAXAOjiy6inIjjnrGEUWScAaO8\nmCbjwcHBMZj2xD4YCV1MxsnBlQxdiox0exTFYnE9jI3iDgARMw+GYXhRFEXvJ6Jxz/O+53nevopL\n/xipkC5O7Uo3ibivPRsYRgkxDOC1itfFZBzL2q63j41hZmV8HOaz8wGcCTOFtwjANgCPDw4OjqBE\nxodQIuPJNP7IDOkgI90eQ7FYPAvAe2GmyCJmPhSG4aVRFP1PRHQil8t923XdA7OQbQyZdnsh8ft6\ndSGtFRBqk+5s0DBEehzAq4nHBUwVHFfGm2Em6pZjpmNbBNPSeBumzbEBRgYXnwhEDTKuNmWYoc3I\nSLcHYL1sNwC4A8DlAKaY+VAQBFuklB8koqO5XO5+z/MO1rnJ1CpdZq5sLyy0hbR6MFel2yg0Sgtw\nSTgokfEaGFnbAAzp/hfMrIxP2G3lAJxjnx+fIJzBwcFhlLyMB1Ei41pTiBlaREa6XQxLtucC+KXJ\nycnfcRzngOd5LwRBsFVK+etCiHdzudw9nudV+hTMBYV0PvusvWBQeeJpFxRKxBojbjN9G6XK+HJ7\nvwQlx7Zkz/iE3d88zPfrUpQ+PxocHDyOkpdxkoyz/LsUkJFuF8KS7YUA3g+T1nBSax0x81lhGO4U\nQrydz+e/4rrukWa2T0QqjfaCXUhzkC2kpV3pNgIXtR3bkvaZW+19pWPb9FgzSsby58NokmPQ4ODg\nEEqV8WH7mqGMjBtDRrpdBGscfhGMCc0GAEWt9WAYhtuZeTOAI/l8/h9d16287GwU7V5IO9V6ut1A\nutUQwVSqgxWPJx3bVsN811bDkG0lESftM/MwxcBWlE60fYODgx6AR1AeuZTl382CjHS7ANY4/FIY\nsj0DwJjW+mgQBNcopbYKIV4XQrwkhDiaAuECKZOu1tpn5pUwWtKspzu/cGA+z0Ywm2NbDuUmQRvt\nvY+ZRHwURu62Ecat7jDM4m4MGhwcPIKZ+XdDp3r+XUa6HYQ1Dr8cxji8HyalYcjmj21xHOflQqHw\necdxRiYnJ/cgvc8rFdJlZpeZl01MTPwazCTWXpgDWsAYwxyFOdhiqdNCRbPqhTRQq9JtFAHMifOd\niseTjm2rYVoPq2G+QyftPmxEiZBPohS5dAmMpG26BWXJ+ABm5t+dEmSckW4HUCwWPZQbh59QSp1I\n5o8VCoXPOo4zFr+GiCJmTuXzIqKWJGNa61wYhtullNsBcKFQuC+KIiGlfBNG3rQL5tL2AgA7YaRO\nJ1Ai4XgxaATzswDVbszXQlo1pEm6s6GWY9t2GMJdBdN6WGP/r3IU+iiM2VAcuXQZzIDI9MlqcHBw\nEOVkfAwLMIw0I915hDUOvxpmgWw5gGGl1GgYhjvj/LFCofBpx3FOVnm5hLn8SwOxwL4haK39MAyv\nllJuF0K86fv+/VEU3eQ4zmgURafBEM8ojPnL44mXVuahXWnv8ygdkEky7rUx115rL6SFCZghjkEA\nDyYeX4TSZ90PU+2uhnmPqo1CT8K8hwWYyKgdKK0NsCXjOOUjJuOeDSPNSHceUCwW8zBfpPfDWAgO\nSSmLYRjeWCN/rBISZjU6DTQkGbNku01KeY0QYl8+n/+S67rHpZSrMHMhrVpPd7bV9TxKB+camCp5\nDcqlUTEZx6Yx3YhuXUibD3gwVzVJjKNEkknEjm2rYbwmLrP/jh3bkj3j2LFNwFTGV8JM6ynYdo4l\n4/0w1XGSjLs6cikj3TaiWCz2AbgOxm+1D8AxKaWwkThz5Y+VgYgirfW89nSZ2QuCICbbt/L5/Jdd\n1x1K7FNyOKIZne4Uql+2LoGpkNbAxL9vg6mUY5+CJBkfR+cIL8apTLo+6j8ZzubYthSlE+8ZMOqI\n1TDfj8rKOD75xmR8NYC/hrmyGnvkkUeWffWrX9334IMP/kULf1NbkZFuG1AsFhcz854wDP88l8u9\nCeCIlNIJw/C9Wusz68wfq4RESp8XESmt9ayka8n2KinlDiHEgRoyteQYcJrDEfHB+WbisdinICbj\ni2Ac1ZbCEO8EzGTWuShpTucLnVxI62R7ATCVbqveDmP2lvy8CSXHttUw9plXwZx8J1BOxAWYq6ih\nt99+e8fExMTKFvenrchIN0UUi8VlMEGHtwHIRVG0QwjxahRF79dar7P5Y9+oM3+sDDZGJ832wgzS\nZWY3CIIrpZTXCiEO5vP5f3Jd92iV1ye3M18TaUmfglcSj8cDABfDROpcDUPMcSpwZWXcDvOXU73S\nHZvzWY2jlmPbcpTL2hYB+KM777wTRMT79u17nog+DOBlAC8z83QlTkRfgklROcrMl1T7xUT0CZhj\neALAbzPzT9L8wzLSTQHFYvE0GInULTAH4BEpZT8AEQTBB23+2NcazB+rRGqVrt3WNOlast0qpbxO\nCPFOvdNuNawd53M4Ih4A6IOJ2fmKfbyA0kLOGhhSXmOfn1y0O4KSr22z6LR6oZPGNR7mt9fOMEqY\nEwBeh/muXQzgv/7lX/7lhvvvv3/3/v37xwC8D8BHAfwGgCRpfhnAJwH8U7WNE9HtADYx87lEdDWA\nz8IoNFJDRrotoFgsroJJaNgDm9IgpVwfhuGHmHk5AGl1ti2vxqcsGVMwET5uEARXWLI9lM/n/8V1\n3crFrlqoNpHWLcMRkzDC/LcrHo8vWfthTGC2w8j2xjCTjGPDmLlwqqoXAFPpdnLyLP79etu2bfvu\nueeezddcc83X77///s9VezIz/wcRnV1je3cA+Ef73KeJaDkR9TNzUyP31ZCRbhMoFov9MNljO2GN\nw6MoOjuKot9g5kWe5z3u+/7PxsfH/zekR0CpVbpssGJ8fPxPhBCH8/n8V13XrRwVrQe9aHgTJz68\nkXgsaaW4BmY6cA3Mgt4QZpJxsWKbp3p7oZOqkhyMygEAUCwW/WXLlh1vYXvrYSKTYrwD4HSYzz0V\nZKTbAIrF4jqYXs91MJ60h6Io2hRF0e2w+WO+779MRPGlZsTMDethqyGNni4zO2EYXh5F0W4AIpfL\nfaUJh7LkPvUi6VZD0krx5cTjSY+CNTCJD2tgqstknziPzh1LnSbdapKx+UQeifbKyZMnvdNPP324\nxW1WtsdSbR1lpFsHisXiGTDG4VcDCJj5YBRFF0RR9D6gPH8s+ToiisMI00DTlS4zC0u2O4loyHXd\nHyqlLm2FcC1mUy8sFMOb2TwKkuL/AZiFnbtgWhqVC3dx9E670A3tha6pdE+ePJnr7++vtfg7F96F\nka3FOB0zP/+WkJHuLLD2imfDNOSvgCXbMAw3Synfj1nyxyqQZqXbcE/Xku1llmyHc7ncfZ7nvRNF\n0elKqXa5jHVLT7edqBT/rwPwAAzpxgt358JcEZ2GUtpDkoxjT9tW0Q2VbidJt6zSnZiY8Ldt29aK\nKdQDAD4C4G4i2g5gJM1+LpCR7gxYst0E01C/BCal4WAYhpdEUfQrdeSPJRExcyqVrm0v1PV5WbK9\n1JLtSC6X+4bnedMDCCkGUzLMAmKvtxdaRdzTjSVOryf+L057iMl4i/25D+X+BDEZVxsBr4VOk26n\nF9LKKl2llNiyZcus7yERfRUm+mgVER0E8P/AXo0y8+eY+TtEdDsRvQlzcv2dtHc4I10LS7bnA/hl\nGKOWCWZ+x1aKH2wgf2watr2QSqWLOsaALdleYsl2LJfLfcvzvMrV+3hbaVS6wMx2wqlMutVQLe0B\nKNkoxmR8nv0ZmLlwdxSzV5Odbi90VaUL812cdeiImT801waZ+SMp7NesOOVJ1xqHb2bmX5mcnPy9\nvr6+bzHzO1ZK9etN5I8lkWalG2GWz4uZKQzDi6MouoGIxnO53Lc9zztQY3OpJEdYxKS7EHu69aIZ\n9cJsNoqLUZK0nQ7T2loNI9SvJOPjyCrdZKUrmFl3u0XkKUu6lmwvgTEOPwvGOHz91NTUedZroNn8\nsWmkvJCmYS7lhVUNxGR7kZTyBgCTuVzuQdd135qrErfthbQ+e83MSdI9FXq6lUhzDPikve2v2H4c\n1d6PcstMwBjBnIkSGcexO+2GsLdOktx0pau1drXWnfbhmBOnHOla4/DLYLxs1wMYsZE42wCQ1vrM\nVvLHKpDmQhpgZGougMgu6O0CMOV53kOe5+2vt+2B9JIjAHsySNl7odfQbp0uAxi2t9cSj7sA/meY\nAZA8ZlpmVlbGtVzsmkGn5WKAqXSLgHHzcxyn65OMTxnStcbhW2Eq29Uoke12KeVVQoh9AE7mcrnv\nJM3DW0SalS4AyCiKNkspr4FRT3zP87w3GyBbAOktpFlk7YXOjQHHFearMNK0GEnLzH7MtMxMkvFR\nNE+cnZaLAYlK9+jRo32+7ze6EDnvWPCkWywWfRh3ojthDFGOa62PJfPH8vn8F13XHR4fH/9fmDkt\no/BY5pVvdTvMTFEUXQAgJ6Xc7nne9z3Pe6NRsk0gVdKtaC8ApRZD11/qpYRum0ibzTIzaaF4NmZa\nZibJuB7LzE4vogGm0p0CgOPHj2ek20lY4/BrYNQISwEcny1/LPGyIE3ShflCLmn2xcyMKIrOj6Jo\nl31o3Pf9ez3Pa2niJu1KN4qii5RSV8L0xo/AkO5SGPnUqYBe8V6oZqEoYIqRmIxjY6DYMrOSjJOW\nmZ1eRANMpRsAwPDwcJ/v++1wPEsVC450rXH4DhiyXQTgmM0fu362/LEEgrR6sMC08XjD27Nke54l\nW/I871HP816fmJj4YyJKo12hYFZ6qXKKroF9pDAMNwNYrJTa7DjOPinlOzCXswTgD2Ad1+ztMEru\n/p0+UNNGt1W6jUDDtCaGUN0yM5a0bbf3ScvMEKUAynZYZtaD6fbC6OhowfO8rj/RLxjSLRaLi2FW\nce+A+SCOKqVkGIY31pE/BmBabZBmpRuhgZ6uJdtzLdk6MdkmiDFeSGsJti0Re+E2pPFMnBButK89\n6fv+NwCcK6X8qX3aVgCfgPl+9dtbMgFiFCUyjm9df7DUwEJJA04itsysNEJKWmZugqmI/1dUt8w8\n1qZ9S2JaMjY6OlpwHOdAm39fy+h50i0Wi0thJkzeA/MBHJZSLgrD8OYG8sdipNpeqHc4whLZJku2\nviXbV6tUobNqdZuAYmbXthrqQhRFZ4dhuMfu4w9s9f1fiEgkptIYJQXDOIz0KSl/EihVUP0wK+79\nMO9TfLDGt6OoIXTvIvRKeyENJC0zi/Z334PGLDOHkd7C43SlOzY2lvM8rxWHsXlBz5JusVhcjpJx\nuAtDtsvCMHxPo/ljMYgo9fZCreEIS7YbLdnmXNd9zPf9V2pc8su0hi3QwGJaFEXrwzDcw8zLPM97\n1Pf9lxL7qAHE2uEk6c62ypdMhP1Z4vECSkS8DmZcdjUMcSeJ+DDS8y1IC51SL8TSvE4RflIyNpdl\nZj8at8ycCwRzso4rXS+Xy3X9FVPPka5NabglCIL/XQhx3PO8n0gpV4Zh+Mst5I/FSLu9UFUyxsyQ\nUm4Iw3A3gD7XdR+tsISsikb8F+rAnFNpUsr+MAx3a60HPM97zPf9F+LBjATSMr2ZhEl1PZB4jGAW\neWIyvhTGNH4RZlbFqZ0sm0CnKt1umEarpV6oxzIzblNUs8yMb7MVTvFCHgPA2NiYVygUskq3DbgY\nwE1aa09rvTiKol9pNX8shq10W5Z4JbYXoYIM7CX6bmZeXKVqnAuppUegRqUrpVxhyXaD67o/KhQK\n99WIGtJ2Sq4dpjeM6rloOZQO2H6YycK19vf/GsrJuN1pwckTzXyjV30X6rHMXAfgcvtzbJmZJONj\nmGnr6K9du7ZVL922oxdJ93AURVBKbQBQcF33Bynkj8UIYBYGUgERhXE7IIqis8Iw3MXMS+NkiSpV\n41xINSetstJVSi0NguAGrfUF9orh20KIuQ6qJMHO11RaAOPun/TD2AgzGvs8SgMBu2E+z/hSNnlr\nOULJYiEuotWLtCVjlZaZwMwgyvNQssw8CcAfHR3d/c1vflNorZcuXrx4CF2OniPdycnJS5RSHxBC\nHAZwPJ/PP5PWtoko1FqnOhwBID8+Pv6bzLzcku2LTZBtvL3UerpJra7WelEQBLGk7sd24bHeXvhs\n6RGdmEqTMGOyyVFZD+VV8fn2XqEkY4tvQ2i8cuxluVirSCN+fS5UBlHGcABcBOCGoaGhwoMPPrj5\nlVde6Xv44Ye//+lPf/plAE8z859UboyIbgXwP+zr/56Z/1vF/6+CCTddC/P+/g0z/0Oaf1DPkW4+\nn/8PAJ8Mw/AKrXX/nC9oAEQUIKWebhRFZ9iebd513Z/5vv/TZsk2gbR7uoXJyckblVJXOo7zYl9f\n36eFEI1WgJqZncRCGtBdpjcRql/KLkWJiJOG48OYWRXXWuDpZBJwp9sL7YpfrwcKhvCHN27c+J17\n7733O7t37/7DD37wg9d89rOfXQ+T6FEGInIAfArAXpjvw7NE9AAzv5p42kcA/ISZ/09LwK8T0VeY\nObWTW8+RLhFNwVQWqfZf7bZbVi/Ylf7dzLzKdd3/kFJusAtQaRyYqUjGtNY+M/cFQXCXEOLVQqHw\nOcdxRud+ZfXNoTdz0uLprORqu4uSx20/TMsiHvaoJOKjMCfBU7nS7bT3QllPFwD91V/91ZHPfOYz\n1TykAaMTf5OZDwAAEd0N4JdgvCtiDMIs2AJ2Ki9NwgV6kHRhL2cs+aZKumhBvRBF0booinZrrdfY\nNsILRKROnjx5K8z73HLvy7YXmv7MbOT6Vinl9QDged5DuVzuxRb3qRM93XZBovpAwGKUiPhsmKy8\nlTASqSGYv/U8lGwV5wudJt1Ou4wlDczj714t1VK1pN+rK57zBQA/IKJDMNK2X01hP8vQc6S7ZMkS\nWSwWJRFNtaPSRYOkK6UcCMNwl9Z6rV3pv7ti4CBkZr8VVUXy16GJE00imPIGG7n+z0EQ3ExEaSwm\ndVNPt12IPW73JR6LY3jOghkGuAqlIY9qVXE7KsJuaC90S6XraK31wMBArSvKeq42/y8ALzDzLiLa\nCOBhIrqMmRvVEM+KniNdi6l2VLqNtBeklGst2a6zZDubgiK19Ag02NONTc6jKNpNRKO5XO5rnue9\nAwBhGKZlehMPR/Rae6FVxDaJkzDj5/9iH++DWbhbC5P8sBWmZVHETDJudcijGyrdrojqkVK6zDzX\nCagy6fcMzEzu2AHg/wMAZt5HRG/BLL4+l8oeo8dJtw2V7pztBTswsEtrfXodGtYy2VgK+xdpref8\nzBLuZDcCCHO53L95nvdWxdPSyknTzDwdw26mgbtqIa3dqOzpTmDmkEfs5BW3KC5HKZwy1p/GSopa\nwwCV6DTpdtplbNrAfGhoqM/3/blG/Z8DcC4RnQ3gEIAPAqjMTHsNZqHtCSKK1S77kSJ6lnStpKkd\npOtVc9+SUq6xZHuG67pPFAqFr9epDU4tPQJ1hFNGUbTB+iO4nuc9UiMiPq2ctLiqVTi1Kt0Y9agX\nkk5eycms2Gw8OXEXDwNUVsXDmLlg5yCrdKcAYGhoaJHv+zXbZcwsiegjAL4H8959kZlfJaI/sv//\nOQAfA/BlIvopzGf7F8yc6sBFz5IuzBlWWLlSKn0tS7QRM3uWgCGlXG3J9ixLto1OvaWWHlFrDDiK\notOtP8JSz/N+WMdYcartBZiD/1Ql3WbVC9XMxuNhgJiIL4bxGFmCUgRPfOtD53u6na50AwAYGhoq\n1OOly8wPAXio4rHPJX4eAvC+lPezDD1LurZ6m2LmfEoLQjFCZs5JKZeGYXiDHYV9qlAofLOZxTBr\nepNapVupXrDtjhu11v3WH6FePXBa4ZSxRWSS4BfaQlotpC0ZSw4DJIc8fJRXxRfCjMoygA+j9SGP\nZtDphbTpSndkZKTP87z5VI40jZ4l3fhea51vQtBfC3Jqauq9zHy667pP1TkKWwttiWG3Jj+7bQX+\no0KhcG8jFT8RpdJeSEjGWjW86VXM1xhwiJmR7VfByKBegSHi82AW9ZbDeE5UtijSjrLptGRsutId\nGRkpuK5bKfXrSvQ06drFtFQmyKzJyw0AlhLRm4VC4RNNOpVVoi5P3TohmTk/MTFxh9b6fFuBf6tJ\nOVpq7QW7kAZk7YX5hgvT//25vSUfTw55bIJRUzBmEnGzRuNdFb8+NjaWd1236x3GgB4nXdj2Qisb\nUkqdZk1eznVd92mt9UHP815JiXDn9NRtYD8XR1F0NYB+InqjQX+EqptEeqS7JAiCC5k57lHmkf7g\nSreik2PAs6kXZhvyWIISEZ8DkyG4Aia1o5KM57pU7/QiGpCodMfGxjzP8050eH/qQk+TbitaXaXU\n8iAIdlpHrWfy+fwnhRBTExMT69oQTtl0pau1LgRBsCNOLgZwolAo/CCF/WpZMqaUWqK13sDMK1zX\nfUVrPQRzabsCZjHiJhgpVCyHOox0UwO6AZ1OjWik0izaWzKY0kF5ksc2e++i+pBHfFXV6UU0oDyq\nx8/n811v6wj0OOmiiUrXku31WusLHcd5tq+vrzJdYl7TI2aD1toPw3C7lHK79Uf4OwA0OTn5uynt\nl2q2Atda54MguE4pdQURHXcc50nf999VSg0z83GYiuolGC3kWpRW4ffCeKYmUyAOo30TW/OBTrcX\nWrnaAcwVT/x5JBF72/bDDBFcCdOyiON3YqXAaTCV8nyfSH2YE44GjJfuokWLMtJtI5I93bpIVym1\nzCYCb06ukTSBAAAgAElEQVTkps2wpbPDDB2LYbf+CFdKKa8TQuwvFAp/7zjOMGAsGJGiyxhMRE7d\nsPu2TUp5rRDi9UKh8HdhGG61i2nVJtJG7C25Cp9HeSzPFSgdzIcrbqmNXrYRnSbddvVUq3nbxkMe\na2HaEx6A34YNgsXMyrid+XZJ3wUUi0W/v7+/6710gd4n3TmdxpRSSy3ZXmS9Yj81R0hlavaOdh/r\nkoxZf4QtURTtFEIM5vP5f3Jd92jF01K1dkSd7QU7TnxZFEW7hRCH8vn8l13XHQKMesEupBHqW0ib\nQinYMEacpbXW3rajlASRJOF44adTJFcNnTQxn+/hiOSQxxhMW+JLKD+RrgVwGUyVPIGZnsVptZdm\npEasWLEiI902Yipxv6raE5RSSyzZXuI4zvN1kC2A9MMpYXS/tcIpKQzDi60/wolcLnev53mV3q/x\nvqWWBlyPZCwxTrwHwGQul7vP87yDFU/TMJd6rRjeJLO0kmGVi1Ei4qQcagjlfeLDDfyutNHpSrdT\nwxFJuVi1EynBtB6SkUp7YT7TyiGPI2jcDL2s0h0fH/c3b958rOG/ogPoadIloimtdVmlq5RaHIbh\ndUqpyxzH+Ykl20Z0vCHMFyMVVMtJA6YJ7QLrjxDkcrkHPM87MMfmNACymWStHug1SdeasN8EIOd5\n3sOe570xyzhxO/10T8Is+iQXfuIkiLhXvNneR/b370aJiOej19iN6oX5wFyDEQxT1Q6j3K82OeSx\nFib9YY3dViURD2H2E1pZpSuldPbu3dspQ/WG0KukO8NT15LttUqpyx3HeaFQKHzacZyGxeBEFKQZ\n2YOK4YhE7PqNAJw5CK1y3wA7lRaPKbeAquoFO/a8R2u91o4TvzjHOPF8D0dUS4IgmEva7fbfl8Mc\n0HmUV8Pxol2aRNXpSrdTpNtKKGXlkAdQPvp8AYAbACxDacgj2aYYR0Wla9HqouK8oCdJd8mSJapY\nLEa20u2bnJy8WSm1xXGcnzZLtjEsmaWpXpjenq0e99gk4B/6vv9KE4kScV+3JdJNZqQB06GUu+zQ\nxZzuaQl0g4k5wyy6jQP4YeLxAkoV1ZkwcqiVMBVwZa+42e9MpyVjnWovpC0ZixddkzloHsqHPM6D\n+SzjqB79xhtvbH/nnXfGHccBOjuoUTd6knQBQGvtRFG0BWYF/N1CofAZx3HSWO0O0lQv2IW0wsTE\nxK/ZVIlHWwmnRHox7ArG+Llg5V9bmgilBEp+ukhYO3bLRNokZtosxrrUuFd8rb3XmKkprie+Pat0\n24cIRnZ4qOLxJTBtpBUvvvjiBR//+MdPf+utt5x169b9DMCLAO5j5vuTL5grkNI+ZxeA/w7ztw0x\n866U/x4APUq6g4ODRER/RETHAIwXCoWH5nxRnUgznFJKuSoIghsBrBRCPFsoFO5JwREtlURgZobW\netXExMRHHMd5tVAofLaZkxYRaa11LyVHJHWpP008vhQlIr4AwC6UO3slCbkslwunJul2cjiiCHNl\nMnLnnXc+ftttty269dZb73zzzTc/DGOPWbaGU08gJREtB/BpALcw8zs2lLIt6EnSHRgY4LGxsf+X\nmc+amJj48zS3nUZ7wQ5g3KC1Ps9xnB8rpfrTioqvZe9YD6w07bIoivYCQD6f/1KLM+vV2gu9aHgT\nB1UmPQx8lEuhYr/bkygRcR6dO4463V6YUw3URuRhFtpw5MiRRfl8foKZXwDwQpXn1hNI+WsAvs7M\n7wDTFo9tQU+SLgAQ0UmYyxs3pdX8eLtNtxfsYt5OpdTFdtrtkwAwMTFxVRr7ZtFUeyGhltgDYNx1\n3R8opS5LwSSkG3q67UIIE2SYlMkRSgMCawFsgOkT/yVmVsRH0V5S7HR7oSscxqyBea2rtHoCKc8F\n4BHRD2GucD7OzP+c4v5Oo2dJF+WeujkialTnVxW2vdBQpWv7otcqpbYmZGoTAGBlWWnqfudMj6hE\nFEVnWvmX73ne9zzPe1NKuV4pdUUK+5P0011opFsNDNPrPQ6TAnECJgvtEZQq4qSZzDBm9orTqhA7\n3V7oCi/d4eHhuQzM61ms9mCmI/fAmMM/RUT/ycxvtLynFehp0o3v7VRaWqQbAsgxcyzRmhVa65z1\nR7jacZxXbF+07MOPe7gpVuN1x7DbiKE91uD8B77v/yxWS9g2RZp+ukBv9HTTRryQNg6TpZXM04ot\nFmNN8fn25xAzhzuamdTqZHuh0y5jSS/dPtd1a7mi1RNIeRBm8WwSwCQRPQ4jQ8xIN4GG/RfqgSUR\nhRqXT9aD4CrrQbCvUCh8wXGcWrZykY1hb1lHWE9PVym1LAiC3VrrTTUMztNOA04+1os93WZRayFt\nNovFWJO6FuVGQEcxU1Nci9g6Xel2sr2Q9NItxCnXs6CeQMpvAfiUXXTLwbQf/jblfQawAEgXKXjq\nVkFgSbLsS8XMTsIf4d1Z/BGqIR6QSEO8PWtP17Y5rrcDIs9a+VdV05G0kiNQPhwhEo/18nerETQj\nGaumSc2hRMSxEdAqmJX6Sk1xfDXV6Z5uV1S6Y2NjOcdxZl2bqCeQkplfI6LvwkjONIAvMPMr7djx\nXj4w6ja9aQKh1joXjw9bf4RLoyjaRUTHc7nc3Z7nVWoHa26vnYnAzOwFQXC1lHKH4zgvW83yXGL/\ntDLSpiPYk4/h1Kl00xoDDjAzpLLSCOhqey9gCNiDyUo7hPk3AuqaSndkZMTL5/M1DcznCqS0//4b\nAH+T8n7OQM+TLtpQ6cZaXbvif2EURbsBTOVyuW96nvf2XK+vsr0IKSYCx5VuwpnsBiHEwXw+/8V6\n1QiVE2ktIFnpJh871Xq67cBcRkAbYBbtdmB2I6B2jcZ2eiFtutItFoteLpfridQIYAGQbto9XQBg\n5kBKuSEIgvcBIM/z/t3zvDfr8UeYBalWuszshmF4oZV/FZuovIGUerrxQhrbUTSLU6mn24mJtJMw\nPrcawNftY7ERUNyiiI2AJjHTfyINI6BOthfKDMyLxaK/cuXKnshHAzLSnYEois4EsEZKeZrv+9/z\nPO/VJvwRZmw2rURgZu7TWm/WWk94nveQ53n7mjkZpFnpMnPfxMTE+5l5OUqGMgrG7+AwejcVoh50\nagy4UrkwmxHQcpTaE5fDEHEBrRsBdbK9kEeFl+6mTZt6wksXWACka+9XtLoxKeVAEAQ3MvMqG0Hz\nrO/7qTTSrQytJdKVUvZb+dcZRHSgr6/v3hZPBi1Lxqwk7SYAKzzPe1RKeURrPYlS7/FmmOqrCLOC\nfzhx34jdZjejU2PA9SyiMYyO+ATKp68qjYCuglm0SxoBxaQ829pAJyvdHBJtk5MnT/pr167NSHce\nMKunbiOwVoa7tdZnuK77eC6Xu3tqauo2IkqlMrWoKz2iGuxI8W6t9UbXdR8norcBLGq1+o5fz8zU\n6LaUUovtPl3gOM4LSinH9/39SqkCTKV1AIYQHkBpMWgA5iC/zt5HKB3gMRH3TF8ugU7FkLeiXJjL\nCKgfpk88mxHQMMzf3SmNcFmlOzU15e/cubMnDMyB3ibdGZ66jaAiev2JQqHwjYRELNWctGYqXa11\nn5V/XeY4zjOx/GtqauoqZl6W0q7FLYa6Dl4blrlDSrnNTt59Umu9XGu9EbMb3iQXg15MbC6+7B2A\nuewdgLlkTZLwIGobWXcDuqW90CpmC6hcilJVnDQCAoA7MLsRUDtRVulqrWnjxo2d9IFoCD1LukuW\nLNHFYjFstKdrY3x2KqUustHrn6jUsrbivzAL6q50rfxru5TyGsdxXurr6/t0MvmCiKTWOq0qXFlD\n9JqkayVzW2xG2luFQuHzjuOMAIDWupp6oZ6FtGqhlX0oVcSbYOJ5lsIQdpKMj6Dz8d8xOkW686XR\njY2AkpNZKwD8Hkppz9WMgOJbrUmxZlFW6VrMF+G3jJ4lXYupeitdWzleZwcHfjJHZloA41qfFuaU\njFn51xVW/nUgmQJcgXkLp7SSuU1RFN0Ek5H21SoqiWnSpdKKXrM63QkA++wtRuz0lRwaWA1D2DEJ\nH0a6/haNYKGTbjUQTKX5XMVjSSOgrfbeQ/pGQMlK12FmHhgY6OaroTIsCNKtVelqrXNBEFyjlNpm\nBwfm9I0lojDNyB4b6151Hy2xbQ7DcA8RjeTz+X91XbdybDS5rVRJd7apNCnl2iAIbgKwzEYKvV5N\nJZFIA27XcEQ1p6+4/xhXxefbnwnAXSivittRaSXRqYW0bvNdqDQCitGHcke2SiOgJCHX2yKYrnS1\n1q5SqlPvQ1NYEKSLKpWuvUzfJqXcIYR4ow5/hCRSjWGHqXSXzHgwijaEYbgXAPm+/6Dv+/tnvnTm\ntlJKjgCqKBhsbM+N1rfhsVwu9+M5jHpmC6Zs53BEtf7jRgA7YfrGAwCutPfx9FayT3wc6YVJnoqV\nbiNysQnMbgQUX8HEMTz1GgFNV7rDw8MFz/NSMbuaLywE0g0BePEqPDM7QRBcIaXcaae0/sF13YZW\nNtOOYbeV8/T2bBW5l5lXeJ73SCNZabbSTWu6bbrS1Vr7tv1ypeM4z9XybahAsz3ddkACeMXeYsTT\nWwMwC0G77WPxgR2TcbOBlZ1KA+5l34XZjICWoVQV1zIC6rOP4ejRo4t83+8p+eFCIF0GEGit81LK\n860/wrG5LtNrIbZ3THE/IwCeVUzs1lpvsPK055uI70m7veAGQXCl7SXvKxQKf1dpT1kLdv+72U+3\nWox7DqWDOxlYGV/yJnvFc43RLhT1QiNo12DEqL3VMgLaYn+e+MIXvnDZ/v37BYARIjodwLsVk5EA\n6stHs8+7CsBTAH61MmMtTfQ86TIzAVCTk5N/QETFXC53v+d5v5jzlTWQZk5avEmt9frJyck/cF33\n6Xw+/29CiKYqhbR6uswct2A+SEQnWjhJzdZe6BbSrYYAwNv2FiO+5I37xBfBHOzjmDnYkVwTOBXb\nC/M5GFHNCOhDAN5cuXLl0pdeemnzwYMHVwP4MQCXiO5i5ofjJ9aTj5Z43n8D8F202Tekp0k3CILz\npZR/CCDnuu6juVzuuRb8EaaRVnvB6lqvkVJeAyColH81iZZHiu303c0Altj37ckW3rekeiFp7dhr\nhjfVLnkJ5S5f2+09o0TCp8FMeBHmt83QKz3ddiAH4NgHPvCBZ8fHx8ePHj169NFHH/1NIlqLmZOO\n9eSjAcCfALgPZjqvrehp0mVmeJ73eBiGVzuOM5QG4QKttxcq+spveZ73TSnldSkQbkuVrjU3v1Fr\nfY7neY9GUQTHcQZbed8SyRHd0NNNGwwznDEE4KXE43Fy8ADMkMf1ML3iZN9xEEZf3K4WQKfbC10R\n1TM2NpaPpZXMfLjKc+fMRyOi9TBEfCMM6bb15NnTpJvP5x8DsExKeVnK6RFNtRfsEMHmKIr2ENFw\nPp//F9d1D0sp10gpU1mYa4Z0rWzueqXUFYnptlBKeWEKRua92F5oFcnk4H4YQn4LM6VRp6Fkt5js\nE6dBWKdKe6Eapm0dR0dHfc/zqunZY9RDoP8DwEfZrsYjay/URFs8de3iEDOzU+9CVxiG59hYc87l\nct/2PO+txPZScxmDuayr63NjZhEEwZW24v55pUY5pZy02fx0FzLpJhH3dCdhiPetxP/Fdotxnzie\n3ErDAKjT7YVOx6/Hla6Xz+dHajy3nny0rQDutld8qwDcZo/ZB9Lb5RIWBOm2w1MX1n+BiGp+uWx/\ndC8zL/d9/xHP816pvFy37Yo0K925ptsQRdEFYRjeZBfJ/tl13cqZeiAdT10GQHbV+FSpdJOotZBW\nzW5xLgOgJBnXIpNuG46YTySjevx8Pl/LS3fOfDRmPif+mYi+DODb7SJcYAGRLpowvZkDsf9CVdK1\n8q8btdZne573mO/7z9cYIkgzOUIDs6cLR1G0PgzDmwHkfd//ju/7+2ZspISWc9LsCSZeODuV04Dr\nRb0GQLehtgFQpyvdTi2klRmYnzx50qtlYF5PPto87HMZFgTpwrQXlqe54dkUDFrrRUEQ7FRKXeK6\n7lOFQuGBygDLKtuKkBjgSGH3pDWqma42rAXkXq31mZ7n/dD3/Rfq+F2p5aQBoIT3wkJZSKsHaY0B\nz2UAdC7KDYAcGCvM0zH/BkCd9tKdHtoZHx/3ly9fXtNLt558tMTjv5PGTtZCr5PutL1jK566s6DM\n3tFObO2wHg4/ncMwpwyW/OIFsDQOjrhyDrXWeXsSuNx13f8sFArfmuskkNivNNMjKivdU4V026nT\nrWUAdCPMZN3tmGkAFN+3azy206kRSQPz3IUXXtgzXrpA75NuAKMPbVt7wcq/ttrFqH1JW8MGETKz\nVy8hzgGptc6FYXiJlPJ6x3FerTMBuBKpxbBHUbRJSrkVhgBOove/W/VivseAYwOg4zDE+hyqGwD1\nw5BTpVF8GgZAnZSMlVW6YRi6O3bs6Cnz+54+MJr11K0TgZRyYxiGtwshjtVYjKoXsaduS6u+dspR\nTE1N/ZYQ4kgz3hIJtFzpSinXAvCllNcIIX6hlJIwBibLAPwlSgMH8a2agUkvoxsm0qoZABGMZC3u\nE6dpANTJ9kJZpQsAy5cvb1ficVvQ06RrUbenbj2wK/8bmfkcZg5yudy3PM870Op2rb1jS4tpURSd\nES+SeZ73UC6Xe77F3WpaMmYje27UWp8HIMrn89+RUl7AzKHW+hWYyuvzKM3MbwawB6ZPeRhmJTkm\n4uPo7nSIWuik90KthTSGOcENY6YBUFwRN2sA1Mn2QrLSjdtZ3WJoXxcWDOmmkfQQRdG6MAz3MvNS\nIjoohDiQBuHGm28hJ22FXSRb73neI1EUbRNCHG11h5IuY/XCGuRsl1LusGbwX5yYmPj9IAiuJ6LD\nMF6pmwAIx3HeC2CMmceY+WfM/AhMpR9XX+cBuAHG9vIISiR8CGaxqBeIuJOVbjOSsZMwKRDJJIha\nBkDJivgITJXZLZWuq5RSAwMDPXXltGBIFy1UulLKFXHSrpV//WRqamonEaWZRtCwbMymXexUSl3q\nuu6ThULhfiKSUsorkM5np1Dn5F3CbP0mIcThQqHwD0KIRVrrs13X/a5SaqXW+hKYS1oNYFBrPUFE\nERH5RLSOiC6wJ8eYiF9l5sdgprtiIj4bZpprOQzxJlsTR9A5beps6OY04HrRqAHQYph2xUHMNABq\nN6Yr3SAIPHRONtc0FgrpBgByjUqylFKLwzC8wealPVkoFL4ZL3TZdsDitHbSbq/enDTXGrBf6zjO\ny1WMcmRKRuZ1ScbsFcAtAHK5XO4B13VDZj5dSjmstX5Za30FM19FRC+5rvsoTHTaWmZex8wDWusB\nmB7vUSI6GnsgCyH6iehc248vWiJ+k5mfgFnwiae5ToeZiV8Jo1OtJOJOXl52yk+37kDRJlHLAOiP\nYb4322E+nzgxOFkVn0B73pfpSvfIkSOLcrlczwRSxlgopMuwl++WgGvCehHsUEpd5TjOC9aLoExe\nQ0SB1nplivs55yiw9W64OIqiPUKIw/l8/kuu684QftsTQ1qkO2t7QSm1JAiCPVrrjVb7e5CZ1yml\nppRSr2mt1yul/hDAiOu6/yCEmF7QcxynrHJiZt8S8YC9rYOpio8R0RH7ublCiNVEdA6AAjOftET8\nFoCnmfkESqv0AzDeqqthLoNPwhD7mUjP36Ae9Fp7oRXEfWIC8O+Jx5MGQBcDuAnGea1SOZGGAVAO\ndmT6+PHjfblcrlHFTsexIEg3vrcV06yka+VfV0opr7cRPp9zHGc2CU2AdMMOa44CR1F0ll0kQy6X\n+4bneW/P9lyYSrflCTciUlrrGaRrK+0dUsrtjuP8uK+v70tEtFYptVZrfVBr7UgpPwBgueM43xNC\nvDGXUxkRhY7jlPmiMrOnte6PSZiZB2AqqeNEdNi2jRwhxCo7xtnHzOOWiH8B4MfMPATTR74MhpBv\nhqmQx1DqD8cHfTtWubtBvTCfqCYXSxoAxSig1Cc+B8AOlAyAKvvEjZwgpytdG9VTt+F+t2DBkG5C\nNjaDRG0FeYmNED+az+f/yXXdmgtRaadHzGZ6I6VcGYbhTVrrtZ7nfd/3/ZfraJGklR5Rpl5gZthK\ne68Q4t1CofBlIcQSrfXZSqnDWutRKeUNzHyxEOJxx3GenSM/rSaIKHIc5x0kDEiY2U0Q8YAl4tUA\nhhNETEKIlUR0JoBFzDyhtfaZOSCi7zLzUZie8ACMcuJClBuSx2TcSBjibOhW9UK7UO8iWrsMgKZ7\nuidOnOjzfb8ZzXxHsWBIF1WcxrgUIb4XQGQryLpSJewYcJrpESESC2l2nDjuJz9RKBTus2Y29exb\nmj1dB5j2bLgVgJPL5b7pum7EzGfEfVul1Bat9U4ietnzvE/PZQTULIhIOo5TZhLDzA4zr9Fax0R8\nNgwRj8JIm9YAWENEbzqOcxmAJcw8xcyjzHwEwMuWiGO51ADMSO0AzPcn2SM+hMYcvzq5kNaJRcVW\n5GJpGABNV7qjo6MFx3Fa0c53BAuGdCsHJCyJ7AWw2PO8RzzPe60Rs27bY0wznDJiZr9CcvWiHSdu\ndFwzFQMdKxnLTUxMvF9rvcHzvB/4vv+O7dsGWuvXlFLrlFJ/AGDMdd1/TEOq1sx+EtGgEGJ6UUdr\nLZRSO5j5Wph+7hAzb5JSjtmKeIKImIiW2kSBpZaIx5j5OIDXLSHH/gYDKC0MJReR4ttsl7GnWnsh\nbblYIwZAHsz7fcV999236dixY6cR0Qsp7su8YMGQLmylay/X92itT7eLPz9t5hLYqg1Sq3Tt0MA5\n4+PjfyKEeDefz/+967q1zJdroeX2AjN7UsrNzLxRCPHEokWLvgRgQCk1EPdtlVLvZ+YVtm/787SS\nOVqF1rpfSnk7AN9xnH91HOcgYJzXmHlVXBFrrc+BbSsQ0SCASSEEE9ESIloDYDszR8w8AmCEmfex\nSR/IoUTEV8K0KIDygY648lqo6oXZMF+DEbMZAP0xgLFHH31083PPPbf84MGD5xLRLgA/AfDnzFx2\ncqQ5QimJ6NcB/AXMFUsRwB8zc5L8U8dCIl0lpdwaRdHNVv71jVZ8DppNj6iGKIo2KKW2w1y63+N5\n3sE5X1R735puLyT623uI6ASAd/P5/AGt9Qat9WGt9Yjt214ihPiR67p312vk3m4wc0FKuZuZLxJC\n/MBxnOeT/W8i0kR01FbjP7WvIWZeaYl4nVLqLJgKagrAISIaF0JoAIuFEKsAbGNmycyjAEaZ+S3b\nmhAw5FtZefkwrYqDaK9UqhKdai90cjBiAoY8n/zUpz71/T/7sz+7Y2Rk5Mvf/e53fwyjZClrC1F9\noZT7Aexk5lFL0J+HueJpG3qedKMocqWUN2qtLyGiwSYv12cgjfaClHK1XSRbJYR4jZnzrRJuvGk0\nMQwSRdHptm9LuVzufgCrgiC4eXJy8kqY8L4LmHkrEb3Wzr5to2BmUkpdobXeTUSvep73KSKq6zO2\nLYYhIcQQgJ/F22PmFXFFrJQ6E4ZMQwCDRHRSCCEB9AkhzgNwFTMrW0WNMvMzlogZwJ/CLOzEUqk8\nSj3IuEfcqLdBPeikeqHToZRTAFAsFr1Vq1YdYuYnATxZ5blzhlIy81OJ5z8NowlvK3qedJVSPjMv\nchznSQB+GoRrIQE4PItZ+Bz7tDgMw11KqQtd1/2PQqFwTxRF50kpL01p3xrq6dpAyr1a67OsQuKQ\nrfpOOo7zda31+cx8M0wVwcy8Rkq5k4gOCSEOEdHxlHyAG4ZS6nSl1O0ApOu6XxFCVAsfbAiWiI8L\nIY7DBk6yiaQ/LR7mUEqdAUPECoaIR4lIElGBiDYS0RVa65zW2rUn6OctEYcotSbOA7ALwCKUjznH\noZWt9II7lRzRSYcxD+Y9iw3M/TPOOKNWasScoZQV+D0A32l1J+dCz5NuPp/fB+DbQRBssRVLKrD9\ny4BNZE9dRM7MXhAE11h9azx0Ebc/UstJIyKptZ7zs7MewNcqpa5yXfeZQqHwCMr7tkJrfTMzr3Yc\n5xtCiNcB5BMqgfOklLtgSOMwER2yRDzYbiJm5kVSyr3MvEkI8bDjOC+2s6dMRLDtlhOO47xi9wHM\nvIyZ12mtB7TW61Dq74YAFhPRG0IID8DZRHQpGy+LUbtg9yIbv4lJlBaFzgFwLeyEHsqJ+CjqI1IH\nhng6cSLsFt8FjI+P+2vXrq3lsFf3+0NEuwH8Lsxn01b0POmi/Z66PuYwg7Z90sutDvjtap67lGJO\nGuZYSLP7c1kURTcKIQ4UCoW/F0IsT/RtT9i+7WW2b3tvom875ThOmb6SmWMiXsfMF0gpb4RZ1Bi0\nRDxoK+LhVomYmYVSapuVp/3EthLmnDJsBywRjwIYdRznVWaGUuoCrfVtAEaI6BUAq5VSV8IQ4SAR\nDRFRSEQ5IjqTiC62J9uYiF9h4zdRRImIz4SpwFagut9EZRvhVI3qKRt+Gh8f97du3VqLdOsJpQQR\nXQrgCwBuZTP12Fb0POkuWbKEi8ViUCkZSwP1KBjCMNwYRdHNAKbsItm71Z5nF/XSqnRn3VYURWfa\nvq3K5XJfc12Xmflsq7d9SSl1mdb614noddu3nVOTSkTViLiQIOILpZR7YA6KQSIaTLQmTtRLxEqp\nDUqp2wAUXdf9ku3DdgW01qcppW5j5tMcx/mG4zgHKv5/MScm66zfhI8SEQdE5JEx/tlsiTg2/vk5\nM/8IRnfcj9JQx1aYKbvY7StWTxRxasavT/dzASMb3Lp1a63v75yhlHbA5n4AH2bmN9Pe4WroedK1\niJ3G0hxmAErhlDMgpewPguAmZj7N9/2H69ABt+ynm/z1leoFm5F2k5XKPez7/mFmXq+UmtRav6qU\nWquU+n0Ak2n0Rolo0nGc/TCrvwAAZu5LEPFFUsq9KBHxoQoint6W1nqZUupmZl7vOM53hRANaarb\nCWZ2lFLXaq23CyGedF33nmpqDiHEDMtEZl6UaNXE7Yk8TKvmKBFNEZFLRGuJ6HwuObAVrXztKRjZ\nVAbhH8UAACAASURBVOw3sQ5m3HkNjJriAyifrpuPK4JOxq9XG/OfdbSb6wul/L9hxpM/a79zETNv\na8fOx1hIpBukXemi1F6YhjWB2a21Ps913cdzudxz9Sy02eo0zRh2F5ju216vlNpqM9IeRqlv+wut\nNSmlfomZ+x3H+XchxKvtIjQimnAcpyzTyxLxOkvEF0spb0apAjwMMz22iYie9jxv2uWtG2Ar7/cQ\n0ZDrup8XQjQ0ckpE447jvAlguoJKXCEMxL1i2IU2MsY/U0QkiGgNzXRge5uZn4Xp534Y5oQ3AGMQ\n34/SOG3ylnZOWrdUug4z88DAQM0eOM8RSsnMvw/g99Pe0VpYSKSbek+XEv4LyUUpx3Get4tkdVcW\ndlupVrpBEGyxfdt9FX3bQau3vZ6Zt9gKre4x4zRhibiMeLTWi5RSV9mKQtm/Z1sURWckquFBIhrp\nRMWrtV6slLqFmc9wHOchx3FeT2vbs1wh5KtYYS5FiYgnAQirIz7HkrUnhFjKzO8CeIGZj8FUbLFy\nYqe9n8BMIm5kzLkSXdHT1Vq7Wuuu0I83igVHusyMFA/UwKbtbo2iaJcQYv8czmSzIs1KV2u9GkC/\nlHJLLpe7x3VdMPNZUsoTtm97qdb6w0T0c9d1P2MvfbsCWusVid7o121lXNYT1Vpfzsy3w1wSJhUT\nh6x0qy37ZhfxrtRa30BEz3ue98B8VN62Z34AwIHEvuSqWGEuh6lypV3EIyHECiI6C8BiNg5ssd/E\nz6yEbRlKRLzD3keYOV1XrxF5p0MpY41uznGcjiywtoqFRLoapmLybVXZEqxcqCCl3E1EQ/l8/l9d\n1x2c+5WzQgGgZnS/0xtQ6rQgCG7WWq8HMNXX1/eA7dtOWZ+EfqXU7wEIXNf9l6RXQafBzL6tvLdW\nm3Sr1hPVWi9JEPEWZn4PzLhmUjFxiIjGWiVipdR6pdR7AUy5rvvlTi/iEVEQexLbvvJ1WuttRPQi\nEY3YingzjOJhyF4ZnAQAIcRyIjodpnUzYVsTQwBetUTch9J03TZ7zyhfrBtE9eTgTkvGAmDawLyV\nir1jWDCkG9/bHlhLXwop5dogCG5m5rXWd/cbrR7U9vWhPSk05OtqTdd3KqW2uK77pO/7T0xNTf1m\nEAQ7ALzGzMe11ncw84Dt277SRQtRUEpdrLW+iYjedl33s0KIuqoq+7wirE+rPREusSS8ziZWvBcA\nyHgrHEoQcbGe98CeWPcw8/lCiH93HOdn3fLeAYBS6kyl1PuI6Ljrup8TQpR5C3C5J3FshbkKxpN4\nkIhOkhmPXkpE62CMfyZtRTwC4A1bGcd+E+sAXGF/dlA+WTeIzodSDgPGwNzzvPmMCUoNC4p0E7Kx\npoyNlVJLbcLtRs/zHtNa7wdQSPEgjAck6iJdNnrbK6z+9+eFQuELQogVSqnVjuM8pZQ6jZl/CaZy\nGSOinzOzx8yrYaqfjgb2aa3XWGOavG0l1GWrORusbrYI4PW4z2qJeGm8KGU1s+tgtNuHUCLiwSTZ\n25PBZfZk8IqVz3VNlDcb86abmPlcx3G+4zjOa9WeR7N7Eq+pWKxbDeCEJeIiGee2xUTUD2AHMweW\niMcAvGWJ2EGpNXEpgFtgQkRvhkkFSaY5z8d3bbrSHR4e7svlcg23+boBC4p0UcVTtx7YSvI6pdRW\nx3GetYtkYRAEV2qtl6W4n3XnpEVRtMHqbSfz+fy/Oo4jOKG3ZeaLmfkKMhNRj8P09NazsTfcCeMd\nWynVGp6PKs4Sxm42ZuePOo7zXLtOAJaIxwCMxcTEpUmyAa31OqXUNhgiVpaIR9l48irrUnaoHfvW\nDOzJ4CKt9a1kfCY+TQ0Oh5DxJD4EU53+2G7XYebVVkkyoLXeACM9G7VEPEZmzHkREa0GcDUbB7ZR\nGBnb05aIfw9G/7oIpQj3RSj3mxiESYhI2/Jyuqc7OjpacF237YMM7cCCIl1qcECCmUUQBFullDfY\nNsLfOY6TrJJTtXekOgYkbDLxzVrrft/3/93zvGMVfds1SqnfBRA5jvPVBGEMozwKJ5+Qam22mtkc\nSgtTh4jo3TT6oYnfSUqpy7XWe6iDpjlUPkk2TcRa61VKqb0wLmGjAJYppe7SWsdqifh96Uiv0OqV\n38PMyx3HucdWsKnAVraHk/psNlaYqxNWmGfDSs/s+zFqFS8FIcT5WusbtNbLyeiKh5j5eUvEEqWK\neBOM69pSVPebaEVxMF3pWgPz/XM8vyuxoEgXdVa6bBIlzg/D8CYiGs3n819xXXfGsAClaO9oMeuA\nhFVJ7FRKXW6TJB4CsC6ht2Wl1HuZeb0Q4vuO47xUiyztinilNGlRTMRWIfAe+9y4D/pus6RjF6Ju\nB6C7cBEPWusLlFK3EdEB13U/TkTjtiJenugRb1dKrQMQxiScUE60jYg5MfoshHhqtgGMtGF7vUeE\nEEcAvGD3hbjkSbxOa30mzLgyw7QbXrfJ1HkhxCYAV7BBXBH/lJkfhiHHeMz5bADXwAaRonyx7ijq\nn66brnTHxsZ8z/Nqmd10LRYU6dZT6do48ZsB9Pm+/13P896cjbzIDFykGU4ZVW4vWW07jvNaX1/f\n54lopdXbHtFaD0spr7Or/v/pum7TAwRkxPrTCoGKfuj6CtKJK+G4+qva72RjTLOHmc+1J4MXO91L\nTqLW+K6tiEcAjFSY3JyWuAzfYd+TIHFyiom45Spea71WSnkHjOLk74UQzRrbpwIyDmzHbLLzi0qp\nc5RS7wMwKIR4k5lXKaU2IBF1RETDVrOeE0JsALDFvo8xEb/MzD+A0Qz3w7R6TgdwFWwQKcoX7I6g\n+mJdstL1crlcz+WjAQuMdO19VdK1Y7J7tNZn20SJF+qQbqUdTlk2IGF9G24BMJ7P5//FcRyHmc9J\n+CRcrLX+EBG95bru31WuXKewP7P1Q0/TWq+3ZLxTKTUAk77wboJ4jmitL7PGNC920pimGrh8fPeJ\neqtH+56cEEKcAPCy3RbZ9ySu/q6z78lU4v2IJWx1O9LZvvel9mT1QjepJmxf/mZmPsdxnG/HeurE\n/5e9J0qps1HSAMcudFNE5AshzgRwCRsHtjG7YPc6Mz8Oo06JwyrXwbR+VsOYwVcOdSR1un6hUMgq\n3Q4iWekuTv6HvWy/3sqtns7n898WQtQlKaP0wykjNnrVVbZvu9L2bY9zuU/Catu3Vba3V9VEpx2o\nIJ3Yaza+5IxbE1tgDoyIiPYT0Qmt9WohxGHqwNRbJWx1djuZ8d3PCSFaWuW21d+wrUKTRLwiQcTX\nK6XWApisQsRlVwlKqU12vPgXnud9phN971pQSp1v9+81u38zjpdZ3pNku2bAtibiBcxBGEXNFBE5\nRLSeiC5i4yESG/+8ycaQfATm+xX3iS+CqZA9pdTtf/3Xf+1JKZcEQdA1J/lGsFBIdxIwpKu1XgWY\nSicIgiullNcLIV4vFAqfcRynocksSteOEcyspZSXR1F0i+u6PyoUCg/C9G3X2r6ttgspZ9jqpys0\no/ElJ4BAKXUujFn8fUR03C7UrdNab1FKrYI5sOJL8HfJGLvMS3BjxfjudxzH+Xm7fhdVN0KPiTh+\nT26wRDxuVRNDzHwmgBXVqsdOg5n7pJS3MfM6K/F7u5HX12jXxEqSAWY+w0rYCKYiPkYlv4l1RHSh\nbcHFRHyAjd/EGIA/P3ny5P4jR45c9dJLL63av3//l4jovwJ4mJn/qGJfamaj2ed8AiZ2aQLAbzPz\nTxp+05oAMXdN+61pFItFAvBXYRheHEXRRZ7nvRSG4V4hxLDv+w+7rttUgq3W2p+YmPjzxYsXf6yV\n/bN92yullDcR0WChULjf9m2X2L7tcSnltcx8lRDiGcdxnmi2b9sO2Ev1a7TWO4joWdd1f1Rt/9jo\nQ/stEa/n0ujq0YqFulQ1xHYh6irb6njedd3Hu+X9Y2bSWq/UWl/DzJfCHOB5WCKu6BF3pHLjkkzt\nNiJ60XXdH7bz/ePSkMu0FSaboQ4XJSKesCdrn4iWKqVWMfMaIcTjzHzitttuu/auu+7a9dGPfpQA\nrLc9YwDT2WivI5GNBuBDnMhGI6LbAXyEmW8noqsBfJyZ25qNFmNBVLqxp64dGz0niqKVvu8/6Pt+\nS5ISW+m6zEzNkkQYhpts33ZMCPFTIQQBSPZtL7J92wPt6Nu2CqXUuUqpW4nomOu6X7Bth6ogow99\nF6UvOpjZtx4ClRriwxULdU1piLttfLcSzLzC7p/nuu4XhRCHK9o1A1ZZsRZGqpUk4sPtJmJ7dfBe\nNqnPX52PVhaVhlympw3jfeHEZJ02Vpg52HiqRx999MCqVasWv/jii+ccPHhwxY033riGjQ9xpSHR\nnNloAO4A8I8AwMxPE9FyIupnI4FrKxYE6Q4ODgohxK9qrc+H8ST4XBqVFJX8Nf1Gv/xSytVBENzC\nzMt93/+e53kjYRheHUXRZVLKM2F0tWsAREKIr7mum0ZgZWqwq/63MvMq67TVlMEzEYV2Ei1VDTF3\n+fhuxULeY47jPBN/JysUAnFqcTI+fp3WerNSqh9m0jDZIx6s1mNtYv9gNdU3EdFznud9rZ6Fxnai\n0n/DWmv+MsyV0jsPPPDAlscff/zcw4cPKyJ6dtu2bXcCeJlnpj3Uk41W7Tmnwygn2ooFQboDAwN6\naGjoKc/zngmC4FfTvHRFyci8LtLVWvcFQbBLKXWR9dt9FcB6pVQ/ET3hOM6PlFLvgYloOQKgT2v9\nG2EYHklUfu9SCtE3zcCuql/PzFfaVf970z4YqQUNMYBxSxZ7qQvHdwFAKXWG9Us4Ue/VC1WPjxdc\nvoB5sVIqniJLDnQcboSItdbLpJTvA7DIdd1/TiPsM03Y7+BeZr7QcZwHHMfZ98UvfvHqp59+eur6\n66//6L/927/dOz4+fgVMska1Rch6j5vKs/S8HG8LgnQBIJfLPau1vhjpe+rWpWCwC3dXSSmvdxzn\nJau3XaW13qiNv+2wlHIHM2+zfdGvxQeKvQQfsJfg59sMsmTl964lnbYZfLAZINislLqFiH7RiDFN\nGqDaGuJ4cGE9zHc2IqIXbZBm18DKrPYy83mO4zzUqmF8BRHHwwvxFFklEY9Q+UDH4cq+LJuJwSu1\n1ruEEE85jvPkfC1y1gt7wvplInrH87zPHDlyJPenf/qnvz4yMnLsrrvuuvpjH/tYvLj3fXurhnqy\n0Sqfc7p9rO1YMKSL9nnq1vRLYDPddl4YhrcIIYbz+fw/Oo7jaa03KqWGtdY/U0pdaPu2B6tJmOwl\n+NswJiLxduPKb73Weiszvw9GehNrZeNFqZarPK31amtM0+c4zv2Nrlq3A5TQEAsh9tsgzbVE9CQR\nDbPRhlbVEKd1CV4vEiesW8lkz32mXdU3lU+R/cT+fsHMaxI94kstEZ+I3xMAJ7XWVwMQXdr7dmPd\nsuM4DzqO89rdd999xd/+7d9evWXLlr+59957/2blypX1VqJzZqMBeADARwDcTUTbAYzMRz8XWHik\nq2BMNjykZz9XKydtTRAEtwBY6vv+Q77vj1qDlSmrt12hlPotAE6jLluzVH7L7dDC+oQcKV58iavh\nurWyzJyTUu5iI9B/zBrTdE3lY8nsQktmByyZxeO4SZnWysQwR9wLHamyKJW6hlhrvdTK/E5zHOdr\njuPMe2/eEnGlr8L/3963x0dVXms/a++dCwn3EG6J3G8aIUACCQRIyIVAQKPf+VqPx9afWtvTWhWo\nCvVY1NpaqT84pRULgqLnYFW0nxcQQUWwAiqiiKiIihAhCbnMJIFAhmRmv+v7Y7+b7AwJmUxmJpO4\nn39wnD2z39mZWXu9az3reVQzEAshJqLROt4ha81mjbjDudW6rg+W2a0jIiJiTU1NDS1atOi6kydP\n1v/oRz+auXz58jZR/9gHbzRmfoOICojoKAwnjZsD/sFaQJegjAFAbW1tPoBpZ8+evUtaoAdka1xX\nV3edpmmHIiMjL3Q+hRCx9fX1s3Vdv1zTtHejoqK+hlG3VYUQxQbdVs9l5uGKouxUVfWzYNRnLTW/\nBAtFKx5ApSUbLiGDgsOW15GUNcwhw13iHQozgr7X+O7rbcm+vTK/wcycAENjNmAcYnkNTb2EfZLm\nF1b2MXIHUwjArWnaZiI643VdBqNRe9daIy4PRSBmZlX2D6YoirJdVdXPt2zZMv7hhx+ekZSU9MSG\nDRt+HxcXF1bXNBDoSkE3E8Dsc+fO/ToqKupFTdMqA/G+dXV116qqeiwqKuozWbdN83g8GaqqHoqK\nivqAiOKFED1l3dap6/p0IUQaEX0s+awhVdlngytrUrTMgNMDkqIFoI6Zk2BMu70RTrKGwMXju6qq\nfhiIYMZNOcTmdfGLQyz1Eq6CEcy2yAGJsAEbvOUZQog0edM/0NJn4kbtXfO6mCLophtFqSUQBywA\nCkNr+VoiqlVVdcu5c+fc99xzT8Hhw4e1vLy861etWvVZoM4VbuhKQTcNwLxz5879TI7WBmSb53K5\nCgA4VFU909DQMEdRlMrIyMgdqqpGCSH6CyGqhBDFuq6Pkx31ElVV31ba6BwbTDBztK7rw4UQM2CM\nU7oBCFnrK1EUxW91sUBCju/OJ6JK2YgKqki1hUNsHeZokUMsu+pZzDxRTgx+GsDeQUAghBjk8XgK\nieiMqqqv+8P7buYGNQiGME0lNZXArGhrIJY3hOlCiGnmNXznnXfGLVu2bPbo0aOf+81vfnNPTk5O\nh4+SBxNdqqZr/ssBtGKXX8B0IYQ7MjLy9cjIyFqvum0fXddvBBAhVaw6vAllhfySjxdCZBHR55qm\nbSRjXLqHrA0P1nXdVBerN2vDMvMLSUNKCNFDju8mBnt81wpqmUNsMkmsHOJqGNKE5fIaloVTwJWN\nqEw23J/fkmpvfr0XNR1yufD+lhtUosfjmQrDn63Skg2XylJWs4FYCBHn8XiugbFDWNfQ0FC3ZMmS\nq/ft29czLy+v8PHHH//QrwV3MnSlTHcsgOvr6ur+TVXVb6Kioj5vz/sJIWLPnz+fLYS4kohOxMTE\nbAaQ6FW3zWHmkXILdzAYddv2QDf8tQoAuDRN2yapR82Cm+oGJMjtt9mQKrFkfgHbZnLj+G4mEX0S\nTuO7Jpg51u12FwAYQkTHYLBjEoAmHGKzRtwhOwVJs7pa7hDeUELk/syGP5vpWGzWiPugsWRTKnWV\nK4UQqUKITOkksv+DDz4YsXTp0tzExMQtv/71r+8oLCxs8+QdEW0AMB9ABTOPb+GYDtFXuBS6UtAd\nCuBml8s1n4gqoqOj9/vzPsys1dfXp3s8nukykLqEECMiIyO/ZOZiWbdNF0JMI2POfzeFkaQhcCFz\nzGPmoTLr+dKfrEc2pAZ4BWLzR2Vmw6VkyPi16Yuk63qiHBI5r2na1jCkMJkTW7lE9Jmmae+aNwRv\nDrG8LlYdYrNGfIp8lHr0c40RHo8nm5mvlFODh4N1rrasyZIRD2bmRBjfGffzzz9f5nA4qo4dOxb5\n8ccfd8/Jybn5iSee2Nnae7YEIpoJ4CyA/20u6FIH6itcCl0p6A4A8CuXy5VDRA3R0dG72/J6Nvi2\nVzQ0NOQpilIWFRW1Q1GUbm63e5Tb7b6CmXvDUDOLBuBUFGWXqqrfhRnFSpU3hAzZyNsd6MyRm2op\nmIG4G4xBDjMItzjCy2E+vgtc2AYvABCladpmXya2uKn4uVkfNjnEVkH4gJRs5IjsVWRwv7cHM7j7\nA3nTSpEMmQ8URTnx97//PWPHjh0jDhw4UOdyuVQAnwP4VXuyTzK4uFtaCLprAexi5k3y8REAmRwi\nPm5L6HI1XTImyLq15YUej2dQfX39XABRUVFRmyMiIs4KIRJ1XXcB2Keq6tcej2cugFgiOgygmxAi\nXwjRA4YqkknNKiHDVyrgH641SI3WuURUFUwHghbqoDGWQY5JbNiiC2tZgohKhRBjw3l8V960zCZP\nE72E1kAti58HlEPMBrfadAl+XXK5wwpCiB6SqhajadrTAJyPPPJIzmuvvRYza9asa/fs2bOFiHoA\nmATLQFAQ0GH6CpdCVwq6FzR1ZVbaKnRd7y7dJEZJN4lvASR6PJ5YIcT3QgiPrutz2LCi2eVNveFG\n4ZZEIUQyMxfAsP42g02xzPyCVn6QfNZ8Zu6vqur2UDWhrCCiOimIcxRooqGaIAwboGwYWZ8AcJyI\nqoQhen7K12ATbFj0EmoCIXwOXBC2ccjSiVVP4QJXVggxUdf1ePjAIZaKbwuI6Fs5KBJWZS2Z3U4Q\nQuRLidLdX3311YBFixbdHBsbe2DRokUFd9xxx2l5bC2A90KwrA7RV7gUukzQ7dGjR0Ntba2AD+wF\nWbed5vF4pqmqekCqkg0QQozSdf0UMzvkNn06EX0aERHxWHNfcPISbjGDjRAiUQacLDmmepqIii0Z\ncXl7yxKynjeDDWL5B5qm/TNcApjM+k4zs0sIkQCgNxG9oSjKCZOeJYQYL0dVzWBjHeQIWclGZo65\nzDxO0tQOB3OnQk2nxw7INVgpWokejycNTTnElUKIkQAGqKr6qqqqx4O2QD/BhlfeAmaO0zTtWQBl\nq1atmvXcc8+Ny8jIWLxx48YXOmBZHaavcCl0mZouANTW1i5paGiY4Ha702NjY5/1fp6Z0dDQkOR2\nu/MURSmVddsYIUS8EKJaCHFSCDFG1/U5RFSuqupb7d2mWzKbBGZO5EZSvskFLVEUpZiIanz5sXPj\naGw+ERXLNYaVBi97je9qmvZWc519S7CxTtT1glGysQbi6kAHQssa55ExlbcjnModZu1clmuuhOGY\nqyBAOsSBhK7rV0h7pE81TXv3+PHjfRYuXLgAwLfXXHPNfyxZsiQgg0rNoZWarrWRlg5gld1ICzBq\na2vvdLvdExoaGubGxsY+aX3O7XYnNDQ05AOIkC7AdXIu3SWDbS9Zt+0mt+lByyaYOcrKCJAdXsUs\nSViCTZMgIMc65wHoLvmsRcFao7+Q5Y4CZu7d1vFd4KJrYzIDItDYqDOvjd/0LKmXUMDMcdI2x2dN\njFBBZo7zZdnoNVVVT3JTDrFJ0fLWIS4NVV9BNkUL2LD3eUVV1ZJ169alr1+/PjktLe13q1evfqoN\nIjVtBhE9DyATxgRdOYAHII1fmfkJecxqAHMh9RWY+UCw1uMrulrQ/YXH45lw/vz5f+/evftqANB1\nvUd9fX2uEGJERETEO9JNIlHXdUUIUczMbkm7GSs5hAc6gpEghOhp1kBlEB4EQ8ymhAzn3YEARiqK\n8p6qqvvDiTUBBG98F7jgKJBgoWclwKBneQ9yXLLGyYZewhTJF/1IVdU9gVpjoGCpi86RmeO/LlU2\nYosOseUmFXQOsawvX0VEhzVNe6e0tDR24cKFV9XW1pYtWLDgugcffNBbStGGRFcLujfquj7B5XL9\nMjY29q/19fXTPR5PmqqqH0dFRX0k67Y9LXXbNEmv+kx+ucNpe0lyzDhNbi91GIpJJke22CJ23qFr\n7YDxXbAxyGHNhgfCqJ1bA/GFQQ4hxACpl+DRNO31cOMFAxcy8AXM3FPTtNfkYEGbwBdziAfD4BC7\nKQAcYlkDz2fm4TIDL/rHP/6RumrVqikpKSnL165duyqY2W1XQFcLuj8WQkyoq6u7F8BZRVFORkVF\nvaMoSqwMYE45TTZa1m0rZU00rARLgAsz9PNgyEK+oapqCRvEc++yRASkfoKlLBESxTDL+G6CJOeH\nnDlhwosVYPKH+wKohNHBjiOiPaqq7lEUJay+9BZOa3YwFMu4KYfYvEm1mUMsucGFRPSdpmlvOhyO\nyMWLFy8oKys7l5+ff93y5cvbbOlErbj2ElE/AM/CuKlqAFYw8zNtPU84oUsFXafTebfb7V7EzAmR\nkZH/GxkZeVZSlupk3banx+PJh1ETfTPcLLCBJsMD4+R48aeX4opatt5mk24wgDqv+nBANVO56fhu\nUIYwAgGPxzNGCLEAxtTSaRhjzTFoyq0OWQ20OQgh+ng8nqsBRMrs1i/n6raCvTjEMiMegMbdwgUO\nMQDyss85+sorryQvX758+pVXXvn3p5566g9xcXFtLneRb669DwKIYuZ7ZQD+GsAAZg4Lpo4/6DKU\nMQDQdX2opmn73W53H1VV4yTftoiZG2Qgu1zWbT8Jw5ooyWxnNhF9ERERsdqXcoecs/9aVdWvzfdh\ni8auECJZ1/V+MIRJrNlwm0d3gYvGdzeE4zadmWPkFniobJR9a3mum2WQw+rFZi1LlPqz9W7jGk09\n3kxFUfbIGnjIvpPkO4e4v3zJ6bVr1xaNGDGix8svv/yjY8eOcWFhYc7KlSu/aMcyfHHtPQVggvzv\nngCcnTngAl0s0z1z5kw+gJ+4XK7ZQogBAJwAGmDcwb/SNO1NRVHCalwSuEDMLwBQL4VpAjoxI6lZ\nZtfbzIij0cgIKG6t2SIz8FxmHhOu47tym54sDIfbQ1Iv4ZIjt5YaqNnENHcL5yyB2Nx6BySbF0L0\nkxNbQma3QZkebA/YYp+jKMoHLpdLv+2222YcOnQotrS01MPG6O5+AHcys183CyL6vwDymfnn8vFP\nAKQx8x2WYxQAOwGMgaEL/WNm3tbez9eR6FKZbk5Ozv2qqo4aPXp0SVxcXG15efnoP/3pTzXR0dHf\nAxjq8XjuhFH/LLY0ojosCAshukthmuEykH0RjEBGhlTfSVhGImXXO0EIkaDr+lRp+lhvliTMZgsA\njwxkuUT0ZTiO7wKAEKKv1EuI1jTtH742ocjixaaq6lfARVtvc5AjHkCVJQi32XmCm2rJvivtkcIu\n6/G2zzl//rznvvvuKzh+/HjZtdde+x+rV6/+CsYI7zh/A66EL5/9vwAcZOYsIhoJ4G0iSmZjoq1T\noktluk6nUy0sLJx38ODBFQASMzIyzh8/flxPTEysmTRpUuXs2bMrUlJSBBENkE2owTBoWWbts5gC\nMC3WGiS9Kk0IMYMMScPdrWVkwQY3Sjtam3T9Yfww3ES0X6qVteqsEEpYAtl0Saf7KBh/P2ZW28uj\n0AAAFiFJREFUmxnksA65mIG4WTaJZE8UAqiTbhNBZXj4A25qn7NNVdUvdu/ePeree+/NHTZs2MvL\nli1bmJGREbDaPRkDCw8y81z5+F4AwtpMI6I3ADzMzHvl43cALGXmjwO1jlCjSwVdACCifABjAaxh\nZve//vWvmOeffz6jqKgop6qqKqOmpmZkVFQUjxs3rnLq1KkVc+bMqRk4cGA3S6DpDaPRUmzJiAN2\nV9V1faSu6/MAVGuatj0cmRPMHCkdEpKJ6FMiqrUwAmLReH2Cbg1/Kcj68lVkuCRsDbVbBxuDHIO8\nAnEUAGsQLtN1fTIzpyqK8raUCw3lMn2C8LLP8Xg8rgceeGDOu+++G5+dnX3z2rVr3w30OYlIg9EY\ny4Hh2vsRLm6k/TeA08z8eyIaAOATABOYOexKMr6iywXd1uB0OmnTpk2Xvffee7nl5eVZDocj9fz5\n83H9+/c/m5ycXDljxoyymTNnNkRGRvaT9c9EGJmeyQYo9qe+J4ToLelVA1VV3a4oytfh9uPjpuO7\nxzVNe9u7zisbUReyYRmIzetTYrk+QcvcJVfUbIxu91cvOBiwlm2YeQSMQQ4dwHFFUU5YGnVhIVbD\nzdjn7N+/f+g999yTP3DgwB0333zzf95www1BK8ER0Tw0UsaeYuZHyOLaKxkLTwMYAmMM+hFmfi5Y\n6wkFfnBBtzns378/8oUXXkg9cuRITnV19Syn0zlWUZSI0aNHO1NSUiry8vIcI0aMiABgijL3h8EG\nsNaGnc398JlZk5NaaYqifKiq6vuBpG8FCpK6VACgl6qqW30d37VwQBMt2fAAANXUdKQ5IEI2uq6P\nk3oJR+VNIezqy9zopZZMRNsURSk1M2FuHOQ4Q40cWXOQI6TfC9HUPuc1ALV//OMfc7du3XpZVlbW\nfz755JNvhHI9PxTYQbcZOJ1Oevvtt+O2bt2ac+rUqdlOpzPt7Nmzg3r16lU/YcKEimnTppVnZ2ef\n7d69ex9LWSLSmg0TUQkzD5PCNKVyCCMc63jWm0JAxnebqX8mwug8W/mxxdSC0HlzkIMYBcwcL2lg\nYeVFZ0LX9aHSOqdU07Rt1MygiqRmxXsNcsTBUFyz0vqCUj/3oqu9q6rq/i+++GLQ4sWLC3r27PnR\njTfeeNPPfvazsBJR6kqwg66PcDqd6mOPPXbFwYMH85xOZ2ZlZeV4Zo4ZOnRo9aRJkxzZ2dnlycnJ\nDGBQXV3dqOjo6P4ysytSFOWIrA+3qdsdbFjGdytkySNoNwW2aA9bAg1T0yGOi7bdMkCkCiGyFEXZ\nr6rq7vbeFIIBWQc3JSK3mrzpNrzeanNjXp/uCLBIvhCit8xuFU3TXgVQ/Ze//CVr06ZNo2fOnLnw\nmWeeecnvN7fhE+yg2w68+eabPV566aXMEydOZFdXV093Op1D3W5393PnznW/7777vp87d+6+fv36\nxVqyvZ5o2qTrkCZUOIzvyrJEb0t92BxNvWCECaBOCDENBp91SzgOYgAXmqNXEdExKWMZkJKH5UZl\nvUamGp11kKPVsW+22OfIYYwPjh49Gr9w4cL5mqZ9de21195w9913h11TtyvCDroBAhENB7A7Jibm\nw7y8vE9ramrGV1ZWTm5oaOg1aNCgM5MmTaqcNWtWWXp6ulvTtP5eTSizJGE2oYJS25NNk6lCiFkU\nhuO73DgRdZkQIgVG7VxADnFY6uc+aQ8HG8wcbRF/2RLssXJuKmZjHeRweQXiJo1e0dQ+5xVFURxr\n1qyZvmHDhvHp6em/feyxx/7HH5EaakU3QR6TBeAvMDRCHMyc5deH70Kwg26AQMbkTDJ7mewdOnQo\n+sknn0w7evRoTlVV1cyqqqrRERERypgxYxypqakVeXl5jqFDh0ZZsuF4GEpi1iZdu5XEJL1qAQye\n6BthnDUOl5Y0p1RV3U5E7ha0h61DHBdpD4dgnWNlaeaIFEDvEJ51M/zqBBg3q2q5WwAzX87M+yIj\nI98rKSnpdccdd1x1/vz54vnz5//7Aw88UOrPeck33YTeAPbCmDorJqJ+zByW37tQwg66IYbT6aRX\nXnll0M6dO3PKy8tnOxyOVJfL1b9v376uCRMmVGZkZJRlZmae69atW5wlyER4ZcMlvlKOuBOM7wIX\n9BLmMPMwqarWbMmDLx7b9dYeNjPiC7KOQVhnATMPkuIvYdfQk43Mobqu58HgnbvmzJnTm4jEiRMn\nGuLj41/6/vvv/+R2u79l/0d4pwF4gBsHG34rz73ccsxtAAYy8/3t/1RdB50q6Pq4nfkbgHkA6gDc\n5J15hiOcTmfEo48+mnz48OGcqqqqTIfDcQWA6BEjRlSlpKRU5OTkVFxxxRUKMw+yBJkaS4Axm3RW\n00zSdX2iMCywv9Q0bWe4cEOt4Kai3Z9rmrarrVmjzPbivWhrfdG4Yyhp745BrvNKIcRcMvSXd4Uj\n9Q+42D6nsrIy9q677rra4/Fo+/fvf66mpmYUDLGZAmY+7M85yDfdBLOskASDvfJXZt7Y3s/X2dFp\ngq6P2xmrJ1IajD9yh3si+YNt27b1efHFF7OKi4tnV1VVTTtz5kxijx493ElJSZVpaWlleXl5p3v3\n7t3Li5JVKoPMWSHEeAAkBbvbLIYdCkhu8AIAMbIm6tdWtzmw4THmLfJj1R4u9rUJJRuP85m5rxTu\n7nBzw+bAjfY5g6SBZfE///nPSY8++mj6xIkT/7pu3brl/kgwNgci+jcAc1sJuqsBTIYxcRYD4AMA\n85k57GzjQ4nOFHR92c6sBbCLmTfJx0cAZDJzh/rcBwJOp1Ndu3btmE8++STP4XBkOhyOZI/H08PU\nlZg1a1bZ5Zdfrn3++edZ6enp3RVFETB0da1liYDq6voL2dCbJoTIUBRlt6qq+0JBpbuE9rC1Pnzh\nGsnsdpIU+9kvG49hR1cDLrbPOX36dMRdd901/7vvvtPz8/OvW7FixVetv4vvIN90E5YC6MbMD8rH\nTwLYzsz/DORaOhs6U9D1ZTuzBcaY4Pvy8Q4Y4hifdMSagw1TV+L48eM533zzTWFZWdmY1NRUMWzY\nsG/Hjx9fnJeX5xw8eLBVV6IfgHLLlruYguC0eynoup6g6/pVAGo1TQu5XoIV7KU9LK9RHIxpw0pm\nHgQAqqq+rKpqWN64uRn7nK1btyY99NBDs5KSkp665ZZblhUWFgb8RkG+6SaMA7AaQD4MTYp9AK7z\nt6TRVdCZpB19vTt4R5DOcVfxA5mZmXWZmZlvE1EUgAWKosy+/vrri957773cbdu2ZW3cuNGqK/F9\nRkbGh7NmzTovdSUu93g8c9DIBDCz4aDoArAxPJDDzFcoivJmsGQs2wIyhLwrFUWpBHAQAIQQEbqu\nz2bmVABVAKJ0Xb9J1/VSs4kZDKNHf2C1z4mIiFhTV1dHS5cuvfazzz6LXrBgQcGqVauClmwws4eI\nbgfwJhp1E74ii24CMx8hou0ADsGg/q3/oQdcoHNlur5sZ9YCeJeZX5CPu0x54VKQdDWVmS/i3F5K\nV2Ly5MmVubm5FaNHj1bZmIRKhKELUGMJwsVk6Cb4/UWR9KoCMry13qYO1DC+FKQWwdUwauGbTVod\nNxWxMd2IL9IephBxntnQdmhin7Nz584xv/vd77JHjhz50n333febQEow2ggsOlPQ9WU7Y22kpQNY\n1VkbacFCa7oS6enpZTk5OWe6d+/emxtV1rrDkCss9sVlwoRsQM1j5v6qqr6uqmpR0D+gH5A15nQh\nxAxFUf4lNXlb/GF4cWPN+nA8ACc1HeIIuHaCdBm5hoiKNU3bVl9fry9btix/7969fbOzs29cs2bN\nnkCez0bg0WmCLtC6DJw8ZjWAuQDOAbiZmQ8E4LytOZbeAGAJjNJGLYBfMfOh9p43VHA6ndpjjz12\nubeuxJAhQ2omT55cmZWVdWrSpEkCgElZS4AxBeXdpNOBi/zezMm3Dm/gNQepI1sIwyppi6Io1f68\nDxuWSAO4qbZELBotkdqlPcwW+xyp7XDkww8/HL5kyZI5gwcP3n777bf/srCwMOwogTYuRqcKuh0B\nH6lq0wAcZubTMkA/2NkzbG9diZqamiExMTF6UlKSIyUlpSw/P78qPj6+u6UB1RdGk65KBpx6SVuq\n7OCP0izYcO+YIYSYqijKO6qqHgh0jZkDpD1stc/RNO11Xdfr//CHP+Ru3749Yfbs2T9fv379m/6s\nzxfeuzxuCgy614+Z+WV/zmWjEXbQbQW+UNW8ju8D4HMZiLoMnE6nsnHjxuF79uzJdTgcs711JaZM\nmVJeVFSUkZmZ2WfUqFEOGLxhNNOk61BbIgAQQgzyeDzXENFpVVVfVxQlJDKG7Lv2cAURMTdjn3Po\n0KGExYsXF/Tt23fvLbfccstPf/rTs/6sxZdkwnLc2zCGjZ5m5v/Xnmtgww66rcIXqprX8XcDGMPM\nvwjhMjsEpq7Ezp07b/n2229/NHbs2IjY2NjqgQMHlqWmplbk5uZWDB8+PNIyrmsNMGaTLmSea3KL\nnsXMEyWDosNHorll7WEHgF4NDQ1nioqKdo0dO/a7lStXZr388ssjZ86cecczzzzTrozT12SCiBbB\ncNSeAuB1O+i2H3bQbQW+TN5Yjp0N4HEAGczsV22ws0HS1XYBWO5wOLZ46UpMcblc8X379nWNHz++\nctq0aaXZ2dlnu3Xr1tfSpItBY5PO5A63OiXWVsgGVCERlWua9kY4UL6aAzMrHo9nFjOnASj68ssv\no6+77rphuq4zM1e43e51LpdrFzPvas95fOS9JwB4FkA2gA0AttjlhfajM/F0OwolAC6zPL4MQLH3\nQUQ0AcB6GAH6BxFwAYCZ64kog+Xd+9Zbby299dZbNwLYCDTVlXjqqacy//znP89Ao67EoaysrLLx\n48eDmQfrup6u67p1SszMiP0Wr5H0qhxmTpJCOgGdzAokvOxz1iqKcmbv3r0zevbsGZ2cnLxq8+bN\nRcw8FcBNMG507YEv2dYqAL9lZiZjSxB+SkmdEHam2wp8pKoNAbATwE+Y+cMAn7/LNTu2bdvWZ9Om\nTbNLSkqyTF2J7t27u6+88srKqVOnnsrLy6vu06ePVVeiDxqtzs2yRKsOCnJ44Goi+l7TtDfDlR/M\nzdjnnDhxos+dd955lcfjKSooKLj+/vvvLwvkOX3kvR9DY6DtB6Ou+3Nm3hzItfzQYAddH9AaVY2M\nmfJrAZyQL3HLjKS95/1BNDsupSsxceJEx8yZM0vS09M9iqKY4u+JMKx+vJt0buDCaOwcZh4l+cFh\nK7DibZ+jKErVhg0b0tesWTMpLS3twdWrV6/1R2C8NfiSTHgd/zTs8kJAYAfdMMYPudlh6koUFRXl\nVFVVZdTU1IyMjIzkyy+/vHLKlCkVubm5lQkJCdGWbHgAACcMnnQCgGOSdxuW3FVutM/JloagH5SX\nl/dYuHDhVdXV1c758+df99BDDwVVq9cX3rvlWDvoBgh20A1j2M2ORjidTnr22WeHvP/++7kVFRWZ\nUvw9bsCAAWeTk5Mrx48fX33kyJEZN9xwg3bZZZedglGSiIbRpCuRk3TF4VBiaMY+p/KFF16YvHLl\nyvTJkyeveOKJJ1YESoLRRvjBDrphDF+YE0T0EoAVzLyPiJ6BEXQ7fabrC0xdic2bN99RVFT0f6ZM\nmcLnzp07PWTIkMqUlJTK7OzsU2PHjjV1JUzNhLNelLVyCpFDMzcKtucrivKRqqq7a2pqui1atGjB\nyZMn6+fNm/fj5cuXh9wk1EZoYQfdMIbd7GgdRNQLwOsAljgcjg937tzZb/PmzdnN6UpMnTr1VG5u\nbk2PHj2suhK9YTTpzCBcHIxhCWaO9Xg8C5g5Tma3pzZv3jz+4YcfnpGUlPTEhg0bfh8XFxeWWr02\nAgs76IYx7GZH++F0OrVVq1ZdcejQobyqqqpZ3roSs2bNKklJSdGJaKAlEOteTbp2KYh52+ecPXs2\n4p577ik4fPhwxNy5c69fuXLlwQB+ZBthDjvohjk6stnhC12NOqHFdnO6Et26dRNJSUmVqampZXPm\nzKns379/rCUI9wfg8CpLVLU2ScfN2Ofs2LFj3LJly2aPGTPmucWLF9+Tk5PjlxBQa38b6uQiTF0Z\ndtC10Sx8FPrpEhbbrelKTJ8+vXTGjBkuTdPiLYE4CoAp4Wj+e6FJ522fU19fj3vvvXfuRx991Csn\nJ+fGxx9//H1/1+vj36bLiTB1FdhB10az8IWuRl3YYvvQoUPR69atS//uu+9yqqurZ1RVVY3WNE0Z\nO3asIzU1tSInJ+fUiBEjIi3C5oNh2MCfYuZeAHp7PJ5XY2Jiju3du3fE0qVL5wwZMmTLbbfddnt7\nJRhtEabODTvo2mgWPtLVfjAW206nk7x1Jerq6uL79u3rmjBhQmV6enppt27dEurr6yfOnTv3dFVV\nFdLS0uKGDx/uPnnypCs+Pv6/jx49up6Z2+14bIswdW7Y2gs2WoIvd+MIeFlsE9GH3AUttuPi4rg5\nXYkVK1YkHzhwYN6rr776M5fLdVlaWlrdiy++WDFkyJDasWPH6nFxcUXffPPN9qNHj04B8EsiGsHM\n7eUK+5wpSRGmWwBktPOcNgIEO+jaaAm+CP2chNE8c8FwkngPQDKALhd0m0NcXJz7kUce+ZiIrgLw\nHoCFd999NzZt2jR7z549NwwYMODJt956a715PJEhkhuAU9siTJ0YdnnBRrPwUejHttiG0dhi5pBx\nbDtahMlG+6B09AJshCeY2QPAtNg+DGATS4ttC2XtCADTYnsfAmyxTURziegIEX1LREubeb4fEW0n\nooNE9AUR3RSoc7cFoQy48nyt/m0A3A9jFHoNEX1KRB+Fco02Woad6doIS/hIi3oQQBQz30tE/eTx\nA2RQsmEjLGFnujbCFVMBHGXmImZ2A3gBQKHXMacA9JT/3ROA0w64NsIddiPNRrgiAUajzkQxgDSv\nY9YD2ElEpTAoaz8O0dps2PAbdqZrI1zhS93rvwAcZObBACYCeJyIegR3WTZstA920LURrvCFFjUd\nwEsAwMzfATgOYGxIVmfDhp+wg66NcMXHAEYT0TAiigRwHQBvucojMBptIKIBMALusZCuso1ojZEh\nj/mbfP4zIpoU6jXaCC7smq6NsAQze4jIpEWZCmtfeSms/QnA00T0GYwEYgkzV3XYoluBZGSshoWR\nQUSbvRgZBQBGMfNoIkoDsAaALVTThWBTxmzYaAFEtAHAfAAVzDy+hWP+BmAeDPH4m5j500u8ny8i\nQmsB7GLmTfLxEQCZzFwemE9lo6Nhlxds2GgZTwOY29KT1qwUwC9gZKWXQnOMjAQfjrHVwboQ7KBr\nw0YLYObdAC6lWXA1gP+Rx+4D0FvWllt8Sx9PTV6P7e1oF4IddG3Y8B9tzUp9YWR4H5Mo/5+NLgI7\n6Nqw0T60JSv1hZGxGcCNwAVj0hq7ntu1YLMXbNjwH23KSn1hZDDzG0RUQERHAZwDcHPwlm+jI2Cz\nF2zYuASIaBgMs8+L2AuykXY7MxfIrHSV7UNmozXYma4NGy2AiJ4HkAmgHxGdBPAADLcMOyu14Tfs\nTNeGDRs2Qgi7kWbDhg0bIYQddG3YsGEjhPj/VNSVoB8k+twAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from mpl_toolkits.mplot3d import Axes3D\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot(111, projection='3d')\n", + "xx = df2['Cruise']\n", + "yy = df2['Cylinder']\n", + "zz = price\n", + "predict = regc.predict(df2)\n", + "x_surf, y_surf = np.meshgrid(xx, yy)\n", + "ax.plot_surface(x_surf, y_surf, predict, color=\"red\", alpha=0.1)\n", + "ax.scatter(xx, yy, zz)" ] }, { From 2717d601a19e7ca8923dd0ed2f07ae3208749952 Mon Sep 17 00:00:00 2001 From: SorenOlegnowicz Date: Wed, 24 Jun 2015 15:21:45 -0400 Subject: [PATCH 4/4] added cross validation --- How Much is Your Car Worth.ipynb | 130 +++++++------ Simple Linear Regression.ipynb | 310 ++++++++++--------------------- 2 files changed, 175 insertions(+), 265 deletions(-) diff --git a/How Much is Your Car Worth.ipynb b/How Much is Your Car Worth.ipynb index 353b5f8..6391b57 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": 12, + "execution_count": 88, "metadata": { "collapsed": true }, @@ -11,12 +11,13 @@ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", - "from sklearn import linear_model" + "from sklearn import linear_model\n", + "from sklearn.cross_validation import train_test_split as tts" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 89, "metadata": { "collapsed": true }, @@ -70,7 +71,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 90, "metadata": { "collapsed": false }, @@ -193,7 +194,7 @@ "4 4 1 0 1 " ] }, - "execution_count": 62, + "execution_count": 90, "metadata": {}, "output_type": "execute_result" } @@ -205,7 +206,18 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 91, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "train, test = tts(df1, test_size=.33)" + ] + }, + { + "cell_type": "code", + "execution_count": 103, "metadata": { "collapsed": false }, @@ -213,31 +225,33 @@ { "data": { "text/plain": [ - "'Percent of the Variance explained: 2.05%'" + "'Percent of the Variance explained: 1.33%'" ] }, - "execution_count": 47, + "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "def linear_explanation_2(dependent, independent, data, var=True):\n", - " x = data[[dependent]]\n", - " y = data[independent]\n", + "def linear_explanation_2(independent, dependent, train, test, var=True):\n", + " x = train[[independent]]\n", + " y = train[dependent]\n", + " xx = test[[independent]]\n", + " yy = test[dependent]\n", " regres = linear_model.LinearRegression()\n", " regres.fit(x,y)\n", " if var:\n", - " return 'Percent of the Variance explained: {}%'.format(round(regres.score(x,y) * 100, 2))\n", + " return 'Percent of the Variance explained: {}%'.format(round(regres.score(xx, yy) * 100, 2))\n", " else:\n", - " return (plt.scatter(x, y, color='c',label=(dependent, independent)), plt.plot(x, regres.predict(x)))\n", + " return (plt.scatter(x, y, color='c'), plt.plot(x, regres.predict(x)))\n", "\n", - "linear_explanation_2('Mileage', 'Price', df)" + "linear_explanation_2('Mileage', 'Price', train, test)" ] }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 107, "metadata": { "collapsed": false }, @@ -245,18 +259,18 @@ { "data": { "text/plain": [ - "'Percent of the Variance explained: 2.05%'" + "'Percent of the Variance explained: 1.33%'" ] }, - "execution_count": 48, + "execution_count": 107, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\nQmCC\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -265,8 +279,8 @@ ], "source": [ "\n", - "linear_explanation_2('Mileage', 'Price', df, var=False)\n", - "linear_explanation_2('Mileage', 'Price', df)" + "linear_explanation_2('Mileage', 'Price', train, test, var=False)\n", + "linear_explanation_2('Mileage', 'Price', train, test)" ] }, { @@ -351,87 +365,91 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 104, "metadata": { "collapsed": true }, "outputs": [], "source": [ - "def linear_explanation(dependent, independent, data):\n", - " x = data[dependent]\n", - " y = data[independent]\n", + "def linear_explanation(independent, dependent, train, test):\n", + " x = train[independent]\n", + " y = train[dependent]\n", + " xx = test[independent]\n", + " yy = test[dependent]\n", " regres = linear_model.LinearRegression()\n", " regres.fit(x,y)\n", - " return 'Percent of the Variance explained: {}%'.format(round(regres.score(x,y) * 100, 2))" + " return 'Percent of the Variance explained: {}%'.format(round(regres.score(xx,yy) * 100, 2))" ] }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 105, "metadata": { - "collapsed": false + "collapsed": false, + "scrolled": true }, "outputs": [ { "data": { "text/plain": [ - "'Percent of the Variance explained: 33.98%'" + "'Percent of the Variance explained: 29.78%'" ] }, - "execution_count": 69, + "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "linear_explanation(['Mileage', 'Cylinder'], 'Price', df1)" + "linear_explanation(['Mileage', 'Cylinder'], 'Price', train, test)" ] }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 106, "metadata": { - "collapsed": false + "collapsed": false, + "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Percent of the Variance explained: 33.98% ('Mileage', 'Cylinder')\n", - "Percent of the Variance explained: 32.91% ('Mileage', 'Liter')\n", - "Percent of the Variance explained: 4.04% ('Mileage', 'Doors')\n", - "Percent of the Variance explained: 20.93% ('Mileage', 'Cruise')\n", - "Percent of the Variance explained: 3.69% ('Mileage', 'Sound')\n", - "Percent of the Variance explained: 4.52% ('Mileage', 'Leather')\n", - "Percent of the Variance explained: 32.59% ('Cylinder', 'Liter')\n", - "Percent of the Variance explained: 34.35% ('Cylinder', 'Doors')\n", - "Percent of the Variance explained: 38.39% ('Cylinder', 'Cruise')\n", - "Percent of the Variance explained: 32.93% ('Cylinder', 'Sound')\n", - "Percent of the Variance explained: 33.7% ('Cylinder', 'Leather')\n", - "Percent of the Variance explained: 32.05% ('Liter', 'Doors')\n", - "Percent of the Variance explained: 36.8% ('Liter', 'Cruise')\n", - "Percent of the Variance explained: 31.93% ('Liter', 'Sound')\n", - "Percent of the Variance explained: 32.34% ('Liter', 'Leather')\n", - "Percent of the Variance explained: 19.96% ('Doors', 'Cruise')\n", - "Percent of the Variance explained: 3.7% ('Doors', 'Sound')\n", - "Percent of the Variance explained: 4.14% ('Doors', 'Leather')\n", - "Percent of the Variance explained: 19.29% ('Cruise', 'Sound')\n", - "Percent of the Variance explained: 22.1% ('Cruise', 'Leather')\n", - "Percent of the Variance explained: 4.8% ('Sound', 'Leather')\n" + "Percent of the Variance explained: 29.78% ('Mileage', 'Cylinder')\n", + "Percent of the Variance explained: 32.54% ('Mileage', 'Liter')\n", + "Percent of the Variance explained: -1.66% ('Mileage', 'Doors')\n", + "Percent of the Variance explained: 19.49% ('Mileage', 'Cruise')\n", + "Percent of the Variance explained: 3.35% ('Mileage', 'Sound')\n", + "Percent of the Variance explained: 4.55% ('Mileage', 'Leather')\n", + "Percent of the Variance explained: 28.88% ('Cylinder', 'Liter')\n", + "Percent of the Variance explained: 27.57% ('Cylinder', 'Doors')\n", + "Percent of the Variance explained: 36.34% ('Cylinder', 'Cruise')\n", + "Percent of the Variance explained: 29.91% ('Cylinder', 'Sound')\n", + "Percent of the Variance explained: 30.47% ('Cylinder', 'Leather')\n", + "Percent of the Variance explained: 29.85% ('Liter', 'Doors')\n", + "Percent of the Variance explained: 37.54% ('Liter', 'Cruise')\n", + "Percent of the Variance explained: 33.03% ('Liter', 'Sound')\n", + "Percent of the Variance explained: 32.66% ('Liter', 'Leather')\n", + "Percent of the Variance explained: 15.32% ('Doors', 'Cruise')\n", + "Percent of the Variance explained: -0.97% ('Doors', 'Sound')\n", + "Percent of the Variance explained: 0.91% ('Doors', 'Leather')\n", + "Percent of the Variance explained: 18.24% ('Cruise', 'Sound')\n", + "Percent of the Variance explained: 21.91% ('Cruise', 'Leather')\n", + "Percent of the Variance explained: 6.7% ('Sound', 'Leather')\n" ] } ], "source": [ "for i in combos:\n", - " print(linear_explanation(list(i), 'Price', df1) + ' {}'.format(i))" + " print(linear_explanation(list(i), 'Price', train, test) + ' {}'.format(i))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "#('Cylinder', 'Cruise') is the winner for most error resolved!" + "#('Liter', 'Cruise') is the winner for most error resolved!" ] }, { diff --git a/Simple Linear Regression.ipynb b/Simple Linear Regression.ipynb index 467b6a1..482d797 100644 --- a/Simple Linear Regression.ipynb +++ b/Simple Linear Regression.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": 85, "metadata": { "collapsed": false }, @@ -11,7 +11,8 @@ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", - "from sklearn import linear_model" + "from sklearn import linear_model\n", + "from sklearn.cross_validation import train_test_split as tts" ] }, { @@ -55,7 +56,18 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 93, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "train , test = tts(df, test_size=.33)" + ] + }, + { + "cell_type": "code", + "execution_count": 95, "metadata": { "collapsed": false }, @@ -74,24 +86,9 @@ " \n", " \n", " \n", - " 0\n", - " 20.0\n", - " 88.6\n", - " \n", - " \n", - " 1\n", - " 16.0\n", - " 71.6\n", - " \n", - " \n", - " 2\n", - " 19.8\n", - " 93.3\n", - " \n", - " \n", - " 3\n", - " 18.4\n", - " 84.3\n", + " 14\n", + " 14.4\n", + " 76.3\n", " \n", " \n", " 4\n", @@ -99,24 +96,9 @@ " 80.6\n", " \n", " \n", - " 5\n", - " 15.5\n", - " 75.2\n", - " \n", - " \n", - " 6\n", - " 14.7\n", - " 69.7\n", - " \n", - " \n", - " 7\n", - " 15.7\n", - " 71.6\n", - " \n", - " \n", - " 8\n", - " 15.4\n", - " 69.4\n", + " 13\n", + " 17.0\n", + " 83.5\n", " \n", " \n", " 9\n", @@ -124,29 +106,9 @@ " 83.3\n", " \n", " \n", - " 10\n", - " 15.0\n", - " 79.6\n", - " \n", - " \n", - " 11\n", - " 17.2\n", - " 82.6\n", - " \n", - " \n", - " 12\n", - " 16.0\n", - " 80.6\n", - " \n", - " \n", - " 13\n", - " 17.0\n", - " 83.5\n", - " \n", - " \n", - " 14\n", - " 14.4\n", - " 76.3\n", + " 8\n", + " 15.4\n", + " 69.4\n", " \n", " \n", "\n", @@ -154,30 +116,20 @@ ], "text/plain": [ " Chirps/Second Ground Temperature\n", - "0 20.0 88.6\n", - "1 16.0 71.6\n", - "2 19.8 93.3\n", - "3 18.4 84.3\n", + "14 14.4 76.3\n", "4 17.1 80.6\n", - "5 15.5 75.2\n", - "6 14.7 69.7\n", - "7 15.7 71.6\n", - "8 15.4 69.4\n", - "9 16.3 83.3\n", - "10 15.0 79.6\n", - "11 17.2 82.6\n", - "12 16.0 80.6\n", "13 17.0 83.5\n", - "14 14.4 76.3" + "9 16.3 83.3\n", + "8 15.4 69.4" ] }, - "execution_count": 28, + "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df" + "test" ] }, { @@ -196,21 +148,35 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 96, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "chirps = df[['Chirps/Second']]\n", - "g_temp = df['Ground Temperature']\n", + "chirps = train[['Chirps/Second']]\n", + "g_temp = train['Ground Temperature']\n", "chirpss = df['Chirps/Second']\n", "g_temps = df[['Ground Temperature']]" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 102, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "chirps_t = test[['Chirps/Second']]\n", + "g_temp_t = test['Ground Temperature']\n", + "chirpss_t = test['Chirps/Second']\n", + "g_temps_t = test[['Ground Temperature']]" + ] + }, + { + "cell_type": "code", + "execution_count": 97, "metadata": { "collapsed": false }, @@ -221,7 +187,7 @@ "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" ] }, - "execution_count": 14, + "execution_count": 97, "metadata": {}, "output_type": "execute_result" } @@ -233,7 +199,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 98, "metadata": { "collapsed": false }, @@ -241,18 +207,18 @@ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 34, + "execution_count": 98, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\nYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -266,7 +232,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 100, "metadata": { "collapsed": false }, @@ -275,12 +241,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "Percent of the Variance explained: 69.23%\n" + "Percent of the Variance explained: 32.51%\n" ] } ], "source": [ - "print('Percent of the Variance explained: {}%'.format(round(regr.score(chirps, g_temp)*100, 2)))" + "print('Percent of the Variance explained: {}%'.format(round(regr.score(chirps_t, g_temp_t)*100, 2)))" ] }, { @@ -307,7 +273,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 103, "metadata": { "collapsed": false }, @@ -318,7 +284,7 @@ "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" ] }, - "execution_count": 25, + "execution_count": 103, "metadata": {}, "output_type": "execute_result" } @@ -330,7 +296,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 104, "metadata": { "collapsed": false }, @@ -338,10 +304,10 @@ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 33, + "execution_count": 104, "metadata": {}, "output_type": "execute_result" }, @@ -349,7 +315,7 @@ "data": { "image/png": "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\nAw4EKna41pjUAAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -363,21 +329,22 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 105, "metadata": { - "collapsed": false + "collapsed": false, + "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Percent of the Variance explained: 69.23%\n" + "Percent of the Variance explained: 13.42%\n" ] } ], "source": [ - "print('Percent of the Variance explained: {}%'.format(round(regrs.score(g_temps, chirpss)*100, 2)))" + "print('Percent of the Variance explained: {}%'.format(round(regrs.score(g_temps_t, chirpss_t)*100, 2)))" ] }, { @@ -427,25 +394,28 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 106, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "dfb = pd.read_fwf(\"brain_body.txt\")" + "dfb = pd.read_fwf(\"brain_body.txt\")\n", + "trainer, tester = tts(dfb, test_size=.33)" ] }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 108, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "brain = dfb[['Brain']]\n", - "body = dfb['Body']" + "brain = trainer[['Brain']]\n", + "body = trainer['Body']\n", + "brain_t = tester[['Brain']]\n", + "body_t = tester['Body']" ] }, { @@ -473,7 +443,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 109, "metadata": { "collapsed": false }, @@ -481,18 +451,18 @@ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 56, + "execution_count": 109, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\naZiZWd3+Pw9DM2LdyWRxAAAAAElFTkSuQmCC\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -513,7 +483,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 110, "metadata": { "collapsed": false }, @@ -522,12 +492,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "Percent of the Variance explained: 87.27%\n" + "Percent of the Variance explained: 97.4%\n" ] } ], "source": [ - "print('Percent of the Variance explained: {}%'.format(round(regrb.score(brain, body)*100, 2)))" + "print('Percent of the Variance explained: {}%'.format(round(regrb.score(brain_t, body_t)*100, 2)))" ] }, { @@ -575,98 +545,18 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 111, "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", - "
SexRankYearDegreeYSdegSalary
0032513536350
1031312235350
2031012328200
313712726775
4031903033696
\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\n", - "2 0 3 10 1 23 28200\n", - "3 1 3 7 1 27 26775\n", - "4 0 3 19 0 30 33696" - ] - }, - "execution_count": 59, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "dfs.head()" + "trains, tests = tts(dfs, test_size=.33)" ] }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 115, "metadata": { "collapsed": false }, @@ -675,33 +565,35 @@ "name": "stdout", "output_type": "stream", "text": [ - "Percent of the Variance explained: 6.39% Sex to Salary\n", - "Percent of the Variance explained: 75.25% Rank to Salary\n", - "Percent of the Variance explained: 49.09% Year to Salary\n", - "Percent of the Variance explained: 0.49% Degree to Salary\n", - "Percent of the Variance explained: 45.54% YSdeg to Salary\n" + "Percent of the Variance explained: 12.51% Sex to Salary\n", + "Percent of the Variance explained: 68.43% Rank to Salary\n", + "Percent of the Variance explained: 35.57% Year to Salary\n", + "Percent of the Variance explained: -0.75% Degree to Salary\n", + "Percent of the Variance explained: 52.31% YSdeg to Salary\n" ] } ], "source": [ - "def linear_explanation(dependent, independent, data):\n", - " x = data[[dependent]]\n", - " y = data[independent]\n", + "def linear_explanation(independent, dependent, train, test):\n", + " x = train[[independent]]\n", + " y = train[dependent]\n", + " xx = test[[independent]]\n", + " yy = test[dependent]\n", " regres = linear_model.LinearRegression()\n", " regres.fit(x,y)\n", - " return 'Percent of the Variance explained: {}%'.format(round(regres.score(x,y) * 100, 2))\n", + " return 'Percent of the Variance explained: {}%'.format(round(regres.score(xx,yy) * 100, 2))\n", "\n", - "linear('Sex','Salary', dfs)\n", + "linear_explanation('Sex','Salary', trains, tests)\n", "\n", "for i in dfs.columns[:5]:\n", - " print(linear_explanation(i, dfs.columns[5], dfs) + ' %s to Salary' % (i))" + " print(linear_explanation(i, dfs.columns[5], trains, tests) + ' %s to Salary' % (i))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Rank is clearly the victories feature here..." + "Rank is clearly the victorious feature here..." ] }, {