{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Adult census data from 1996\n", "======\n", "\n", "In this notebook we will have a look at the [census income data from 1996](http://archive.ics.uci.edu/ml/datasets/Census+Income). The dataset can be found is part of the [UC Irvines ML repository](http://archive.ics.uci.edu/ml/). Specifically the data can be found at http://archive.ics.uci.edu/ml/machine-learning-databases/adult/." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Python imports\n", "------" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "%matplotlib inline\n", "matplotlib.style.use('ggplot')\n", "matplotlib.rc_params_from_file(\"../styles/matplotlibrc\" ).update()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Data cleaning importing an munging\n", "------\n", "\n", "The data is a set of csv files that have been split into a training set and test set already. To support easy read in to a pandas DF we preprocess the files by adding a header that we get from the datasets metadata and adding an index column" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import csv\n", "\n", "def indexAndAnnotateDataSet(filename):\n", " outname = filename.replace('.csv', '_clean.csv')\n", " with open(outname, 'wb') as csvfile:\n", " f = open(filename,'r')\n", " filewriter = csv.writer(csvfile, delimiter=',')\n", " columns = ['', 'age', 'workclass', 'fnlwgt', 'education', 'education-num', 'marital-status', 'occupation', 'relationship', 'race', 'sex', 'capital-gain', 'capital-loss', 'hours-per-week', 'native-country', 'target']\n", " filewriter.writerow(columns)\n", " idx = 0\n", " for line in f:\n", " lst = []\n", " lst.append(str(idx))\n", " for item in line.strip('.').split(','):\n", " lst.append(item.strip().strip('.'))\n", "\n", " filewriter = csv.writer(csvfile, delimiter=',')\n", " filewriter.writerow(lst)\n", " idx +=1\n", " f.close()\n", " return outname" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since the datasets are fairly small we download them here" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import os\n", "import urllib\n", "\n", "\n", "url_train_dataset = 'http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data'\n", "urllib.urlretrieve(url_train_dataset, 'adult.csv')\n", "\n", "url_test_dataset = 'http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data'\n", "urllib.urlretrieve(url_test_dataset, 'adult_test.csv')\n", "\n", "clean_DS_1 = indexAndAnnotateDataSet(os.getcwd() +'/adult.csv')\n", "clean_DS_2 = indexAndAnnotateDataSet(os.getcwd() +'/adult_test.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will use scikit-learn's built-in cross-validation methodes. Hence, we join the training and test data into a larger data frame to increase the size of the dataset. Moreover, we will drop rows that contain `na` feature and the column called 'fnlwgt' as this is a control value introduced by the original authors of the dataset.\n", "\n", "Inhaling the csv files and appending the data frames we get:" ] }, { "cell_type": "code", "execution_count": 75, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducationeducation-nummarital-statusoccupationrelationshipracesexcapital-gaincapital-losshours-per-weeknative-countrytarget
039State-govBachelors13Never-marriedAdm-clericalNot-in-familyWhiteMale2174040United-States<=50K
150Self-emp-not-incBachelors13Married-civ-spouseExec-managerialHusbandWhiteMale0013United-States<=50K
238PrivateHS-grad9DivorcedHandlers-cleanersNot-in-familyWhiteMale0040United-States<=50K
353Private11th7Married-civ-spouseHandlers-cleanersHusbandBlackMale0040United-States<=50K
428PrivateBachelors13Married-civ-spouseProf-specialtyWifeBlackFemale0040Cuba<=50K
537PrivateMasters14Married-civ-spouseExec-managerialWifeWhiteFemale0040United-States<=50K
649Private9th5Married-spouse-absentOther-serviceNot-in-familyBlackFemale0016Jamaica<=50K
752Self-emp-not-incHS-grad9Married-civ-spouseExec-managerialHusbandWhiteMale0045United-States>50K
831PrivateMasters14Never-marriedProf-specialtyNot-in-familyWhiteFemale14084050United-States>50K
942PrivateBachelors13Married-civ-spouseExec-managerialHusbandWhiteMale5178040United-States>50K
1037PrivateSome-college10Married-civ-spouseExec-managerialHusbandBlackMale0080United-States>50K
1130State-govBachelors13Married-civ-spouseProf-specialtyHusbandAsian-Pac-IslanderMale0040India>50K
1223PrivateBachelors13Never-marriedAdm-clericalOwn-childWhiteFemale0030United-States<=50K
1332PrivateAssoc-acdm12Never-marriedSalesNot-in-familyBlackMale0050United-States<=50K
1440PrivateAssoc-voc11Married-civ-spouseCraft-repairHusbandAsian-Pac-IslanderMale0040?>50K
1534Private7th-8th4Married-civ-spouseTransport-movingHusbandAmer-Indian-EskimoMale0045Mexico<=50K
1625Self-emp-not-incHS-grad9Never-marriedFarming-fishingOwn-childWhiteMale0035United-States<=50K
1732PrivateHS-grad9Never-marriedMachine-op-inspctUnmarriedWhiteMale0040United-States<=50K
1838Private11th7Married-civ-spouseSalesHusbandWhiteMale0050United-States<=50K
1943Self-emp-not-incMasters14DivorcedExec-managerialUnmarriedWhiteFemale0045United-States>50K
2040PrivateDoctorate16Married-civ-spouseProf-specialtyHusbandWhiteMale0060United-States>50K
2154PrivateHS-grad9SeparatedOther-serviceUnmarriedBlackFemale0020United-States<=50K
2235Federal-gov9th5Married-civ-spouseFarming-fishingHusbandBlackMale0040United-States<=50K
2343Private11th7Married-civ-spouseTransport-movingHusbandWhiteMale0204240United-States<=50K
2459PrivateHS-grad9DivorcedTech-supportUnmarriedWhiteFemale0040United-States<=50K
2556Local-govBachelors13Married-civ-spouseTech-supportHusbandWhiteMale0040United-States>50K
2619PrivateHS-grad9Never-marriedCraft-repairOwn-childWhiteMale0040United-States<=50K
2754?Some-college10Married-civ-spouse?HusbandAsian-Pac-IslanderMale0060South>50K
2839PrivateHS-grad9DivorcedExec-managerialNot-in-familyWhiteMale0080United-States<=50K
2949PrivateHS-grad9Married-civ-spouseCraft-repairHusbandWhiteMale0040United-States<=50K
.............................................
3253130?Bachelors13Never-married?Not-in-familyAsian-Pac-IslanderFemale0099United-States<=50K
3253234PrivateDoctorate16Married-civ-spouseProf-specialtyHusbandWhiteMale0060United-States>50K
3253354PrivateBachelors13Married-civ-spouseExec-managerialHusbandAsian-Pac-IslanderMale0050Japan>50K
3253437PrivateSome-college10DivorcedAdm-clericalUnmarriedWhiteFemale0039United-States<=50K
3253522Private12th8Never-marriedProtective-servOwn-childBlackMale0035United-States<=50K
3253634PrivateBachelors13Never-marriedExec-managerialNot-in-familyWhiteFemale0055United-States>50K
3253730PrivateHS-grad9Never-marriedCraft-repairNot-in-familyBlackMale0046United-States<=50K
3253838PrivateBachelors13DivorcedProf-specialtyUnmarriedBlackFemale15020045United-States>50K
3253971?Doctorate16Married-civ-spouse?HusbandWhiteMale0010United-States>50K
3254045State-govHS-grad9SeparatedAdm-clericalOwn-childWhiteFemale0040United-States<=50K
3254141?HS-grad9Separated?Not-in-familyBlackFemale0032United-States<=50K
3254272?HS-grad9Married-civ-spouse?HusbandWhiteMale0025United-States<=50K
3254345Local-govAssoc-acdm12DivorcedProf-specialtyUnmarriedWhiteFemale0048United-States<=50K
3254431PrivateMasters14DivorcedOther-serviceNot-in-familyOtherFemale0030United-States<=50K
3254539Local-govAssoc-acdm12Married-civ-spouseAdm-clericalWifeWhiteFemale0020United-States>50K
3254637PrivateAssoc-acdm12DivorcedTech-supportNot-in-familyWhiteFemale0040United-States<=50K
3254743PrivateHS-grad9Married-civ-spouseMachine-op-inspctHusbandWhiteMale0040Mexico<=50K
3254865Self-emp-not-incProf-school15Never-marriedProf-specialtyNot-in-familyWhiteMale1086060United-States<=50K
3254943State-govSome-college10DivorcedAdm-clericalOther-relativeWhiteFemale0040United-States<=50K
3255043Self-emp-not-incSome-college10Married-civ-spouseCraft-repairHusbandWhiteMale0050United-States<=50K
3255132Private10th6Married-civ-spouseHandlers-cleanersHusbandAmer-Indian-EskimoMale0040United-States<=50K
3255243PrivateAssoc-voc11Married-civ-spouseSalesHusbandWhiteMale0045United-States<=50K
3255332PrivateMasters14Never-marriedTech-supportNot-in-familyAsian-Pac-IslanderMale0011Taiwan<=50K
3255453PrivateMasters14Married-civ-spouseExec-managerialHusbandWhiteMale0040United-States>50K
3255522PrivateSome-college10Never-marriedProtective-servNot-in-familyWhiteMale0040United-States<=50K
3255627PrivateAssoc-acdm12Married-civ-spouseTech-supportWifeWhiteFemale0038United-States<=50K
3255740PrivateHS-grad9Married-civ-spouseMachine-op-inspctHusbandWhiteMale0040United-States>50K
3255858PrivateHS-grad9WidowedAdm-clericalUnmarriedWhiteFemale0040United-States<=50K
3255922PrivateHS-grad9Never-marriedAdm-clericalOwn-childWhiteMale0020United-States<=50K
3256052Self-emp-incHS-grad9Married-civ-spouseExec-managerialWifeWhiteFemale15024040United-States>50K
\n", "

32561 rows × 14 columns

\n", "
" ], "text/plain": [ " age workclass education education-num \\\n", "0 39 State-gov Bachelors 13 \n", "1 50 Self-emp-not-inc Bachelors 13 \n", "2 38 Private HS-grad 9 \n", "3 53 Private 11th 7 \n", "4 28 Private Bachelors 13 \n", "5 37 Private Masters 14 \n", "6 49 Private 9th 5 \n", "7 52 Self-emp-not-inc HS-grad 9 \n", "8 31 Private Masters 14 \n", "9 42 Private Bachelors 13 \n", "10 37 Private Some-college 10 \n", "11 30 State-gov Bachelors 13 \n", "12 23 Private Bachelors 13 \n", "13 32 Private Assoc-acdm 12 \n", "14 40 Private Assoc-voc 11 \n", "15 34 Private 7th-8th 4 \n", "16 25 Self-emp-not-inc HS-grad 9 \n", "17 32 Private HS-grad 9 \n", "18 38 Private 11th 7 \n", "19 43 Self-emp-not-inc Masters 14 \n", "20 40 Private Doctorate 16 \n", "21 54 Private HS-grad 9 \n", "22 35 Federal-gov 9th 5 \n", "23 43 Private 11th 7 \n", "24 59 Private HS-grad 9 \n", "25 56 Local-gov Bachelors 13 \n", "26 19 Private HS-grad 9 \n", "27 54 ? Some-college 10 \n", "28 39 Private HS-grad 9 \n", "29 49 Private HS-grad 9 \n", "... ... ... ... ... \n", "32531 30 ? Bachelors 13 \n", "32532 34 Private Doctorate 16 \n", "32533 54 Private Bachelors 13 \n", "32534 37 Private Some-college 10 \n", "32535 22 Private 12th 8 \n", "32536 34 Private Bachelors 13 \n", "32537 30 Private HS-grad 9 \n", "32538 38 Private Bachelors 13 \n", "32539 71 ? Doctorate 16 \n", "32540 45 State-gov HS-grad 9 \n", "32541 41 ? HS-grad 9 \n", "32542 72 ? HS-grad 9 \n", "32543 45 Local-gov Assoc-acdm 12 \n", "32544 31 Private Masters 14 \n", "32545 39 Local-gov Assoc-acdm 12 \n", "32546 37 Private Assoc-acdm 12 \n", "32547 43 Private HS-grad 9 \n", "32548 65 Self-emp-not-inc Prof-school 15 \n", "32549 43 State-gov Some-college 10 \n", "32550 43 Self-emp-not-inc Some-college 10 \n", "32551 32 Private 10th 6 \n", "32552 43 Private Assoc-voc 11 \n", "32553 32 Private Masters 14 \n", "32554 53 Private Masters 14 \n", "32555 22 Private Some-college 10 \n", "32556 27 Private Assoc-acdm 12 \n", "32557 40 Private HS-grad 9 \n", "32558 58 Private HS-grad 9 \n", "32559 22 Private HS-grad 9 \n", "32560 52 Self-emp-inc HS-grad 9 \n", "\n", " marital-status occupation relationship \\\n", "0 Never-married Adm-clerical Not-in-family \n", "1 Married-civ-spouse Exec-managerial Husband \n", "2 Divorced Handlers-cleaners Not-in-family \n", "3 Married-civ-spouse Handlers-cleaners Husband \n", "4 Married-civ-spouse Prof-specialty Wife \n", "5 Married-civ-spouse Exec-managerial Wife \n", "6 Married-spouse-absent Other-service Not-in-family \n", "7 Married-civ-spouse Exec-managerial Husband \n", "8 Never-married Prof-specialty Not-in-family \n", "9 Married-civ-spouse Exec-managerial Husband \n", "10 Married-civ-spouse Exec-managerial Husband \n", "11 Married-civ-spouse Prof-specialty Husband \n", "12 Never-married Adm-clerical Own-child \n", "13 Never-married Sales Not-in-family \n", "14 Married-civ-spouse Craft-repair Husband \n", "15 Married-civ-spouse Transport-moving Husband \n", "16 Never-married Farming-fishing Own-child \n", "17 Never-married Machine-op-inspct Unmarried \n", "18 Married-civ-spouse Sales Husband \n", "19 Divorced Exec-managerial Unmarried \n", "20 Married-civ-spouse Prof-specialty Husband \n", "21 Separated Other-service Unmarried \n", "22 Married-civ-spouse Farming-fishing Husband \n", "23 Married-civ-spouse Transport-moving Husband \n", "24 Divorced Tech-support Unmarried \n", "25 Married-civ-spouse Tech-support Husband \n", "26 Never-married Craft-repair Own-child \n", "27 Married-civ-spouse ? Husband \n", "28 Divorced Exec-managerial Not-in-family \n", "29 Married-civ-spouse Craft-repair Husband \n", "... ... ... ... \n", "32531 Never-married ? Not-in-family \n", "32532 Married-civ-spouse Prof-specialty Husband \n", "32533 Married-civ-spouse Exec-managerial Husband \n", "32534 Divorced Adm-clerical Unmarried \n", "32535 Never-married Protective-serv Own-child \n", "32536 Never-married Exec-managerial Not-in-family \n", "32537 Never-married Craft-repair Not-in-family \n", "32538 Divorced Prof-specialty Unmarried \n", "32539 Married-civ-spouse ? Husband \n", "32540 Separated Adm-clerical Own-child \n", "32541 Separated ? Not-in-family \n", "32542 Married-civ-spouse ? Husband \n", "32543 Divorced Prof-specialty Unmarried \n", "32544 Divorced Other-service Not-in-family \n", "32545 Married-civ-spouse Adm-clerical Wife \n", "32546 Divorced Tech-support Not-in-family \n", "32547 Married-civ-spouse Machine-op-inspct Husband \n", "32548 Never-married Prof-specialty Not-in-family \n", "32549 Divorced Adm-clerical Other-relative \n", "32550 Married-civ-spouse Craft-repair Husband \n", "32551 Married-civ-spouse Handlers-cleaners Husband \n", "32552 Married-civ-spouse Sales Husband \n", "32553 Never-married Tech-support Not-in-family \n", "32554 Married-civ-spouse Exec-managerial Husband \n", "32555 Never-married Protective-serv Not-in-family \n", "32556 Married-civ-spouse Tech-support Wife \n", "32557 Married-civ-spouse Machine-op-inspct Husband \n", "32558 Widowed Adm-clerical Unmarried \n", "32559 Never-married Adm-clerical Own-child \n", "32560 Married-civ-spouse Exec-managerial Wife \n", "\n", " race sex capital-gain capital-loss hours-per-week \\\n", "0 White Male 2174 0 40 \n", "1 White Male 0 0 13 \n", "2 White Male 0 0 40 \n", "3 Black Male 0 0 40 \n", "4 Black Female 0 0 40 \n", "5 White Female 0 0 40 \n", "6 Black Female 0 0 16 \n", "7 White Male 0 0 45 \n", "8 White Female 14084 0 50 \n", "9 White Male 5178 0 40 \n", "10 Black Male 0 0 80 \n", "11 Asian-Pac-Islander Male 0 0 40 \n", "12 White Female 0 0 30 \n", "13 Black Male 0 0 50 \n", "14 Asian-Pac-Islander Male 0 0 40 \n", "15 Amer-Indian-Eskimo Male 0 0 45 \n", "16 White Male 0 0 35 \n", "17 White Male 0 0 40 \n", "18 White Male 0 0 50 \n", "19 White Female 0 0 45 \n", "20 White Male 0 0 60 \n", "21 Black Female 0 0 20 \n", "22 Black Male 0 0 40 \n", "23 White Male 0 2042 40 \n", "24 White Female 0 0 40 \n", "25 White Male 0 0 40 \n", "26 White Male 0 0 40 \n", "27 Asian-Pac-Islander Male 0 0 60 \n", "28 White Male 0 0 80 \n", "29 White Male 0 0 40 \n", "... ... ... ... ... ... \n", "32531 Asian-Pac-Islander Female 0 0 99 \n", "32532 White Male 0 0 60 \n", "32533 Asian-Pac-Islander Male 0 0 50 \n", "32534 White Female 0 0 39 \n", "32535 Black Male 0 0 35 \n", "32536 White Female 0 0 55 \n", "32537 Black Male 0 0 46 \n", "32538 Black Female 15020 0 45 \n", "32539 White Male 0 0 10 \n", "32540 White Female 0 0 40 \n", "32541 Black Female 0 0 32 \n", "32542 White Male 0 0 25 \n", "32543 White Female 0 0 48 \n", "32544 Other Female 0 0 30 \n", "32545 White Female 0 0 20 \n", "32546 White Female 0 0 40 \n", "32547 White Male 0 0 40 \n", "32548 White Male 1086 0 60 \n", "32549 White Female 0 0 40 \n", "32550 White Male 0 0 50 \n", "32551 Amer-Indian-Eskimo Male 0 0 40 \n", "32552 White Male 0 0 45 \n", "32553 Asian-Pac-Islander Male 0 0 11 \n", "32554 White Male 0 0 40 \n", "32555 White Male 0 0 40 \n", "32556 White Female 0 0 38 \n", "32557 White Male 0 0 40 \n", "32558 White Female 0 0 40 \n", "32559 White Male 0 0 20 \n", "32560 White Female 15024 0 40 \n", "\n", " native-country target \n", "0 United-States <=50K \n", "1 United-States <=50K \n", "2 United-States <=50K \n", "3 United-States <=50K \n", "4 Cuba <=50K \n", "5 United-States <=50K \n", "6 Jamaica <=50K \n", "7 United-States >50K \n", "8 United-States >50K \n", "9 United-States >50K \n", "10 United-States >50K \n", "11 India >50K \n", "12 United-States <=50K \n", "13 United-States <=50K \n", "14 ? >50K \n", "15 Mexico <=50K \n", "16 United-States <=50K \n", "17 United-States <=50K \n", "18 United-States <=50K \n", "19 United-States >50K \n", "20 United-States >50K \n", "21 United-States <=50K \n", "22 United-States <=50K \n", "23 United-States <=50K \n", "24 United-States <=50K \n", "25 United-States >50K \n", "26 United-States <=50K \n", "27 South >50K \n", "28 United-States <=50K \n", "29 United-States <=50K \n", "... ... ... \n", "32531 United-States <=50K \n", "32532 United-States >50K \n", "32533 Japan >50K \n", "32534 United-States <=50K \n", "32535 United-States <=50K \n", "32536 United-States >50K \n", "32537 United-States <=50K \n", "32538 United-States >50K \n", "32539 United-States >50K \n", "32540 United-States <=50K \n", "32541 United-States <=50K \n", "32542 United-States <=50K \n", "32543 United-States <=50K \n", "32544 United-States <=50K \n", "32545 United-States >50K \n", "32546 United-States <=50K \n", "32547 Mexico <=50K \n", "32548 United-States <=50K \n", "32549 United-States <=50K \n", "32550 United-States <=50K \n", "32551 United-States <=50K \n", "32552 United-States <=50K \n", "32553 Taiwan <=50K \n", "32554 United-States >50K \n", "32555 United-States <=50K \n", "32556 United-States <=50K \n", "32557 United-States >50K \n", "32558 United-States <=50K \n", "32559 United-States <=50K \n", "32560 United-States >50K \n", "\n", "[32561 rows x 14 columns]" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data_df = pd.DataFrame.from_csv(clean_DS_1).dropna().drop('fnlwgt',1)\n", "raw_test_df = pd.DataFrame.from_csv(clean_DS_2).dropna().drop('fnlwgt',1)\n", "raw_data_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking at the 'education' and 'education-num' column we might suspect duplicate information. Let's check for that!" ] }, { "cell_type": "code", "execution_count": 45, "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", "
educationeducation-num
224Preschool1
1601st-4th2
565th-6th3
157th-8th4
69th5
7710th6
311th7
41512th8
2HS-grad9
10Some-college10
14Assoc-voc11
13Assoc-acdm12
0Bachelors13
5Masters14
52Prof-school15
20Doctorate16
\n", "
" ], "text/plain": [ " education education-num\n", "224 Preschool 1\n", "160 1st-4th 2\n", "56 5th-6th 3\n", "15 7th-8th 4\n", "6 9th 5\n", "77 10th 6\n", "3 11th 7\n", "415 12th 8\n", "2 HS-grad 9\n", "10 Some-college 10\n", "14 Assoc-voc 11\n", "13 Assoc-acdm 12\n", "0 Bachelors 13\n", "5 Masters 14\n", "52 Prof-school 15\n", "20 Doctorate 16" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data_df[['education', 'education-num']].drop_duplicates().sort('education-num')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As suspected the two columns are mere duplicates of each other to cast the strings into integer categoricals. In the following we will drop the 'education' column." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parsing the categoricals to integers\n", "------\n", "\n", "All scikit-learn classification algorithms expect numerical features as input. We will hence cast the categoricals to integers and keep the lists areound to resolve classes later on if necessary." ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": true }, "outputs": [], "source": [ "list_of_catList= []\n", "list_of_catList.append(raw_data_df.workclass.unique())\n", "list_of_catList.append(raw_data_df['marital-status'].unique())\n", "list_of_catList.append(raw_data_df.occupation.unique())\n", "list_of_catList.append(raw_data_df.relationship.unique())\n", "list_of_catList.append(raw_data_df.race.unique())\n", "list_of_catList.append(raw_data_df.sex.unique())\n", "list_of_catList.append(raw_data_df['native-country'].unique())\n", "\n", "def cleanFeatureDF(feature_df):\n", " df = feature_df\n", " for lst in list_of_catList:\n", " for cat in lst:\n", " df = df.replace(cat, lst.tolist().index(cat))\n", " return df\n", "\n", "def cleanTargetDF(target_df):\n", " df = target_df\n", " list_of_target = target_df.unique()\n", " for target in list_of_target:\n", " df = df.replace(target, list_of_target.tolist().index(target))\n", " return df" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "collapsed": false }, "outputs": [], "source": [ "numerical_data_df = cleanFeatureDF(raw_data_df.drop('target',1).drop('education',1))\n", "numerical_data_df['target'] = cleanTargetDF(raw_data_df.target)\n", "\n", "numerical_test_df = cleanFeatureDF(raw_test_df.drop('target',1).drop('education',1))\n", "numerical_test_df['target'] = cleanTargetDF(raw_test_df.target)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Feeding the learning algorithms\n", "------\n", "\n", "As we are dealing with a very dense dataset containing mostly categoricals we might assume that tree classifiers should do well on this problem, so we will look into training a simple tree and a random forest.\n", "\n", "But before that we need to split our data frame into training features and the target variables:" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [], "source": [ "train_feature_df = numerical_data_df.drop('target',1)\n", "train_target_df = numerical_data_df.target" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Learning a tree\n", "\n", "Let's learn a simple tree using scikit-learn's [tree classifier](http://scikit-learn.org/stable/modules/tree.html#classification)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "from sklearn import tree\n", "from sklearn.learning_curve import learning_curve\n", "from sklearn.learning_curve import validation_curve" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [], "source": [ "tree_clf = tree.DecisionTreeClassifier()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we are interested how the naive tree is doing in learning our training set. To this end we record the learning curve of our dataset" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def plotLearningCurve(classifier, feature_df, target_df, train_set_sizes):\n", " train_sizes, train_scores, test_scores = learning_curve(classifier,\n", " feature_df,\n", " target_df,\n", " train_sizes=train_set_sizes)\n", " train_scores_mean = np.mean(train_scores, axis=1)\n", " train_scores_std = np.std(train_scores, axis=1)\n", " test_scores_mean = np.mean(test_scores, axis=1)\n", " test_scores_std = np.std(test_scores, axis=1)\n", "\n", " plt.fill_between(train_sizes, train_scores_mean - train_scores_std,\n", " train_scores_mean + train_scores_std, alpha=0.1,\n", " color=\"r\")\n", " plt.fill_between(train_sizes, test_scores_mean - test_scores_std,\n", " test_scores_mean + test_scores_std, alpha=0.1, color=\"g\")\n", " plt.plot(train_sizes, train_scores_mean, 'o-', color=\"r\",\n", " label=\"Training score\")\n", " plt.plot(train_sizes, test_scores_mean, 'o-', color=\"g\",\n", " label=\"Cross-validation score\")\n", "\n", " plt.legend(loc=\"best\")" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "CgQREYlRIIiICKBAEBGRGAWCiIgA4GrpFRCRE5MzahSelSsBqO3fn32LFjVpec8++ywlJSWUlZUR\n", "DAbJz88nIyODRx555KjzvvTSS1x88cV07969welz587llltuITc3t0nrKCeXYVmW1dIrAbBz586W\n", "XoVWoaCgQLWIUS0SDq1FzqhRJK1YUe89Eb+fsuJiQj17Numzli5dytdff82dd97ZpOWcLPpeJBQU\n", "FDTr8nSGINIKpT/2GMlvvJF4wekkNxJJPN2+/bB5nKWltBs2jEh+foPLrBk+nAOTJh33usyYMYPK\n", "ykoOHDjAtGnT+O1vf8s333zDvn376NevHz/84Q+ZMWMGgwYNoqysjA8++IDa2lp27tzJqFGj+Na3\n", "vsWECRO49957+cc//kFpaSnl5eWUlpYyfvx4LrvsMt5//30WLFhAamoqqampnH322YwePdpeh/Xr\n", "1/Pss8/idrtJT0/noYcewuFw8MQTT7Bnzx5CoRD33HMP5557Lk888QS7du3CNE1uueUWBg4cyIQJ\n", "E8jKyuLgwYNMnz6d2bNns2PHDizL4oc//CG9evU67rq0RQoEEWmUYRhcfPHF3HzzzZSWlnLeeecx\n", "bNgwamtrufXWW/nhD3+IYRj2+wOBADNnzmTHjh089NBDfOtb37KnG4aBx+NhxowZrFmzhj/96U/0\n", "7t2bZ555hrlz55KZmcm0adMOW4f33nuPQYMGcdNNN7FhwwYqKyt59913yc/P55e//CU7duzg/fff\n", "Z+PGjWRlZfHwww9TXV3NXXfdxSWXXIJhGFxzzTX079+f1157jczMTCZOnEhFRQUTJkxgwYIFp6ye\n", "rZkCQaQVOjBpUr2j+YKCAvacoiajhnTq1AmAtLQ0Nm7cyNq1a/H5fIRCocPee8455wDQvn17amtr\n", "jzq9vLwcn89HZmYmAD179mT//v315rnjjjt44YUXuO++++jYsSOjR49m+/bt9OnTB4DCwkJuvvlm\n", "fv3rX9O7d28AvF4vnTt3tpuX4tuwefNmPvnkEzZs2ACAaZocOHCA9PT0phWpDVAvI5HT0L5Fi4j4\n", "/fbziN/P7jVrTkoY1LV06VJSU1N5+OGHufXWW6mpqTnsPXXPFo5FVlYWgUCAiooKAD777LPD3vPW\n", "W29x7bXXMmvWLLp168aSJUvo1KkTGzduBKLXIKdPn06nTp1Yt24dED1T2bJlC/mxJrT4enXu3JlB\n", "gwYxe/Zspk6dytVXX01aWtpxrXNbpTMEkdNUWXEx2WPG2I9PpvjOtHfv3kydOpWSkhLy8vIoKipi\n", "7969R53vSK8ZhoFhGNxzzz08+OCDpKSkYJomHTp0qDdP9+7defLJJ0lOTsbn8zF+/Hiys7OZOXMm\n", "EyZMwDRNfvazn3HWWWfx5JNPcvfddxMMBhk9erR95hF3/fXX8+STTzJhwgQCgQA33njjcYdYW9Vo\n", "LyPTNJk/fz7btm3D7XYzduxY/HWOSlauXMmSJUtwu91cccUVDB8+/KjzHIl6DUSpB0WCapHQ1mvx\n", "4osvcsstt+B2u5k+fTqXXXYZQ4YMafC9bb0Wx+OU9jJavXo14XCYqVOnsmnTJhYuXMjEiRMBqKys\n", "5KWXXmLmzJn4fD4effRRzj//fPbs2XPEeUREGuL1ehk/fjxJSUnk5+czcODAll6lM1KjgbBx40a7\n", "O1a3bt3YvHmzPW337t107tyZlJQUe/qGDRvYu3fvEecREWnIiBEjGDFiREuvxhmv0YvKgUAAn8+X\n", "eLPDgWmaAPj9frZv305FRQXBYJBPPvmEmpqaRucREZHWq9EzBJ/PR3V1tf3csiwcjmiGpKamMnr0\n", "aJ566ilSU1Pp2rUr6enpHDx48IjzNKa528JOZ6pFgmqRoFokqBYnR6OBUFRUxJo1a+jbty8lJSV2\n", "P16ASCTCl19+yZQpUwiFQjzyyCPceOONpKWlHXGexugiUZQumCWoFgmqRYJqkXBKLyr36dOHdevW\n", "MSl2g8y4ceNYuXIlNTU1DB48GIfDwQMPPIDD4WDIkCHk5eWRm5t72DwiItL6aXC7VkZHPwmqRUJD\n", "tRj1t1Gs3BEd7bR/YX8WXde00U4BtmzZwu9+9zuCwSDV1dVcfvnljInd69Aa3HTTTbz//vs8/PDD\n", "h42eWlFRwSOPPMLs2bOPOP/ixYsZMWIEq1atYs+ePQwfPvxUrPZJ09xnCLpTWeQ0NOpvo1ixYwVW\n", "7L8VO1bQ+8XerN+7/oSXefDgQaZOncrPfvYzZs2axdy5c9m8eTOvv/56M6558xg/fvwJDaX9wgsv\n", "ANHWj9M9DE4G3aks0go99uFjvLE5Mdqp0+kkUme00+0HDx/ttLSqlGGvDiM/peHRToefNZxJlx95\n", "tNOVK1dyySWXUFhYCER7CP7Hf/wHbrebtWvX8tvf/haPx8Pw4cPJysriD3/4Ax6Ph/T0dCZOnEg4\n", "HGbKlClYlkVtbS2/+MUv6NSpE48++ihVVVUEg0F+9KMfcemll9qfGQ6HGTNmDM899xxJSUn893//\n", "N06nk969ezNv3jxM06SiooJf/OIXnH/++fZ88dFTU1NTmTZtGqZpkpeXZ09/9913ee211wiHwxiG\n", "wZQpU1iyZAmVlZX853/+J927d7eH+P7Tn/7E8uXLcTqdXHjhhdx1110UFxc3OCprXG1tbYPb9de/\n", "/pUlS5ZgmiZXXnklY8aM4a233uKVV17B7XZTWFjI/fffz1tvvcWbb76JZVmMGTOGAwcO8Je//AWH\n", "w0HPnj1bbOhxBYKIAFBWVnbYqAJer9d+HAqFePbZZ7Esi+9+97vMmTOHnJwcXn75ZV544QV69epl\n", "D0391VdfUVNTw86dO6moqGDmzJns37+f7YcM2+1yubjqqqt49913GTp0KMuWLeOpp57io48+4qc/\n", "/Sldu3Zl2bJlvPnmm/UCIT7UxAsvvMCgQYMYNmwYH330EX/84x8B2L59O48//jhJSUnMmjWL1atX\n", "c8cdd7B48WImTJjA0qVLgehAd++88w7PPPMMTqeTX/7yl7z//vsNjspaNxB27Nhx2Hbt37+fRYsW\n", "8dxzz+HxePj973/P7t27ef755/n973+P1+tl7ty5vP7663i9XtLS0pg6dSoHDhzg7rvv5ne/+x0e\n", "j4fp06ezZs0ae5C+U0mBINIKTbp8Ur2j+UOvIcSbjOryp/gpHlpMz3YnNsBdXl4emzZtqvfarl27\n", "+OabbwDo2LEjEG2r9/l85OTkAHDhhRfy3HPPMXbsWLZv387DDz+My+Xie9/7Hl26dOH666/nscce\n", "IxwOM3LkSNavX88f/vAHAG677TaGDRvG7Nmz6dSpEx07diQtLY127dqxcOFCkpKSCAQC9g2wh/r6\n", "668ZNmyYvR7xQMjMzOTxxx/H6/Xy9ddf1wuTQ+c/77zzcDqd9jK++uoroPFRW7t27XrYdu3atYuu\n", "Xbvi8XgAuPPOO/n888/p0qWLHawXXXQRq1evpkePHnY94+HywAMPANH7v3bu3NkigaBrCCKnoUXX\n", "LcKfkjia96f4WfOdNSccBgB9+/Zl1apVdvCEw2HmzZtn7yDj9xNlZGQQCAQoKysD4F//+hcdO3Zk\n", "7dq15OTk8Ktf/Yo77riD+fPns2XLFgKBAI8//jgPPvggc+bMoWfPnsyePZvZs2dzxRVXUFhYiGVZ\n", "LFq0iOuvvx6AOXPm8IMf/IAHH3yQs846iyP1fenSpQvr10evm8RHSa2qqqK4uJjJkydz//334/F4\n", "7PkPXU6nTp3YsGEDkUgEy7JYt26dvaNuTEPbVVhYyLZt2+whwR999FGysrLYunWrPSrs2rVr7eXH\n", "65mfn0/79u158sknmT17NjfeeOMRA+xk0xmCyGmqeGgxY/5njP24qXw+Hw8++CBPPvkklmURCAS4\n", "8sorueGGG1i7dq39PsMwuO+++/jlL3+JYRikp6fbR7ePPfYYr7/+OpFIhNGjR1NYWMjzzz/PO++8\n", "g2VZ/OAHP2jws6+77jqKi4vtYW+GDBnCI488Qm5uLueeey779u2zP7vuenzve99j+vTpvPPOO3Tq\n", "1AnDMEhJSeGCCy5g/PjxZGVl0bFjR3v+Ll26MH36dC655BIgeqR/9dVX8/Of/xzLsujZsyf9+/fn\n", "yy+/POyz6mpouzIyMhg1ahQTJkzAMAyuvPJK8vLyGDNmDL/4xS9wOBwUFhZy11138Y9//MNeVmZm\n", "Jrfccgv33HMPpmmSn5/PNddcc8J/x6ZQt9NWRl0tE1SLBNUiQbVIULdTERE5KRQIIiICKBBERCRG\n", "gSAiIoACQUREYhQIIiICKBBERCRGgSAiIoACQUREYhQIIiICKBBERCRGgSAiIoACQUREYhQIIiIC\n", "KBBERCRGgSAiIoACQUREYhQIIiICKBBERCRGgSAiIoACQUREYhQIIiICKBBERCRGgSAiIoACQURE\n", "YhQIIiICKBBERCRGgSAiIoACQUREYhQIIiICKBBERCRGgSAiIoACQUREYhQIIiICKBBERCRGgSAi\n", "IoACQUREYhQIIiICKBBERCRGgSAiIoACQUREYlyNTTRNk/nz57Nt2zbcbjdjx47F7/fb01etWsXi\n", "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\n", "XC4cDgcZGRlUVVU1Ok9jmvviSGOfs+vCXUd/4ylU+u+lR39TC9h1f8vX6VR9L04HqkWCanFyNNrL\n", "yLIsu8cQwLhx49i8eTM1NTUMHjyYN954g/feew+3243f72fs2LE4HI7D5tEfT0Sk9Ws19yGIiEjL\n", "aj2N+yIi0qIUCCIiAigQREQkRoEgIiJAC///EE503KPT0QMPPGDfsJebm8uIESOYO3cuDoeDjh07\n", "8qMf/QjDMHj77bdZtmwZDoeDm266iUsuuYTa2lqefvppKisrSU5OZvz48aSnp7fwFh2/TZs28eKL\n", "LzJ58mRKS0ubvP0lJSU8//zzOBwOLrroIm6++eaW3sRjVrcWW7Zs4YknniA/Px+AoUOH0rdv3zZf\n", "i3A4zLPPPsvevXsJhUKMHDmSDh06nJHfi4ZqkZOTw4wZM+xemqfke2G1oA8++MCaO3euZVmWVVJS\n", "Yj3xxBMtuTonTTAYtCZOnFjvtRkzZliffvqpZVmW9bvf/c768MMPrf3791v33XefFQqFrKqqKvvx\n", "kiVLrD//+c+WZVnWe++9Zy1YsOBUb0KTvfrqq9Z9991nPfzww5ZlNc/233///dbu3bsty7Ks6dOn\n", "W1u2bDnl23UiDq3F22+/bS1ZsqTee86EWixfvtwqLi62LMuyKisrrZ/85CfWE088cUZ+LxqqxbJl\n", "y07596JFm4xa87hHzWnr1q0Eg0GmTZvGlClTKCkpYcuWLZx33nkAXHzxxaxfv54vvviCoqIiXC4X\n", "Pp8Pv9/P1q1b+fzzz+069erVi/Xr1zf2ca2S3+/n/vvvt+/2bur2V1dXEw6Hyc3NBeCiiy5i3bp1\n", "LbNxx+nQWmzevJl//vOfTJ48md/85jfU1NScEbW44ooruO2224DoPU8ul+uM/V40VIuW+F60aJNR\n", "ax73qDklJSVxww03MGjQIHbt2sX06dPrTU9OTiYQCFBdXV2vHnVf93q99V473Vx++eX2//0MEsOA\n", "wIlt/6Hv9Xq97N69+xRsSdMdWotu3boxePBgunbtyiuvvMKf//xnunTp0uZrkZwcHb23urqaWbNm\n", "cdttt/Ff//Vf9aafKd+LQ2sxatQoQqEQ11xzzSn9XrTonre1j3vUXAoKCujfvz8A+fn5pKamUlFR\n", "YU+vrq4mJSUFr9dbrx41NTWHvV5TU1Pvj3y6qvt3PpHtP/S98WWcjvr06UPXrl3tx1999dUZU4u9\n", "e/cyZcoUBgwYQP/+/c/o70XdWvTr169FvhctuvctKiri448/BjiucY9ON8uXL2fhwoUAlJWVUVNT\n", "w4UXXshnn30GwMcff0yPHj0455xz+PzzzwmFQgQCAXbs2EHHjh3p3r27Xaf4e093Xbp0adL2e71e\n", "XC4Xu3fvxrIs/vWvf522dZk2bRpffPEFAOvXr+ess846I2pRXl7OtGnT+O53v8vVV18NnLnfi4Zq\n", "0RLfixYdusJqYKyktjjuUSQSYd68eezduxeA7373u6SlpfHb3/6WcDhMhw4dGDt2LIZhsGzZMt5+\n", "+20sy2LkyJH06dOH2tpannnmGcrLy3G73dx9991kZGS08FYdvz179vD0008zdepUdu3a1eTt37Rp\n", "E8XFxZimyUUXXcSoUaNaehOPWd1afPXVVzz33HO4XC4yMzMZO3YsycnJbb4WCxYs4IMPPqj3b37M\n", "mDEsWLDgjPteNFSL73znOyxcuPCUfi80lpGIiAC6MU1ERGIUCCIiAigQREQkRoEgIiKAAkFERGIU\n", "CCIiAigQREQkRoEgIiIA/P9k08NXM64l3AAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "train_sizes=np.linspace(.1, 1.0, 15)\n", "plotLearningCurve(tree_clf, train_feature_df, train_target_df, train_sizes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our learning curve is pretty bad. The scores almost don't change at all with varying the data set size. Moreover the curve shows a large gap which hints to a large bias or overfitting of the data set. To improve on the learning we need to investigate the hyper-parameter space for the tree, which in this case is the tree depth. scikit-learn's tree does not impose any maximal tree depth, so let's look at the validation curves using 'accuracy' as a score in the dpeth hyper-parameter space" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def plotValidationAccuracyCurve(classifier, feature_df, target_df, param_name, param_range):\n", " train_scores, test_scores = validation_curve(classifier,\n", " feature_df,\n", " target_df,\n", " param_name=param_name,\n", " param_range=param_range,\n", " cv=10,\n", " scoring=\"accuracy\",\n", " n_jobs=1)\n", " train_scores_mean = np.mean(train_scores, axis=1)\n", " train_scores_std = np.std(train_scores, axis=1)\n", " test_scores_mean = np.mean(test_scores, axis=1)\n", " test_scores_std = np.std(test_scores, axis=1)\n", "\n", " plt.plot(param_range, train_scores_mean, 'o-', label=\"Training score\", color=\"r\")\n", " plt.fill_between(param_range, train_scores_mean - train_scores_std,\n", " train_scores_mean + train_scores_std, alpha=0.2, color=\"r\")\n", " plt.plot(param_range, test_scores_mean, 'o-', label=\"Cross-validation score\",\n", " color=\"g\")\n", " plt.fill_between(param_range, test_scores_mean - test_scores_std,\n", " test_scores_mean + test_scores_std, alpha=0.2, color=\"g\")\n", " plt.legend(loc=\"best\")" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAXsAAAECCAYAAAAfE3cCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", "AAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8FdX9//HXzNw9NzuQBQg7QRQBkU1oWQT0K9FWW5Va\n", "/UprlS+1VtSKaMWKIlrqWuvSihUoLj/r0opVWmuFiooggiBiEggQSEL27e53lt8fQwZCFrbsOU8f\n", "eYSbOzP53Ji859wzZ86RDMMwEARBELo0ub0LEARBEFqfCHtBEIRuQIS9IAhCNyDCXhAEoRsQYS8I\n", "gtANiLAXBEHoBmzNPanrOitWrCA/Px+73c68efNITU21nt+4cSNr167FbrczYcIEsrKyUFWV5557\n", "jrKyMqLRKFdccQXnn39+q78QQRAEoWnNhv2WLVtQVZWlS5eSm5vL6tWrWbhwIQC1tbW8+uqrLF++\n", "HI/Hw5IlSzj77LM5cOAAcXFx3HLLLfh8PhYuXCjCXhAEoZ01G/bZ2dmMGjUKgCFDhpCXl2c9V1xc\n", "TL9+/YiJibGe3717N9OnT2fChAkAGIaBoiitVbsgCIJwkprtsw8EAng8nqMbyzK6rgOQmprKoUOH\n", "qK6uJhwO8/XXXxMOh3G5XLhcLoLBII8//jhz5sxp3VcgCIIgnFCzLXuPx0MwGLQeG4aBLJvnB6/X\n", "y/XXX89jjz2G1+tlwIABxMbGAlBWVsZjjz3GRRddxKRJk1qxfEEQBOFkNNuyz8zMZNu2bQDk5OSQ\n", "kZFhPadpGnv37uWBBx7gtttu48CBA4wYMYKqqioeeughfvzjHzN16tRWLV4QBEE4OVJzE6EZhmGN\n", "xgGYP38+eXl5hEIhZsyYwRtvvMGWLVuQZZmZM2cyffp0XnrpJTZt2kR6erp1nLvvvhuHw9FsIYWF\n", "hS30ktpeenq6qL+ddObaQdTf3rpC/Ser2bBvS539By7qbx+duXYQ9be3rlD/yRI3VQmCIHQDIuwF\n", "QRC6ARH2giAI3YAIe0EQhG5AhL0gCEI3IMJeEAShG2j2DtrOJHnOHBwbNwIQmTyZ8tdeO6PjPffc\n", "c+Tk5FBRUUE4HCYtLY34+Hjuv//+E+776quvMnr0aIYNG9bo88888wxXXnklvXr1OqMaBUEQTlaX\n", "GGefPGcOzo8/rvc1LTWVipUriY4YcUZ1rVu3joMHD3LjjTc2uU1XGKvbWevvzLWDqL+9dYX6T1an\n", "aNnHPfggrnffbfJ55dChhl87fJges2ejpaU1uk8oK4uaxYtPuZZHHnmE2tpaampqeOihh/jjH/9I\n", "TU0NhYWFTJo0iZ/+9Kc88sgjTJ8+nYqKCjZt2kQkEqGwsJA5c+Zw8cUXs2DBAm6//Xb+85//cPjw\n", "Yaqqqjh8+DA333wzY8eO5bPPPuOll17C6/Xi9XoZNGgQ119/vVXDzp07ee6557Db7TidTpYsWYIs\n", "y/z2t7+lpKSEaDTKrbfeytChQ/ntb39LUVERuq5z5ZVXMm3aNBYsWEBiYiI+n49ly5Zxzz33kJub\n", "i2EY/PSnP7VmOhUEoevoFGHfkUiSxOjRo/nhD3/I4cOHGT58ODfeeCP79+/nqquu4qc//SmSJFnb\n", "BwIBli9fTkFBAffccw8XX3yx9bwkSTgcDh555BG2bt3K66+/zpgxY/jDH/7AM888Q0JCAg899FCD\n", "Gj755BOmT5/OD37wAz755BNqa2vZsGEDaWlp3HfffRQUFPDZZ5+RnZ1NYmIiv/71rwkGg9x0002c\n", "d955SJLEhRdeyOTJk/n73/9OUlISTz31FNXV1SxYsICXXnqpzX6egiC0jU4R9jWLFzfbCm/NbpzG\n", "1E0IFxsbS3Z2Nr/61a+QJIloNNpg28GDBwPQs2dPIpHICZ+vqqrC4/GQkJAAwIgRI6isrKy3z7XX\n", "XsuaNWu444476NGjB8OHD+fQoUOMGzcOgN69e/PDH/6Qp556ijFjxgDgdrvp16+f9Za17jXk5eXx\n", "7bffsmXLFsBcnaympoa4uLgz+yEJgtChdInROOWvvYZ2zHKJWmoqxVu3tkrQH2vdunV4vV4effRR\n", "rrrqKkKhUINtjm3ln4zExEQCgQDV1dUAfPPNNw22+eCDD7jooot4/PHH6d+/P2vXriUjI4Ps7GzA\n", "vP6xbNkyMjIy2LFjB2C+w9i3bx9pR7q16urq168fWVlZPPHEEyxdupSpU6daU1ULgtB1dIqW/cmo\n", "WLmSpLlzrX+3prqgHDNmDEuXLuUnP/kJCQkJZGZmUlZWdsL9mvqaJElIksStt97KokWLiImJQdd1\n", "+vTpU2+fYcOG8eijj+JyuZBlmTvuuIOkpCSWL1/OggUL0HWdX/ziFwwcOJBHH32UX/7yl4TDYa6/\n", "/nrrHUOdSy+9lGeffZYFCxYQCAT43ve+d8onKEEQOr4uMRqnvbX0Ff1XXnmFK6+8ErvdzrJlyxg7\n", "diwzZ85sseMfrzOPSOjMtYOov711hfpPVpdp2Xclbrebm2++GafTSVpaGtOmTWvvkgRB6ORE2HdA\n", "l19+OZdffnl7lyEIQhfSJS7QCoIgCM0TYS8IgtANiLAXBEHoBkTYC4IgdANdJuznvDeHPi/0oc8L\n", "fZjz3pwWOea+ffu4++67uf3225k/fz4rW3n8/qn6wQ9+AJizaJaUlNR7rrq6mttuu63Z/d9++20A\n", "Pv74Y95tZu4hQRA6luQ5c0g77v6bE+kSYT/nvTl8XPAxxpH/Pi74mDGvjGFn2c7TPqbP52Pp0qX8\n", "4he/4PHHH+eZZ54hLy+Pd955pwUrbxk333zzaU2XvGbNGgC+853vkJWV1dJlCYLQCpKvvBLnxx8j\n", "neItUp1i6OWDnz/Iu3lNtzwP+RrOennYf5jZf5tNWkzjs15mDcxi8fim59vZuHEj5513Hr179wZA\n", "lmXuvvtu7HY727dv549//CMOh4OsrCwGDx7M7373OxwOB3FxcSxcuBBVVXnggQcwDINIJMJtt91G\n", "RkYGS5Yswe/3Ew6HueGGGzj//POt76mqKnPnzuXFF1/E6XTy//7f/0NRFMaMGcOzzz6LrutWi/3s\n", "s8+29qubRdPr9fLQQw+h6zopKSnW8xs2bODvf/87qqoiSRIPPPAAa9eupba2lieffJKJEyeyY8cO\n", "brzxRl5//XU++ugjFEXh3HPP5aabbmLlypWNzs5ZJxKJNPq6/vGPf7B27Vp0XeeCCy5g7ty5fPDB\n", "B7z11lvY7XZ69+7Nr371Kz744APef/99DMNg7ty51NTU8MYbbyDLMiNGjGh2emlB6C6kykqUQ4dw\n", "fPbZae3fKcK+PVRUVJB6zHw7YN7sVCcajfLcc89hGAb/+7//y5NPPklycjJvvvkma9asYdSoUcTF\n", "xXHPPfewf/9+QqEQhYWFVFdXs3z5ciorKzl03NTMNpuN7373u2zYsIFZs2bx4Ycf8thjj/HFF1/w\n", "85//nAEDBvDhhx/y/vvv1wv7uukN1qxZw/Tp05k9ezZffPEFL7/8MgCHDh3i4Ycfxul08vjjj7Nl\n", "yxauvfZa3n77bRYsWMDnn38OmJOirV+/nj/84Q8oisJ9993HZ5991ujsnMeGfUFBQYPXVVlZyWuv\n", "vcaLL76Iw+HghRdeoLi4mFWrVvHCCy/gdrt55plneOedd3C73cTGxrJ06VJqamr45S9/yZ/+9Ccc\n", "DgfLli1j69at1oRugtCtGAZSSQlKYSG2vXtxv/cenOakB82Gva7rrFixgvz8fOx2O/PmzasXgBs3\n", "bmTt2rXY7XYmTJhAVlbWCfc5HYvHL262FV7XjXOs1JhUVs5ayYgepzcZWkpKCrm5ufW+VlRURGlp\n", "KQB9+/YFzL5xr9dLcnIyAOeeey4vvvgi8+bN49ChQ/z617/GZrNx3XXX0b9/fy699FIefPBBVFXl\n", "iiuuYOfOnfz5z38G4Oqrr2b27Nk88cQTZGRk0LdvX2JjY+nRowerV6/G6XQSCASIiYlptOaDBw8y\n", "e/Zsq466sE9ISODhhx/G7XZz8ODBeieK4/cfPnw4iqJYx9i/fz/Q/OydAwYMaPC6ioqKGDBgAA6H\n", "A4Abb7yRb7/9lv79+1snzZEjR7JlyxbOOuss6+dZd+K46667AHMCt8LCQhH2QveiachFRShFRdi3\n", "bcOzdi2OL78EQHc4kBqZQfdEmg37LVu2oKoqS5cuJTc3l9WrV7Nw4UIAamtrefXVV1m+fDkej4cl\n", "S5Zw9tlnU1JS0uQ+reW1S15jzCtjOOw/DJhBv/WarWd0zIkTJ/Lyyy9z2WWXkZ6ejqqqPPvss4wd\n", "O5aMjAxk2bzcER8fj8/no6KigqSkJL766iv69u3L9u3bSU5O5ne/+x27du1ixYoV3HLLLQQCAR5+\n", "+GHKy8u55ZZbeOWVV3jiiSfqfW/DMHjttdf4/ve/D8DTTz/NvffeS0ZGhtWl0pj+/fuzc+dOBg0a\n", "ZM2W6ff7WblyJa+//jq6rnPnnXdSNx3S8Z8zMjJ4/fXX0TQNWZbZsWMHs2bNYu/evc3+rPbt29fg\n", "dT333HPk5+cTjUax2+0sWbKE//u//+PAgQOEQiFcLhfbt2+3Qr7u55mWlkbPnj159NFHURSF9957\n", "r8nlHQWhy4lGUQ4eRC4owLVxI+533sGWnw9AZMQIgpddRmT0aJL+7/9Qmpl0sTHNhn12dra1atGQ\n", "IUPIy8uznisuLqZfv35WK3PIkCHs3r2bsrKyJvdpTStnrWTuv+Za/z5THo+HRYsW8eijj2IYBoFA\n", "gAsuuIDLLruM7du3W9tJksTSpUu57777kCSJuLg4q1X64IMP8s4776BpGtdffz29e/dm1apVrF+/\n", "HsMw+MlPftLo977kkktYuXKl9XOcOXMm999/P7169WLo0KGUl5db3/vYOq677jqWLVvG+vXrycjI\n", "QJIkYmJiOOecc7j55ptJTEykb9++1v79+/dn2bJlXHjhhYDZQp86dSq33HILhmEwYsQIJk+ezN69\n", "ext8r2M19rri4+OZM2cOCxYsQJIkLrjgAlJSUpg7dy633XYbsizTu3dvbrrpJv7zn/9Yx0pISODK\n", "K6/k1ltvRdd10tLSrPoEocsKBlEOHEDJz8f9r3/h/sc/kGtqMBSF0PTpBGfPRh06FK1XL/S0NCrW\n", "rCFp7lyUU/gWzc56+fzzzzNhwgQrdH7+85/zhz/8AVmW8fl83HPPPTz44IO4XC7uv/9+xo4dS0lJ\n", "SZP7NKezzzwn6m8fnbl2EPW3t/auX6qpQTl4ENuuXbjfew/XRx8hqSq610vokksIzpiB1q8fWu/e\n", "GImJDfZvsVkvPR4PwWDQemwYhhXaXq+X66+/nsceewyv18uAAQOIi4vD5/M1uU9zTqXojkjU3346\n", "c+0g6m9v7VJ/aSns2wcbNsAbb8DmzebXMzLg6quRZ83C07s3ngEDwOVqkW/ZbNhnZmaydetWJk6c\n", "SE5OjrWUHYCmaezdu5cHHniAaDTK/fffz/e+9z1iY2Ob3Kc5onXQfjpz/Z25dhD1t7c2rV/XkQ8f\n", "RjlwAOeHH+J5911sBw8CEBk5kmBWFpFx49BSU9HT0kBRoKKi2UO2WMt+3Lhx7Nixg8VH1n+dP38+\n", "GzduJBQKMWPGDGRZ5q677kKWZWbOnElKSgq9evVqsI8gCEK3parm0Mndu3GtW4d73TqzP95mI3Th\n", "hQQuuQT1nHOa7KppKWKlqhYgWjftpzPXDqL+9tZa9SfPmYNj40YA1MGD0TIycG7YYPbHx8URvPhi\n", "QhddhDpoEFrfvqfdVSNWqhIEQWgnyVdfjfNI0APYc3Ox5+aipqQQvOIKQhdeiNa379GumjYiwl4Q\n", "BKElqCrK/v1Wi/54kqriu/nmVu2qaY4Ie0EQhDOhaSgHDuBau5aYv/4Vqant7PZ2C3oQYS8IgnB6\n", "NA0lPx/X3/5GzBtvYNu/H0OW0RISUKqq6m+amkpFO0+RLsJeEAThVOi6eafrW2/hef11bAcPYsgy\n", "walTCV59NZGxY+mZlYVyZFoTLTWV4q1nNn1LSxBhLwiCcDIMAzk/H88bb+D561+tkA9Nn47/6quJ\n", "jB+P0bMnABUrV5I0d671745AhL0gCEJzDAP50CE8r71mhnxBAYaiELzwQgLXXGOG/HF98dERIzpE\n", "a/5YIuwFQRCaIBUUEPPyy2Z3TVGRGfIzZuC/7jqi48ZhxMW1d4knTYS9IAjCcaTCQryrV+P5619R\n", "Dh/GsNkIXnQR/v/9XzPkPZ72LvGUibAXBEE4Qjp8mJiXXiLm9ddRSkrMkL/4YnzXX0903LgWm5Ss\n", "PYiwFwSh2zl2OoPkyZOpeOopYl580Qz50lIMu53A7Nn4584lev75cGTFtc5MhL0gCN1K8pw5OD8+\n", "uoyp8+OPST3/fCRdx3A4CGRl4f/Zz4iOHg22rhORXeeVCIIgnITGpjOQdB3d5aL8jTeInntum85Z\n", "01ZE2AuC0D0EArjefReamOjXSEgwW/NdlAh7QRC6LsNA+fZbYtaswf3++yjFxY1u1hGmM2htIuwF\n", "Qeh6AgHcb76J5623cHzxhdUfH5o+ncAVVxD/4INW8HeU6Qxamwh7QRC6DNuOHcSsXo1r3TqUykoA\n", "ogMHEsrKwv+jH6H37QuShDZ4MElz56IoChUvvtjOVbcNEfaCIHRutbV4Xn8dz5tv4vjqKwB0j4fA\n", "7NkErr6ayJQpDUbV1E1nkJ6eTrQTr7R1KkTYC4LQKdm/+IKYVatw/etfyD4fAJHhwwl+//sEfvQj\n", "jKSkdq6wYxFhLwhCpyFVV+N5+WU8b7yBPTsbAD0uDv9VV+G/7jrU0aNBanL5kG5NhL0gCB3OsXe4\n", "RiZPpvaXv8SzciWuDz9EDoUwJInwmDEErryS4A9+AJ1wrpq2JsJeEIQOpbE7XOseaz164PvRj/D/\n", "5Cdogwa1V4mdkgh7QRA6DPngQRzHBP2x9IQEc4hkF5rCoC2Jn5ogCO3Ktns37jfewLV+PfZvv21y\n", "O8PlEkF/Bpr9yem6zooVK8jPz8dutzNv3jxSU1Ot5zdv3szbb78NwLRp05g1axa6rvP8889TVFSE\n", "LMvMmzeP9PT01n0VgiB0HrqO/fPPcb/zDq4NG7AdOACAIctERo5ErqzElp9fb5fucIdra2s27Lds\n", "2YKqqixdupTc3FxWr17NwoULredXrVrF8uXLcTqd3H777UyaNInc3FzC4TAPPvggO3bs4NVXX+WO\n", "O+5o9RciCEIHFongWL8ez7vv4ty40bp71bDZCI8bR2jWLIKXX45+pDGZMmZMh1uwu7NrNuyzs7MZ\n", "NWoUAEOGDCEvL6/+zjYbfr8fSZIwDANJknA4HAQCAQzDIBAIYBNvuwShe6qtxf3Pf+L65z9xfPaZ\n", "dUer7nYTmjLFDPjvfa/B+q3QMRfs7uyaTeJAIIDnmCFNsiyj6zqyLAOQlZXFokWLcDqdjB8/Ho/H\n", "Q2ZmJtFolAULFuDz+bjrrrta9xUIgtDmjl/8o/y11wCQS0pwvfsurv/8B8fnnyMHAoA5Fj540UUE\n", "L76Y0CWXgNfb7PE74oLdnV2zYe/xeAgGg9ZjwzCsoC8rK2PdunU8++yzOBwOnn76aTZt2kRhYSGZ\n", "mZn86Ec/ory8nAceeIDHHnvshC38zt6vL+pvP525duiE9c+cCccNjUw/6ywYNAi++QbCYfOJXr3g\n", "e9+Dyy9HzsrC7XbjbqeSm9Ppfv6nqdkEzszMZOvWrUycOJGcnBwyMjKs5yKRCLIsY7PZkGWZ+Ph4\n", "fD4f4XAYt9v8XxoTE4Oqqui6fsJCCjvx/BTp6emi/nbSmWuHzll/2ocf0uAe1Zoa2LYNtU8fwpMn\n", "E7zkEiLf/S7Y7ebzlZXmRwfTGX/+xzqVE1WzYT9u3Dh27NjB4sWLAZg/fz4bN24kFAoxY8YMpkyZ\n", "wuLFi7Hb7aSmpjJt2jRCoRDPPvss9913H5qmcc011+DoAus3CkK3pmkoubm4//73Jhf/0JKSKPnk\n", "EzE8soOSDKOJ/3NtrLOfXUX97aMz1w4dvH5VxZaTg+udd8wx8Lt2ITXxLr1uaGR0xIg2LvLMdOif\n", "/0losZa9IAjdjKpiy87GtXZtg4CPZmYSmjqV4KWXkvyzn4mhkZ2MCHtB6O6iUTPg330X10cfYf/m\n", "m/oBP2UKwUsvRT33XKuLpm5oZHda/KOzE2EvCN1RNIrt229x/eMfzQf8iBFHL7Ieu3s3XPyjsxNh\n", "Lwhd0PFTBJe/9hpEIuY8NO+9h3P9+sYDPivLbME3EvBC5ybCXhC6mMamCE4dOhQtNRXbvn2NB/yI\n", "ESBGzXVpIuwFoYupa9EfS/b7kffutQI+NHu2OXLG6WyHCoX2IMJeELoAyedD2bMH17//3fQ4+ORk\n", "St9/XwR8NyXCXhA6I8NAqqpCPnAA90cf4fzvf3F8+SWSqja6uTVFsAj6bkuEvSB0FpqGVFGBUlCA\n", "c+NG82PLFqRQCAC1Xz/CkyYRvOQSEu+4w5pGWIyDF0CEvSB0bNEockkJclkZjs8/NwN+0yZkvx8A\n", "LS2N0KRJhGbOJDJ+PEZyMsgyFatWiSmChXpE2AtCRxMKoZSUIFVU4Ni2Deenn+L85BPk6mrAXHQ7\n", "cOGFhKdNIzJ+PFpaWoORNGKKYOF4IuwFoQOQ/H7kw4eRa2qw7dqFc9MmnB9/jFJWBoAeH0/wkksI\n", "TZpEZMIE9D59ME4wJ7wgHEuEvSC0g2Nveupx7rn45s7FuWkTrv/+F6WoCAA9JobgzJmEJ04kMmEC\n", "Wnq61U0jCKdKhL0gtBVVRaqoIPmGG3B8+aX1ZcdXX5F0220AGE4noalTzYAfNw49NRUtNVXc8CSc\n", "MRH2gtCawmHk0lLkqirkkhLsu3ZhPyboj6V7vZS/8AJ6aip6errophFalAh7QWhhkt+PXFyMVFWF\n", "/dtvse/ciePLL+vNRdMYw+MhOnmy6KYRWoUIe0E4U7qOVF2NXFqKUlCA48svcXz1FY4vv0Q+shSf\n", "IUmoQ4cSGTMGx+bN2PfsqXcI66YnEfRCKxFhLwinQ1WRystRSkqwf/UVjm3bcGzbhi0nB+nIdAV6\n", "QgKhCy8kMnIkkZEj0Xv1woiJQb/3XnpNny4W/xDalAh7QWhEo1MEh0IopaXIeXk4N23CsX07ju3b\n", "kWtqADBkmejZZxMdNYrIqFFEMzMxYmPRk5Mx4uNBUazjF654npQbbkKSJb7+/VL8VXkASJKE9Z9k\n", "fgBIR5b4rnssS+Y7AJkjn+X6j+u2t8k27Iodm2zDJtms/YXuR4S9IByn0SmCzzqL8PnnYztwAPve\n", "vdZzWnIywVmziIwcSXTMGLRevY6G+5E54cNamJpIBdXhaoLRICEthJaqYX9/Bekp6ZSWlkLUV6+G\n", "uqWhDep/PvrpuOePm/zs2K/r6OZJQAJFUszgPxL+iqxgl+y4bC7cNrc4MXRhIuwFoY5hIAWDjU8R\n", "XFOD+z//wbDZiJx7LpFRo4iMG0d02DD0pCSMxERwOIhoEWojtVT58wmqQYJaEN3QUVBwKObwSady\n", "4snIjm/RH33izF8mgKZraGiggW7oaCENTdcwJAPJkDAkA5tknhTqTgiNnRhUvfGJ14SOR4S90H0d\n", "CXe5rAzbt9+aF06//rrJKYL12FjKX3kFLSUFPTmZqEPBH/VTEawgWFNGUAui6RqyJFuB7pQ7/iyT\n", "siQjSzJ2ufHVqXRdJ0wYNPOdghpSrRNDoVFIRXkFDsWBXbbjkB04bU5ibDG47W4csgNFVho9rtC2\n", "RNgL3ccx4a7k5OA8Eu72r79GKS8/upnNBsdNFaympHDwhWc4PCgZv1pNqKaYqBZFlmQcsgNJknDI\n", "Dujig2kkScIu2a0Tg8fuwa+Yk7Kpuoqqq9RGazmsH0Y3dCQk8x3BkROBXTHfGcTaY3EoDpyKU3QX\n", "tRER9kKXJgUCyOXlKLm5OLZswbFzpxnupaXWNlp8HDUTxuIbnknVmBHUDh3IqB/Px1lizksT7JXM\n", "P//xPEjgCFciS7LZxWETfz6NUSQFRWnYmo/oESJ6hJpwDYVGIZqhWSdJm2wzTwaynRh7DDH2GByK\n", "w+r6Es5cs7+tuq6zYsUK8vPzsdvtzJs3j9TUVOv5zZs38/bbbwMwbdo0Zs2aBcDbb7/N1q1b0TSN\n", "iy66iKlTp7beKxC6paQ5c3Bu3IgBxEwcyzcrnkQzNPRQACrKse0/QMK2r0nYlUPs7r14SiqsfSNe\n", "DyXnD6fsrIGUjsqkdugApMQkJE8MMgqyJLP1qd9w3q33A7Dtqftx2Vzt80K7IEVWUKh/MjAMg7AW\n", "JqyFqQxX1rsW4FSc2BSb9Y7CbXcTY4vBaXNa76qEE2s27Lds2YKqqixdupTc3FxWr17NwoULredX\n", "rVrF8uXLcTqd3H777UyePJl9+/aRk5PD0qVLCYVCvPPOO63+IoSuLaJFCKgBqkPVBLUg5/7sDlyf\n", "b7eej/90M+dNupj8mZNwl1aQtHsvnsNl1vNRj5vSMWdTcdYgKkadRW3mIIzkJAy3GySZxnrVa84a\n", "zPp/rWmDV9c67vnkHraXmj+jUT1HsWzSsk5zfLtsb3D9oO66QVgLUxWuQjVUa8SRXbJjV+zYJTs2\n", "xYZLceF1eHEqTnHN4BjNhn12djajRo0CYMiQIeTl5dXf2WbD7/cjSZI19Ourr74iIyOD5cuXEwwG\n", "ue6661qpdKGr0XSNkBaiKlyFP+onrIYJ62E0XUNCwiHbUIJhkjd/1WBfZ2UNQ15/HwDV7aR09FlU\n", "Hgn3mszBZrjHeEDqGJ3qrRmW93xyD9tKt1mPt5Vu49p113L/hPsZnDC4wx//RGyyDdtx0WUYBhHD\n", "7CaqDddS6CvEwEBCQpbNbje7bMepOHHanHhsHtw2N5qutXq9HUWzYR8IBPB4PNZjWZbRdd26gSMr\n", "K4tFixbhdDoZP348Ho+HmpoaysvLWbRoEcXFxSxfvpwnn3yydV+F0KkYhkFIC+GL+qgJ1xBSQ4T1\n", "MKpmvnW3y+YwP1QVpz+IVFONq+AwSTuySdi9t8nRMlG3iy/v+zk1w4eYwyFjYqADtupONiwjWoSQ\n", "FiIYNYdwBtWjHwE1QEgN1fta3cexx65THipnwYYFpHvTj96gddyNWnWOf/7oJ/Mfe6v3crzyUDn3\n", "fXYfL18vcqbyAAAgAElEQVT8crt3qyiy0mhrXjM0AmoAX9RHsV6MZmgc5jCVFZU4Fad14TjWEYvL\n", "5rJuXOsqmg17j8dDMBi0HhuGYQV9WVkZ69at49lnn8XhcPD000+zadMm4uLi6NOnD4qikJ6ejt1u\n", "p6amhri4uGYLSU9Pb4GX035E/Y2LalH8UT+VwUr8UT/BaJCIFkE3dGwOGx63Bw9HGhSRMFRXQ00N\n", "jv0H8W77htivc4j9OhdnUYl1TEOW4bgJxSIpPdjz50exjTqHpFZ5JWfGMAzzwmRtodWiP1ZdGPeM\n", "6UkwGsQf9bf4GHbd0KmN1lr11KvvuJuzTnSzVmMqw5Vc96/rGN5zOGf3PJvhPYczvOdwElwJLfYa\n", "WoM7xW39O6yF8ek+JM28cOyyu3DZXMQ744lzxuGyudr9ZHa6mg37zMxMtm7dysSJE8nJySEjI8N6\n", "LhKJmG+PbDZkWSY+Ph6/38+wYcN47733yMrKoqKignA4TGxs7AkLKSwsPPNX007S09NF/ZjBEFSD\n", "VIQqqI3UEtSCqJpqDteT7ce1lMxhkFJ1DVLAj+dAAYm79pCYvY+E3Xtxl1VaW0ZjzD73yswBVJ4z\n", "lJphg/jOTYtxlZkXXUO9kln/z7+YGx8zyuZMnE43iz/qpzhQTHGgmMP+w9a/iwPFHA4cJqgGm91f\n", "N3R0TSfBkUCaJw23zd30h+LGbXfjUlxWl0Tdx2+/+C1fldXv6kp2JbdaNw6Ax+ZhcMJgCv2FfJz/\n", "MR/nH70DOdWTytDEoQxJGMLQhKEMThiMx+45/rDtomfPnuYdzCcQ0SL1Rg85FSdum5s4RxwxjpiT\n", "ulGuNZxKI00yjj91H8MwDGs0DsD8+fPJy8sjFAoxY8YM3n33XT755BPsdjupqanMmzcPRVFYs2YN\n", "u3btwjAMrrnmGs4999wTFiLCsv2cbv11d4tWhisJRAOEtBAGhnlRTFI4f949JG82A7N83Ei2PnYP\n", "UlU1UjBIzP5DJH6zh8Sc/STs3ourovrocWNjqBo2iMrM/lSeM4TaIQPRE+Ix4uPAZl64i9u9h/Nu\n", "vR9ZVvjiicXUnNVyfcWNhVmyK5m7x96N1+6tF+DF/qP/9h035UEdl+IiNSaVFE8KKZ4UthZvpcBf\n", "0OD4Ldnnfe26aykPlVvHXnNxy15sbu74FaEKcipzyKnKIbcyl5yqHGoiNdbzEhJ9YvswNGEoQxOH\n", "MjRhKAPjB9YbZtnaF5jrnGzYN8YwDCK6eRKQJRmX4jp6EnDG4bF5Wn3oaIuFfVvqjmHZUZxM/YZh\n", "EFADVIQq8EV8BLUgUS2KIimN/kKff9Pd9Nhcv7si6nFRMygD78EinFW11tfD8bFUnXUk3IcPwjdk\n", "AHpsrDm/jKPxFtOZhkFEi+CP+s0P1Y8v6rMe/37770/pWE7FSS9PLyvMUz1Hgz3Fk0KcI67BW//W\n", "DuM9VXu4f9P9AK1y4bTu+IqisHjs4maPbxgGxYFicqpyzJNAZQ57qvfUe6ejSAoD4gYwNHEoX5d9\n", "Tb4vv94xWvpkWOdMwr4puqET1aPmNBmygsvmwqW4SHQmEmOPadFhvCLs21hXDPu6VntFqIKgak7e\n", "ZRgGDsVstTegRpFqapBqfcihEBfOuc2a6vd4oaR4M9yH9qdy+GD8A/tieGMxEhIwnCd+O9xYyzvO\n", "Ecf3B32fWHvs0eBWzfA+NsjrHkf16Mn/gI6wy3Yu7HthvVZ6iieFRGfiKffjnkpYdmSnG5aaoXGo\n", "9hC5VbnWu4C86rxm/7/EO+L588w/t2gXUGuEfVMiWgTVUFEkBZdiXguIc8SZ1wKU07sWIMK+jXX2\n", "sE9NS2XPgT1UhivxRXwE1ACqrjbZagcgEkaqqUXymeGOqoIsEXegiLT1n9PnnxsbnbMrHB/Lf19c\n", "hhHjMcPd7eZEs3tFtAgFvgIO1B7gQM0BXst57ZRfo0224bV7zbszbeYdmtZje/3Hb+55k7zq+sOM\n", "O1PLsi21ZP1RPcqBmgPcsv6WZrdL9aQyIH4AA+MGMiB+AAPiB5DqST2t0TPt/fOP6lFU3byuVXcC\n", "iHXEkuBMOKkTwKmEvbjfu5sKqkGK/cXURmrJi+ZRWl5qtdobu6mFcBipphrZH0AKBUHVwKaAzYaj\n", "xkfaf7eQtv5zvIeKAdBtCpJafwxzqGcSXz71G7TBjQdmVI+aoV5zgAO1B8ivyedA7QEK/YXoRtPL\n", "+dWJscdwy8hb8Nq9eOyeemF+KndaTu87vdW7WTo7zTBnyWzJEUN22c7ghMGM7jm6wTs3r93L2JSx\n", "VIYryavO47Oiz/is6DPrebfNzYC4AfSP68/A+IEMjB9Iv9h+Tb4LaKtrAidy/N9aSA3hi/jIr81H\n", "QsIpm0NCvQ4vic7EMxoSKlr2LaAztOx1Q6c6XE1psJTaSC2qruJUnMiS3GjrRgqHoboK2e9HCoVA\n", "08FmMwMekCNRenyxk/SPNpP81W4k3UC3KZSMO5eiKWOpGDaQZRvu5aO+ZhhMO2TnzlvMu6lVXaXA\n", "V0B+bb4V7AdqD1DoM+dLOZbX7iUjNoN+cf3oF9uPjLgMXvn2Fb4u/7redi3d8m7tPu867d2yrGMY\n", "hhnghmaeWCXAMGfErJv/XpEUaw78upuTEpITyMnPIaAGgJObvvlkNHeyNQyDilAF+2r2kVedx76a\n", "feyr3sdB38EGjYK0mDQGxA1gYPxA6/NT259qMPy1td65tRRN14joEZCwTgCxjljGDh170scQYd8C\n", "OmrYR7QIpcFSqkJV+FW/2VJo5I+xZ48elB06hFRdjeT3mUGv6ebiG8oxrQjDIG5PPmnrPyd141bs\n", "fvMCW/XgfhROG0fxxFGoTid6fByL9j/DtuOG/zlkB0muJMqCZahG/Rahx+Y5GujHhHuSK6nRFnlX\n", "aXm3Ztjrho6qq+jo9cbLW+FdN0/9kQVNnDanFSR1M1WeqBVZ97uvGzq1kVpKg6X4Ij5CWsia4Ox0\n", "nM7JNqJFyK/NZ1/1PvJq8thXvY99NfvqjQRqTmf7PQqqQS4fc/lJby/CvgV0pLD3R8yx3jWRGsJa\n", "GLtsb/IPTgqFkIsKSXK5qCyvaBjuRzgqqht004QT4yj67liKpo7D3zsFoip6XCxaaio5vn0s2LCg\n", "yRozEzPpF9uvXmu9h6vHKV2g6vYXOHUN1TCDXDIkkMwugboFR+yK3bor1K24rfA+3fBtSlO/+2Et\n", "TFmwjOpwNb6o78h0F20/aZlhGJSHyq3W/76afaw/tL7RbWVkRvcaTb+4fvSP60//uP709fbtsJPg\n", "nWrYiz77Tk7TNarCVWaLKupDMzRcstmv57a5G99JjSIfKkD2+cDlBLvD/HyMprppDl8wmqKp46kY\n", "mYkhSRBVUV1Ovk4I8Unx+3zyzSeUBpsOr2RXMk9OOfPpMwYnDGbNxWs6TDdISzEMA9UwFwepW05Q\n", "kiTzesqRlrhNtlkh7ra7zXBvYuGR9uJUnPT29qa3t7d593Ckxmr1n6gR0pIkSaKHuwc93D0Ym2J2\n", "eVSHqxtcE6ibWnlryVa2lhxd/F1CIi0mzTwBxPa3TgS9vb2brb+jXBM4lmjZt4C2btmHtTClgVKq\n", "wlUE1IC1gMYJaRpyURFydTXYbYxe+hxJO3MAqBgxlG2Lf954N82QfhROHU/xpPNQvR4wDLRwiK+k\n", "Ij6OZPPJ4U1Uhs07XmNsMUxIm2D1pR6rNfpFO2LYG4Zh3g2Ljm6YXSjWNANS/aUGU3ulUlleabXK\n", "HYoDl81l3ZBjzRPUQZ3O735Ei1AWLKMqXGXeiGbQ5ouYNNUN6Iv4rFFf+2v2c6DW/Hx8V5BNstEn\n", "to/1DrV/nHkiSPWkcu+n9zZ6U15L/+6Lbpx20NphbxgGvoiP4mCx1R/qlJ0nHwKGjlxSilxWZl5k\n", "VWRGP/AMyTuy622myzLykTlnwolxFE0ZR+HUcQT6mGsYRLUo26u+4b+Rb/m0dqf1BxDniGNi2kQm\n", "p09mZM+RViuzLfrVWzLsdUO3LlDqho6BYS7UjTknjCzJKJJiLeMnSZL5GNn6Wt02inK0FV7XirW2\n", "P7KNJEkdqgvwdJxp/YZhWH39tZFawlq4Td6pnOpNYVXhKvbX7jcHFBxzIjh+Cgyn4iSshRs9Tkv/\n", "DYiwbwcn+wt//IiHujvt6q601y3rphkaum6GjaqrBNQAhmGcVutHKi9HKSk2p/a1HT05XHjlrY3e\n", "9KQ57Oy48wYqzs3EUBQiepQvanfzcdU2NgW+waeZv9yJzkQuSL+ASemTODf53EZPPG0xoqWxsK8b\n", "FlgX2HVBbRgGimyOKJEl2VpEQ5EVc8ipYrdWS3LanGZoy2aYt1bruruH/fEiWoTyUDlVIbPVrxu6\n", "NWqsNZxJY0E3dEqDpUfDv+YA+2v3N7hHo46ExNDEoUfvso4xP6d6Uunp6XnKJzjRZ9/GasI1+Mv9\n", "FFUWWQGucTTMra8ZmjW/toGBYZj/lpDqtQob+6U+neFsUnU1clERYJgXXo9wFZfT+8PPmp4m2Ovh\n", "0MhBbKndwcfV2/m89huChtlS6eHuwYVps5icPpmzks9q/E7aY9T1q7ckVVeJ6lEkyfy5SUjWsMC6\n", "cK4La6fstEad1I04ETo2h+IgLSaNtJg0DMPAH/VTHizHFzVv9tPRrbmX2pssydZd1ONSx1lfv3vj\n", "3Wwvqz+00y7bSXAksLd6L9mV2ccfChmZZHeydSKou0u77qSQ7Equlw111wT0MSe+/6SO+O0/AxEt\n", "wu6K3WQ4M6xxxseSkKwQstM2F9CkgB+5oAApEgWn2Y8vqRo9vviaPh98QtKObCTDQJdlZv1Y58OB\n", "5n5T9sP12W5Wzu7Fpt33EDbM29ZTPSnMTv8Ok9InMTRxaJvN8R3RImhoVpg7ZLMvO8YeQ5wjzlyq\n", "TraZLUs6b8tYaJokSXgdXrwOL3B0HYSyYBm1kVr8qh9N106tS7MNPDz54Sa7MDVDoyJYweHAYWsi\n", "vcOBw9ZkervKdzW4hwTM4bIp7hRSYlI4UHPAOvapEGF/mgzDYHfFblxKBxmWFQmjFBQg+QPmyBqn\n", "A3dxGen//oz0jzZZE49VDhtIwcwLuL7P53wZzLV2Xz8A1g8IgpZLX2cKk/p8l0l9v8ug+EGtduFM\n", "N3QiWgRDMqyheU7FiVNxEuuNxWv3tupbeKFzkSQJt81N39i+1teCapDyYDm1kVoCaoCoHj2j8f0t\n", "5f4J99frwqyjSAo9PT3p6enJCEY02K/u3pgGJwK/eXIoKClosM/JEmF/mg7UHEDV1fYf8qaqyEWF\n", "yDW14LAj2Wz0/GwbvT/41LoAG/V6yJ89hQMXTmBrcpgtvm/4sjS30cMlOOL50/+sbNESNV0jakTB\n", "AEk2bwF3KA5i7DHEOmJx29xi4WjhtLhtbvrE9rEeh9QQleFKqsPVZvg3MzNrazrdLkyH4rCGrDYm\n", "EA3ww3/8sNlFZJoiwv40VIWqKAmWtG+rXteQi4uRyyvAYcddWU36h5+R/tHn9Vrx2y8azfuZCp+H\n", "cvjS93t8Nc0voKG0UItI1VVUQyXOEUesO5Y4exwuu6v9T45Cl+ayuUizmX3+YA5TrgpVWcOUo1rU\n", "HKrcxuHfUjx2D6N6jmp06ckTEWF/iqJ6lNzq3HYMegOptBSltBTJgJ7bvqnXig/Gunnj6lGsHeXm\n", "EymfvaE34ciKfr1siUzxjmSc9yzeqvmEr3w59Y5cNxb4TES0CLIk08vTi7SYtA7Vlyp0P07FSUqM\n", "2dcN5t9vVbiKypC54E5QNdf3rVuQvDNYNmlZvWsCJ0uE/SnKrsjGLrXPL4VUVYlyuBj34RJ6r99C\n", "2kef46yupSAWfn9JT94d5eZTVwl+fTuEwS4pnOcewljvMMYmjaJ30kBISASnk3Fc1WLj4A3DIKgF\n", "ibHHMDB+IEnujrgKrCCYo2J6unvS090TMKf3zjPyqI3UUhutJaSGCGthc9phpA57U9v9E+7nN5t+\n", "c0r7iLA/BQdrDxLRIm128eeRFVfx32SzS+a7JW6eclxJn/9sIm5XDp/2hWcusPHuiBi+9fgBc6xw\n", "qpzI9NjRnJ94LiN7jcaVnNrkgiB1F5Hqbiw5VaquEjWiJDoTGZo0tOnpGQShg5IlGY/dg8fuIYUU\n", "6+uqrppdQOEq/FE/YTVMWA+j6zqSdHS4b3sZnDCYFTNWnNI+IuxPUm2kliJfUb1JkeqFcZmXu69b\n", "bY5f1zTQ9WM+DNA1JAMwdHNGScMADPOzYZgXLw1zOzkS5cEN97Ah5Wj/+oaUIFODqxk9Gr64VKbW\n", "oQMqdgnGuIcyNn4E5/c8j96pmeDxULcgSHOXcU53fhnRVSN0dXUzg8bYY+p9PapHCUaDVEeq8Uf9\n", "RLQIYS1sTUjX1tM+nAoR9idB0zWyK7IbBP2GHkfXUd3Q08eev17Bn/aMYJicghyJIkejqGqUqBYl\n", "qoWJ6FHzw4gQ0aOE0YgYUSKGSljSCKMSlg1CNvjvzIZ1VLnho4GQbk9keuzZnJ88ihEZ43F6E8w7\n", "ZFuRYRiE9BAem4cB8QNIdie36vcThI7ILtuxO+3EOePqfT2shfFH/NRGaglqQas7qO4mSsC6gbJu\n", "yoy2PimIsD8J2ZXZDVqvdS36YxXEwqUjdxIf3knIBiEbGC38/7OXX+LFa1a3erjXqddVEyu6agSh\n", "MU7FidPtrHe9qt4MpkfWFgjrYXMtWk2t99yxd93XTZliHoSjU34g1ztZnCoR9idQ4CsgEA2c9FAt\n", "CUhyJeGUbDgkO3bFYc63opgfDrsTh+LEITtwyHZz3nHZ3MZhc5rbKE7e+uw5diSE6h073Sez9Oxf\n", "tUnQR7QIkiRZXTXtfZOKIHQ2kiRhlxpZ4vMk1U2zUndCiOgRonrUOlmcYOnmBsRfcDMC0QAFvoIG\n", "wyylUJBh5RK7e9TvEU/3ySw96zbSxlzIKf+fOM74zFncsGY2hV7dOvaL1/7jjI55Isd31TS1SpQg\n", "CK2vbq6supOFh8bX0z1ZIuyboBs631Z828h4egPtiUfYN9hAMo5207RGGC89+1fcu+tR69+tRdVV\n", "glqQRGciQ7xDmlykWRCEzqvZsNd1nRUrVpCfn4/dbmfevHmkpqZaz2/evJm3334bgGnTpjFr1izr\n", "uerqahYtWsTixYtJT09vpfJbz56qPfUWmajj+ftaftZrMyE7/NL7P7xx+J9IwIOtEMZpo6fx4uhp\n", "LX5cMAM+okdwyA56xfQirZfoqhGErqzZv+4tW7agqipLly4lNzeX1atXs3DhQuv5VatWsXz5cpxO\n", "J7fffjuTJ0/G4/Ggqip/+tOfcDYxvrujKwmUUBWuatCqd+7dzx92/4ncYXCNZxL/M+OX/A+/7JCr\n", "JR1PN3TCehgZmRh7DMnuZHq4e+BUnKQnplMYFDNHCkJX1mzYZ2dnM2rUKACGDBlCXl79SfltNht+\n", "vx9JkuqtXr9mzRpmzZrF3/72t1YouXUFo0H21ezDrdQfdSKFI2x96V7+er7GeeEe/OiyRe1U4cmL\n", "6BF0Q8etuElwJtDD3YMYe4zohxeEbqjZsA8EAng8R/tvZVlG13Vk2RwNkpWVxaJFi3A6nYwfPx6P\n", "x8P69euJi4tj5MiRnS7sDcPg28pvGwQ9QPDph/n1qHKSIgoLZv+uQ3Z51HXNOBUnMfYY+rj6EO+M\n", "Fzc9CYLQfNh7PB6CwaN3cRqGYQV9WVkZ69at49lnn8XhcPD000+zadMmPvroIyRJYufOnezfv59n\n", "nnmGO++8k4SEhGYL6Qj9+tll2fTo2QObVP/Hor/5JlclbyKqwIPffYDhAxrOQ92zZ8+2KvNoXYZO\n", "WAujSApeh5cEVwK9YnrhtJ1691lH+Pmfrs5cO4j621tnr/9kNRv2mZmZbN26lYkTJ5KTk0NGRob1\n", "XCQSQZZlbDYbsiwTHx+P3+9nyZIl1jZLlizhxhtvPGHQQ/uvQVsWLGNf9b4GSwA68g/x5Obl7B8M\n", "P/FMYWCv8xr0z7dln31YC2Ng4FbcxDpi6eXuZXbNaBL4odx/6ivYdOZ1UDtz7SDqb29dof6T1WzY\n", "jxs3jh07drB4sTlJ1vz589m4cSOhUIgZM2YwZcoUFi9ejN1uJzU1lalTp55R4e0lokXIq85rOMwy\n", "GuGTlxaxdqTGhFAvfvC9O1v0+9Zd56i7Q65uIhvrMUfvwrO6Zryia0YQhFMnGUYTK0+3sfY6uxqG\n", "wc6yneYC4MdduKx5cgnXZGwiOWLjycteItHTo8H+YS3MoN6D6rXs64ZsSpK5oHjdCM66BcbrnpOR\n", "rW4xCcn6/rIkI2POnVHXRXM6i46frM7cuunMtYOov711hfpPVse7ytjGDtQcIKpHG9zSLP/rfW5P\n", "2oQBLByzsNGgD2khhiYMZXjKcAq1zvsLIwhC19etV3KuW17w+KC3HSrk0W+eoSAOboq9kLOHfKfB\n", "vhEtQlpMGgmuE1+PEARBaG/dNuxVXSW3qpHlBdUoH61cyAf9Nb4bTOXSGbc32FczNDx2T71V7gVB\n", "EDqybhv22RXZjc5GV/r8IzwyvJzeQTs3X/54o1OJGoZBZmJmW5QpCILQIrpl2B+qPURICzUIcv3D\n", "ddyZ8CmyAXeNu5s4V2KDfUNaiGFJw8RoGEEQOpVuF/a+iI9CX2HDC7LFh3lk9x8o9sLNcRcxZNDE\n", "BvuGtTAD4weKWSEFQeh0ulXYa7pGdmX95QUB0DXWvfQrPu6jMdOfzkUzbm2wb1SPkuwyJw8TBEHo\n", "bLpV2GdXZjfaB3/wT8t4Ylg5/f12bvrh4w3G2+uGjl22MyB+QFuVKgiC0KK6TdgX+YsIqAEUqX5f\n", "e2TDv7g77lMcKtw1cTFeZ3yDfVVd5azks8RskYIgdFrdIuwD0QAHaw7ikOuvIyuVFLPsm99T7oHb\n", "4i6h/8CxDfYNqSEykzJPex1JQRCEjqDLh721vGCDfnqdv/3lDj5P08iq7cOUmb9osG9Ej9A7tjex\n", "jtg2qlYQBKF1dPmwz6vOa3R5wT1/fojnB5UzuNbBT65u2E+v6Rpeu5fe3t5tVaogCEKr6dJhH4gG\n", "qAhWNBgT79/4b+71foo7Cosm/wZPIy13A4OhiUPbqlRBEIRW1aXDPrcqt0H3jVFWwtJvnqTaBXfG\n", "XUbvAec12C+khTi7x9mNjtwRBEHojLpsmhX7i4lq0fpfNAz+uuY2tvfS+GF1BhMvmt9gv5AaYlD8\n", "oFadUlgQBKGtdcmw13SNfF8+DqX+6Jtdq5byUv8Khlc5+PGcxxrsF9WjpHhSSHYnt1WpgiAIbaJL\n", "hv2+mn0N1pGt3PRvfuP5FG8EFk55AJfTW+953dBxKk76xfdry1IFQRDaRJcL+0A0QHmwvN7NU2pF\n", "CQ/tehK/A+6Ov5yUASMb7KfqKsOShrVlqYIgCG2my61UlVuVi9vmBuCRFVfx3+RaczXXZPhxZT/O\n", "+/5NDfYJaSGGJw3HJne5H4cgCALQxVr2Rf4i66LsIyuuYkOPWgwJaw3Yj+z5FG37qN4+YT1MRmwG\n", "XocXQRCErqrLhL2qqxyqPWRdlP1vcm2DbQq9BvfuetR6rBkaCY4EUmNS26xOQRCE9tBlwn5f9b5T\n", "6oYxDAMJicEJg1uxKkEQhI6hS4S9P+KnIlRR76LsgJqGLy3dJ7P07F8BZvfN8OThYiZLQRC6hS5x\n", "RfLYi7IApV98yEGvjqyDfiTz030yL177D8C8IDs0YWiDcfiCIAhdVbNhr+s6K1asID8/H7vdzrx5\n", "80hNPdq/vXnzZt5++20Apk2bxqxZs1BVleeee46ysjKi0ShXXHEF559/fqu9gCJ/EZqhWVMbaEE/\n", "v/vqSaLJcFd4In+Jfg5gteijepS0mDQSXAmtVpMgCEJH02zYb9myBVVVWbp0Kbm5uaxevZqFCxda\n", "z69atYrly5fjdDq5/fbbmTRpEps3byYuLo5bbrkFn8/HwoULWy3s6y7KHju1wbo1i9jZU+XqsnSm\n", "/uw+ph6zvWZouG1u+sb2bZV6BEEQOqpmwz47O5tRo0YBMGTIEPLy8urvbLPh9/uRJMm84ClJTJw4\n", "kYkTzcW6DcNAUZQGx20pedV59S7KFnz6Ls8l7yGjRmbO1b9rsL2u62T2yGy1egRBEDqqZsM+EAjg\n", "8Xisx7Iso+s6smx2mWRlZbFo0SKcTifjx4+vt20wGOTxxx9nzpw5rVK4L+KjMlyJWzH76lVfNb/L\n", "fh4tERYOvAFXbFK97UNaiHOSz2kw3bEgCEJ30GzYezwegsGg9dgwDCvoy8rKWLduHc8++ywOh4On\n", "n36aTZs2MWHCBMrKynjssce46KKLmDRp0kkVkp6efkqFbynYQkZqhvX4hRd/Tnayxg3Vg5hw47x6\n", "24bUEKOSRpHqbb3x9Kdaf0fTmevvzLWDqL+9dfb6T1azYZ+ZmcnWrVuZOHEiOTk5ZGQcDddIJIIs\n", "y9hsNmRZJj4+Hr/fT1VVFQ899BA33HAD55xzzkkXUlhYeNLbFvgKKPIXWWvKHvjodf6UtI/BVQqX\n", "XfUwpaWl1raqoRLniEO36RTWnPz3OBXp6emnVH9H05nr78y1g6i/vXWF+k9Ws2E/btw4duzYweLF\n", "iwGYP38+GzduJBQKMWPGDKZMmcLixYux2+2kpqYyZcoU/vKXvxAIBHjzzTd58803Abj77rtxOFpm\n", "mKOqqxT4CnAp5qIkkcoyHj64CskLd579Cxyeo6tOGYaBTbIxKH5Qi3xvQRCEzkoyDMNo7yLg5Fv2\n", "2ZXZBKIB6waqNc//hJdTDzO/KpPL5j5Zb9uwFmZUr1HYZXuL13usrtA66Kz1d+baQdTf3rpC/Ser\n", "U91BWxuppSpcZQV9zrqVvJx6mHMq7PzPnIfrbRtSQ2QmZrZ60AuCIHQGnSbsDcNgT9Uea/RNsKSA\n", "R8pex67BHWN/hd119A7aiBahd2xv4pxx7VWuIAhCh9Jpwr7QX4hu6NbjNW/dRZHX4ObgKFJHfNf6\n", "uqZreB1eent7t0eZgiAIHVKnCPuoHuVQ7SGrS+brd57jrdRyxpQ7mXH1knrbGhgMTRzaHmUKgiB0\n", "WH50M4IAAAutSURBVJ0i7PdW7bWmRPAX7OO3vndwRWHB5HtR7EdH+QS1IGclnWXNkyMIgiCYOnwq\n", "1kZqqQ5XI0syhq6z4t1FlHlggT6RHplH59wJqSEGxQ/CbXc3czRBEITuqUOHvWEY5FYenb74y7ce\n", "Z11KDZNKPXznh/dY20X1KL08vejh7tFepQqCIHRoHXo++wJfAYa5XDg1+3bxO/VDvBr8YuYSZMUs\n", "XTd0nIqT/vH927FSQRCEjq3DtuyjepRCfyF22Y6haTz3wW+odsEd9ukk9D86DYOqqwxLGtaOlQqC\n", "IHR8HTbs91bttea++eyvD7O+l58ZJXGM//4d1jYhLcSwpGGntPasIAhCd9Qhw746VE1NuAZZkqnI\n", "+ZLH5E9IDMKNs5chHZl1M6SF6BvbF6/D287VCoIgdHwdLuwNw2BvzV5cNheaGuH3Gx4k4IA747KI\n", "621OaKYZGonORNJi0tq5WkEQhM6hw4V9ga+AurnZNrz2AJ/3DHFpSRKjLvk5YJ4MJCQGJwxuzzIF\n", "QRA6lQ4V9hEtQoG/ALtsp3TnRp5ybSXFLzH3+79FkiRzGz3C8OTh1mNBEAThxDpU2O+p2oNTdqKF\n", "gzy2eTkRGyzseRWeXn0As59+SMIQHErLzI0vCILQXXSYsK8KVeGL+JAlmX+9tpivkqNcWZrK8Flz\n", "AXMoZlpMGgmuhPYtVBAEoRPqMGGfV5OHy+aicOu/+f/t3W1MHHUCx/HvDiylWyj01AZJodorLhKN\n", "1TQUYkJrSuppG1/YWC0m9GLbEKJGkpq2JEVSoS/oXY1oeKjl0tI0Vl80hF5jatRghHieBJtiIFfU\n", "BatpfeAMT7uALDv3gutK8Rig2huW+X1eMZn5J7/ZLL+dnYf/Vsd1sGLQIO+JCmDiguzi6MWkxKfY\n", "nFJEJDLNm7I3TZNgYIi/tFcSjIJ9K/9MbOLy8DrvMq/NCUVEIte8KXu34ebs28X8a1mQ/H+nsjrn\n", "CeCXB6eijCibE4qIRK55U/Zf/+Pv1CV+yR/7o9i6beL0zej4KKsSVuFxe2xOJyIS2eZN2Vd01eIy\n", "Ya+3kJj4RMZCY9wSe4tmshQR+R3Mm7LvTgixqz+N1KzNhMwQMUYMdybcaXcsEZEFYd6UPcA595dc\n", "vdA0MZPlLel6cEpE5Hcyr8r+SpzJgY6/4v2DN/x7syIi8ttZzg0cCoWoq6vj8uXLuN1uCgoKSEpK\n", "Cq//9NNPaWhoAOChhx5i06ZNM46ZiQuIj4m/sb0REZH/yfLIvrW1lWAwSHl5OXl5eZw8efK69fX1\n", "9Rw4cICysjLOnTuH3++fcYyV5CGD+uzKG9sTERGZluWR/aVLl1izZg0AaWlp+Hy+6wdHR+P3+3G5\n", "XBOzUbpcM46ZTvKQwT+LvsZwzaszSyIiC4Jl2QcCATyeX+5xNwyDUCiE8d8fENmyZQv79+9n0aJF\n", "rFu3Do/HM+OY6fwt84iKXkTkJrEse4/Hw/DwcHjZNM1waff29nL+/Hmqq6uJiYnh9ddf55NPPrEc\n", "Y+VPTxTd6D7MC8nJyXZH+E0iOX8kZwflt1uk558ty7L3er20tbWRnZ1NV1cXqamp4XU///wzhmEQ\n", "HR2NYRgkJCTg9/stx1i5cuXKb9sTGyUnJyu/TSI5Oyi/3RZC/tmyLPvMzEza29spKSkBoLCwkJaW\n", "FkZGRsjNzWX9+vWUlJTgdrtJSkpiw4YNGIbxqzEiImIvl3ntNwBtFumfrspvj0jODspvt4WQf7Z0\n", "RVRExAFU9iIiDqCyFxFxAJW9iIgDqOxFRBxAZS8i4gAqexERB1DZi4g4gMpeRMQBVPYiIg6gshcR\n", "cQCVvYiIA6jsRUQcQGUvIuIAKnsREQdQ2YuIOIDKXkTEAVT2IiIOoLIXEXEAlb2IiAOo7EVEHEBl\n", "LyLiACp7EREHiLZaGQqFqKur4/Lly7jdbgoKCkhKSgKgr6+PysrK8LY9PT08/fTTbNy4kZqaGq5e\n", "vYphGBQUFJCcnHxz90JERCxZHtm3trYSDAYpLy8nLy+PkydPhtclJiZSWlpKaWkp27dvZ9WqVWzc\n", "uJGLFy8yOjpKWVkZW7du5fTp0zd9J0RExJpl2V+6dIk1a9YAkJaWhs/n+9U2pmly/Phxdu3ahcvl\n", "IiYmhkAggGmaBAIBoqMtvzyIiMj/gWUTBwIBPB5PeNkwDEKhEIbxy2dEW1sbKSkp3H777QB4vV7G\n", "xsYoKipiaGiIffv23aToIiIyW5ZH9h6Ph+Hh4fCyaZrXFT1Ac3Mzubm54eXGxka8Xi+VlZUcPnyY\n", "qqoqgsHg7xxbRETmwvLI3uv10tbWRnZ2Nl1dXaSmpv5qG5/Px1133RVeHh0dZfHixQAsWbKEYDBI\n", "KBSaMUikX8RVfvtEcnZQfrtFev7ZcpmmaU630jTN8N04AIWFhfh8PkZGRsjNzWVgYIBDhw5RUVER\n", "HuP3+6murmZwcJDx8XEeffRRHnzwwZu/JyIiMi3LshcRkYVBD1WJiDiAyl5ExAFU9iIiDqCyFxFx\n", "AFsfbw0Gg9TU1NDb28vY2BiPP/44a9eutTPSnPX397N//35KSkoi7hauhoYG2traGB8f5+GHH2bD\n", "hg12R5q1UChEbW1txM3B9MUXX/Dmm29SWlrKd999R1VVFYZhkJKSws6dO3G5XHZHtDQ5f09PD8eP\n", "H8cwDKKjo3nuuedISEiwO6KlyfmvaWlp4fz585SXl9uYbHYm5+/v7+fo0aP4/X4Ann32WZYvXz7t\n", "WFvLvqWlhaVLl/L8888zNDTE3r17I6rsg8Egb7zxBosWLbI7ypx1dHTQ1dVFeXk5IyMjnD171u5I\n", "c9Le3h6eg6m9vZ3Tp0+zZ88eu2NZamxspLm5mdjYWADq6+vZvn07GRkZHDt2jNbWVjIzM21OOb2p\n", "+U+cOMEzzzzDypUref/992lsbCQ/P9/mlNObmh+gu7ubpqYmG1PN3tT8p06dIicnh6ysLDo6Ovjm\n", "m28sy97W0zhZWVk8+eSTwMQ9/VFRUXbGmbNTp06xadMmli1bZneUObt48SKpqakcPnyYioqKiPqQ\n", "BSJyDqakpCRefPFFrt3t3N3dTUZGBgD3338/n3/+uZ3xZjQ1f1FREStXrgQmDnxiYmLsjDejqfkH\n", "Bwd566232LFjB5FwB/rU/F1dXfT29lJWVkZzczP33HOP5Xhbyz42NpbY2FiGh4d55ZVXeOqpp+yM\n", "MycffvghS5cu5b777rM7yg0ZGBjA5/OxZ88edu/ezWuvvWZ3pDmZPAfTsWPHeOSRR+yONKN169Zd\n", "N93I5IKJjY0lEAjYEWvWpuZPTEwEJiZMfPfdd9m8ebNd0WZlcv5QKERNTQ35+fnXHenPZ1Nf/x9+\n", "+IG4uDhKSkq49dZbaWxstBxv+wXa3t5eXn75ZdavXx9RT9o2NTXR3t7OwYMH6enpoaqqir6+Prtj\n", "zdq1D6qoqCiSk5Nxu90MDAzYHWvWFsIcTJP/cYeHh1myZImNaW7Mxx9/TF1dHcXFxcTHx9sdZ9Z8\n", "Ph/ff/89dXV1VFZW8u2331JfX293rDmJj48PfyNfu3YtX331leX2tn737evr49ChQ+zcuXPGryDz\n", "zcGDB6/7e/fu3eEjnUiQnp7OO++8w5YtW/jpp58YHR2NqH/WG52DaT6544476OzsJCMjgwsXLnDv\n", "vffaHWlOPvroIz744ANKS0uJi4uzO86crF69miNHjgDw448/8uqrr7Jjxw6bU81Neno6n332GTk5\n", "OXR2dpKSkmK5va1l39DQQCAQ4MyZM5w5cwaA4uLieX/ubyF44IEH6OzspLi4GNM0w79HECkee+wx\n", "qqureemllxgfHycvLy9i3jfXXuf8/HyOHj1KMBhkxYoVZGVl2ZxsdlwuF6FQiBMnTnDbbbeFS/Pu\n", "u+9m27ZtNqeb2dT3uWmaEfXen/z+qa2t5b333sPj8fDCCy9Yj9PcOCIiC5/t5+xFROTmU9mLiDiA\n", "yl5ExAFU9iIiDqCyFxFxAJW9iIgDqOxFRBxAZS8i4gD/AR/3zTj+wR7iAAAAAElFTkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "param_range = range(2,17)\n", "plotValidationAccuracyCurve(tree_clf, train_feature_df, train_target_df, 'max_depth', param_range)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Indeed we see a sweet spot at around depth 12, after which the cross-validation score starts to drop. We will fix the classifier at depth 12 and learn the final classifier" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "DecisionTreeClassifier(compute_importances=None, criterion='gini',\n", " max_depth=12, max_features=None, max_leaf_nodes=None,\n", " min_density=None, min_samples_leaf=1, min_samples_split=2,\n", " random_state=None, splitter='best')" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tree_clf.max_depth = 12\n", "tree_clf.fit(train_feature_df, train_target_df)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Training a Random Forest\n", "\n", "RFs have the advantage that their inherent randomness counter-acts the learning of train-set intrisic patterns which don't generalize. They tend not to overfit and are stable against outliers." ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.ensemble import RandomForestClassifier" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": true }, "outputs": [], "source": [ "rf_clf = RandomForestClassifier()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's start with having a look at their learning behavior" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "SFmESFmESFmESFl0DkXXdf1wE3VdN3oZAUydOpXS0lLcbjfjxo3jtddeo6CgAFVVGT9+PGPHjmXF\n", "ihVs3rw57A/26KOPYrVaI65IWVlZB23S6S0lJUXKIkDKIqStskiYOBHrpk0ANI8aRdWaNe36HcuW\n", "LaO4uJjq6mqamppITk6me/fuzJw584ifXb16NRdddBEDBw5sc/qSJUu48cYbSUxMbNc6gnwvWuro\n", "YIwYCCeS/IH95MseImURcmhZJEyciG3jxrB5fE4n1StX4hk8uF2/65133uH7779nypQp7VpOZ5Hv\n", "RUhHB0LEJiMhxMkRO2cO9jfeCL1hMpHo84Ve7t7d6jOm8nJ6Xn01vuTkNpfpzsykNifnmNdl/vz5\n", "1NXVUVtby9y5c3n++efZv38/VVVVjBw5kttvv5358+czduxYqqur2bx5M83NzZSVlTFx4kR+/OMf\n", "M336dB544AH+9a9/UV5ezsGDBykvL2fatGlceumlfPzxx6xYsYKYmBhiYmL4wQ9+wKRJk4x12LZt\n", "G8uWLcNisRAbG8tvf/tbVFVlwYIF7Nu3D4/Hw3333cc555zDggUL2Lt3L5qmceONNzJmzBimT59O\n", "fHw89fX1zJs3j6eeeoo9e/ag6zq333670ZvyTCeBIISISFEULrroIm644QbKy8s577zzuPrqq2lu\n", "bubnP/85t99+O4qiGPO7XC7y8vLYs2cPv/3tb/nxj39sTFcUBavVyvz58yksLOTVV19l6NChPPvs\n", "syxZsoS4uDjmzp3bah0++ugjxo4dy/XXX8/27dupq6vjww8/JDk5mccff5w9e/bw8ccfU1RURHx8\n", "PI899hiNjY3ceeedXHzxxSiKwhVXXMGoUaN4/fXXiYuLIzs7m5qaGqZPn86KFStOWHmeyiQQhDgF\n", "1ebkhB3Np6SksO8ENRm1JdihpFu3bhQVFfH555/jcDjweDyt5j377LMB6NWrF83NzUecfvDgQRwO\n", "B3FxcQAMHjyYAwcOhH3m1ltvZdWqVTz44IP07duXSZMmsXv3boYNGwZA7969ueGGG/jjH//I0KFD\n", "AYiKiqJfv35G81JwG0pLS/nyyy/Zvn074B+Roba2ltjY2PYVUhcgYxkJcRqqWrMGX4thZHxOJxWF\n", "hZ0SBi298847xMTE8Nhjj/Hzn/8ct9vdap6WtYWjER8fj8vloqamBoCvvvqq1TzvvvsuV155JYsX\n", "LyYtLY3169eTmppKUVER4D8HOW/ePFJTU9m6dSvgr6ns3LmT5EATWnC9+vXrx9ixY3nqqafIzc1l\n", "9OjRRpf5M53UEIQ4TVWvXEmPyZON550puDMdOnQoubm5FBcXk5SURHp6OpWVlUf83OHeUxQFRVG4\n", "7777mDFjBtHR0WiaRp8+fcI+M3DgQBYuXIjdbsfhcDBt2jR69OhBXl4e06dPR9M0fvOb33DWWWex\n", "cOFC7r33Xpqampg0aZJR8wj66U9/ysKFC5k+fToul4trr732mEOsq5JeRqcY6UERImUR0tXL4uWX\n", "X+bGG2/EYrEwb948Lr30UsaPH9/mvF29LI6F9DISQnQ5UVFRTJs2DZvNRnJyMmPGjDnZq3RGkkAQ\n", "Qpx0P/vZz/jZz352slfjjCcnlYUQQgASCEIIIQIkEIQQQgASCEIIIQIkEIQ4TU18ayJ9/tSHPn/q\n", "w8S3OuZGVDt37uTRRx/lgQceYOrUqazs5OsbjtX1118P+EdP3bdvX9i0mpoa7r///oifX7t2LQBb\n", "tmzhjZZjRQlAAkGI09LEtyaycc9G9MC/jXs2MvTloWyr3Hbcy6yvryc3N5ff/OY3LF68mCVLllBa\n", "Wsq6des6cM07xrRp045rKO1Vq1YBMGzYMDIzMzt6tU570u1UiFPQnE/m8EZp6AjWZDLhazHa6e76\n", "1qOdljeUc/U/ryY5uu3RTjPPyiRn+OFHO920aRMXX3wxvXv3Bvy3zH300UexWCx8/vnnPP/881it\n", "VjIzM4mPj+fPf/4zVquV2NhYsrOz8Xq9zJ49G13XaW5u5v777yc1NZVZs2bR0NBAU1MTd9xxB5dc\n", "conxO71eL5MnT+bFF1/EZrPxyiuvYDKZGDp0KEuXLkXTNOPIf9CgQcbngqOnxsTEMHfuXDRNIykp\n", "yZj+4Ycf8vrrr+P1elEUhdmzZ7N+/Xrq6ur4wx/+wMCBA40hvl999VXef/99TCYTF1xwAXfeeScr\n", "V65sc1TWoObm5ja3680332T9+vVomsZll13G5MmTeffdd/nHP/6BxWKhd+/ePPTQQ7z77ru8/fbb\n", "6LrO5MmTqa2t5bXXXkNVVQYPHnzShh6XQBBCAFBdXY2zxfhI4L9gLMjj8bBs2TJ0XeeWW27hmWee\n", "ISEhgb///e+sWrWKIUOGGENTf/vtt7jdbsrKyqipqSEvL48DBw6w+5Bhu81mMz/60Y/48MMPmTBh\n", "Ahs2bGDRokV8+umn3H333QwYMIANGzbw9ttvhwVCcKiJVatWMXbsWK6++mo+/fRT/vrXvwKwe/du\n", "nnjiCWw2G4sXL6agoIBbb72VtWvXMn36dN555x3AP9DdBx98wLPPPovJZOLxxx/n448/bnNU1paB\n", "sGfPnlbbdeDAAdasWcOLL76I1WrlT3/6ExUVFbz00kv86U9/IioqiiVLlrBu3TqioqLo1q0bubm5\n", "1NbWcu+99/LCCy9gtVqZN28ehYWFxiB9J5IEghCnoJzhOWFH84cO1xBsMmrJGe1k5YSVDO55fAPc\n", "JSUlUVJSEvbe3r172b9/PwB9+/YF/G31DoeDhIQEAC644AJefPFFsrKy2L17N4899hhms5nbbruN\n", "/v3789Of/pQ5c+bg9Xq57rrr2LZtG3/+858BuOmmm7j66qt56qmnSE1NpW/fvnTr1o2ePXuSn5+P\n", "zWbD5XIRHR3d5jp///33XH311cZ6BAMhLi6OJ554gqioKL7//vuwMDn08+eddx4mk8lYxrfffgtE\n", "HrV1wIABrbZr7969DBgwwLg75JQpU/j666/p37+/EawXXnghBQUFnHvuuUZ5BsPlkUceAfyD8pWV\n", "lZ16gaBpmnELTYvFQlZWVtgRxKZNm1i/fj0Wi4URI0aQmZl5xM8IIdpvzVVrGPryUMobygF/GBTe\n", "XNiuZWZkZPDXv/6Va665hpSUFLxeL0uXLuXSSy8lNTUVVfWfcuzevTsul4vq6mp69OjBF198Qd++\n", "ffn8889JSEjgySef5L///S/Lly/nnnvuweVy8cQTT1BVVcU999zDyy+/zFNPPRX2u3VdZ82aNfzP\n", "//wPAM888wy/+93vSE1NNZpv2tK/f3+2bdvGD37wA2OU1IaGBlauXMmrr76Kpmk8/PDDBIdsO3To\n", "ttTUVF599VV8Ph+qqrJ161YmTJjAjh07IpbVzp07W23XsmXL2LVrFx6PB4vFwqxZs7jrrrv47rvv\n", "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "train_sizes=np.linspace(.1, 1.0, 15)\n", "plotLearningCurve(rf_clf, train_feature_df, train_target_df, train_sizes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We face the same problems as with the single tree, hence we need to dig into the hyper-parameter space. We explore the maximal depth and the number of trees in the forest." ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "xQmPO942RVFQFIU777yT+fPn43a7MQyD/v37NztmxIgRPProozgcDlRV5ac//SlpaWksW7aMefPm\n", "YRgGP/7xjxk8eDCPPvood9xxB6FQiJtvvjn+jSHGlVdeyfLly5k3bx5+v5+rrrqqwzcoiUTS8+kV\n", "2TjdTWfP6L/00ktce+21WK1Wli5dyvnnn8+0adM67fxfJ5EzEhLZdpD2dze9wf720ms8+96E0+nk\n", "9ttvx263k5uby5QpU7rbJIlEkuBIse+BfOc73+E73/lOd5shkUh6Eb1iglYikUgkbSPFXiKRSPoA\n", "UuwlEomkDyDFXiKRSPoAvUbsZ709i/6/70//3/dn1tuzOuWc+/bt47777uPuu+9m7ty5rOzi/P2O\n", "cs011wBmFc2jR482G6utreWuu+5q8/jXX38dgLVr1/JWG7WHJBJJzyJ91ixyv7b+5kT0CrGf9fYs\n", "1h5ei2j8t/bwWsa9NI7tFdtP+pwNDQ0sWbKEH//4xzz++OM8/fTTFBUV8cYbb3Si5Z3D7bffflLl\n", "klevXg3AN77xDWbOnNnZZkkkki4g/dprsa9di9LBJVIJkXq5+JPFvFV0fM/zUEPLqpelvlJm/HUG\n", "ue7Wq17OHDyTBRccv97OunXrGDt2LP369QNAVVXuu+8+rFYrW7Zs4be//S02m42ZM2cyZMgQHnnk\n", "EWw2G16vl3vuuYdoNMpDDz2EEIJwOMxdd91FQUEBixYtwufzEQqF+OEPf8h5550Xf89oNMott9zC\n", "c889h91u509/+hOapjFu3DiWL1+OYRhxj/2ss86KHxerounxeHj44YcxDIPs7Oz4+EcffcTf/vY3\n", "otEoiqLw0EMP8eabb1JfX8+vf/1rJk6cyLZt25g9ezavvvoq//rXv9A0jXPOOYfbbruNlStXtlqd\n", "M0Y4HG71uv7+97/z5ptvYhgGF154Ibfccgvvvfcef/nLX7BarfTr14+f/exnvPfee7zzzjsIIbjl\n", "lluoq6vjtddeQ1VVRo0a1WZ5aYmkr6D4fGj792Nbv/6kjk8Ise8OqqqqyGlSbwfMxU4xIpEIzzzz\n", "DEII/vu//5tf//rXpKen8+c//5nVq1czZswYvF4v999/P/v37ycYDFJSUkJtbS3Lli2jurqaQ18r\n", "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\n", "dlqfQ+8UhAAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Validation curve to find optimal max_depth of trees\n", "param_range = range(2,17)\n", "plotValidationAccuracyCurve(rf_clf, train_feature_df, train_target_df, 'max_depth', param_range)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We find the optimal value at around depth 14. Let's look for the optimal forest size at that maximal depth (Note: we might only find a local optimum or non at all. To find an actual optimal point we would need a grid search in hyper-parameter space)" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAXsAAAECCAYAAAAfE3cCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", "AAALEgAACxIB0t1+/AAAIABJREFUeJzsvXmcVPWZ7/8+59TSVb1v0As0uyCK4IaQeEdBgl4lMzcx\n", "OmrMaJIxXMYlahJDUBCkRcO4TIaIyYiJMCQ6eeUOiTIJr19i1BuMDMgV0IjdQLN1s/beXXudc35/\n", "nK7T1VvRTXfTVd3Pu1/1qlNnfc6prs95zvN9vs9XMU3TRBAEQRjWqENtgCAIgjD4iNgLgiCMAETs\n", "BUEQRgAi9oIgCCMAEXtBEIQRgIi9IAjCCMCRaKFhGGzYsIFjx47hdDpZvHgxRUVF9vLt27fz1ltv\n", "4XQ6mTNnDosWLTrnNoIgCMKFJ6Fnv2vXLqLRKOXl5dx1111s2rTJXtbS0sLrr7/OihUrWL16NR9+\n", "+CGHDx9OuI0gCIIwNCT07CsqKpg1axYAU6ZMoaqqyl52+vRpxo0bR3p6ur18//791NbW9riNIAiC\n", "MDQk9Oz9fj9er7d9ZVXFMAwAioqKqK6upqmpiVAoxCeffEIwGEy4jSAIgjA0JPTsvV4vgUDA/mya\n", "Jqpq3R8yMjK45557eP7558nIyGDChAlkZWXR2tra4zaCIAjC0JBQhadOncpHH30EQGVlJWVlZfYy\n", "Xdc5dOgQTz31FI888ghHjx5lxowZCbcRBEEQhgYlUSE00zTtzBqAJUuWUFVVRTAYZMGCBfz6179m\n", "165dqKrKF77wBebPn9/tNiUlJec05MSJEwN0SheekpISsX+ISGXbQewfaoaD/b0lodhfSFL9gov9\n", "Q0Mq2w5i/1AzHOzvLRJMFwRBGAGI2AuCIIwAROwFQRBGACL2giAIIwARe0EQhBGAiL0gCMIIIGEP\n", "WkEQkpf8O+7AtX07AOFrr6XujTf6tb+XX36ZyspK6uvrCYVCFBcXk52dzcqVK8+57euvv87ll1/O\n", "tGnTul3+0ksvcdtttzFq1Kh+2SicP5JnPwAMh1zdVLU/lW2H87c//447cP/5zx3m6UVF1L/2GpEZ\n", "M/pl07Zt2zh+/Dj33XffOdcdqdc/WehLnr149oKQhGStXk3a1q09Lteqq7vOO3WKgltuQS8u7nab\n", "4KJFNC9f3mdbnn32WVpaWmhububpp5/mpz/9KWfPnqWuro4bb7yR22+/nWeffZb58+dTX1/Pjh07\n", "CIfDnDhxgjvuuIObbrqJhx9+mEcffZQ//elPnDp1isbGRk6dOsX999/P1VdfzQcffMDPf/5zMjIy\n", "yMjIYNKkSdxzzz22DR9//DEvv/wyTqcTt9vNqlWrUFWVH/7wh5w5c4ZIJMK3v/1tLrroIn74wx9y\n", "8uRJDMPgtttuY968eTz88MPk5ubS2trKmjVrePHFF6mpqcHpdHL33XfblXqHMyL2giAkRFEULr/8\n", "cr7yla9w6tQppk+fzi233EI4HOaOO+7g9ttvR1EUe32/38/atWupqalh2bJl3HTTTfZyRVFwuVw8\n", "++yz7N69m1/96ldceeWV/PjHP+all14iJyeHp59+uosN77//PvPnz+fWW2/l/fffp6Wlhffee4/i\n", "4mJWrFhBTU0NH3zwARUVFeTm5vL4448TCAT41re+xRVXXIGiKNxwww1ce+21/Pa3vyUnJ4fHHnsM\n", "j8fDHXfcwc9//vMLdj2HChF7QUhCmpcvT+iFD2YYpztiBQ0zMzOpqKhgz549eL1ewuFwl3UnT54M\n", "QGFhYa+WNzY24vV6ycnJAWDGjBk0NDR02Obuu+9m8+bNfOc736GgoIDp06dTXV3N7NmzASgtLeUr\n", "X/kKP/rRj7jyyisB8Hg8jBs3zg7TxM6hqqqKTz75hP379+NyuTAMg+bmZrKysvp9nZIZycYRhBSk\n", "7o030OOG+9SLiji9e/egCH0827ZtIyMjg8cff5zbb7+dYDDYZZ14L7835Obm4vf7aWpqAuDTTz/t\n", "ss4f/vAHbrzxRl544QXGjx/PW2+9RVlZGRUVFYDV5rdmzRrKysrYt28fYD1hHD58mOK2sFbMrnHj\n", "xjF//nxefPFFXn75Za6//noyMzP7ZHMqIp69IKQo9a+9Rt6999rTg0lMKK+88krKy8uprKxk9OjR\n", "XHrppdTW1p5zu57mKYqCoih8+9vfZunSpaSnp2MYBmPGjOmwzbRp03juuedIS0tDVVW+853vkJeX\n", "x9q1a3n44YcxDIMHHniAiRMn8txzz/HQQw8RCoW455577CeGGF/84hd57rnnePjhh4lEItx88819\n", "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Validation curve to find optimal number of trees\n", "param_range = range(2,17)\n", "rf_clf.max_depth = 14\n", "plotValidationAccuracyCurve(rf_clf, train_feature_df, train_target_df, 'n_estimators', param_range)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that around a number of 9 trees the scores start to saturate, so we can choose this value as a sweet spot. Let's see how our learning curve looks at this point in hyper-parameter space" ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "train_sizes=np.linspace(.1, 1.0, 15)\n", "rf_clf.max_depth = 14\n", "rf_clf.n_estimators = 9\n", "plotLearningCurve(rf_clf, train_feature_df, train_target_df, train_sizes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Much better! We see that the curves are starting to converge and haven't saturated yet. We hence reduced our bias and it seems that increasing the data-set size might even improve our classifier.\n", "\n", "Finally let's learn the final RF classifier" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "RandomForestClassifier(bootstrap=True, compute_importances=None,\n", " criterion='gini', max_depth=14, max_features='auto',\n", " max_leaf_nodes=None, min_density=None, min_samples_leaf=1,\n", " min_samples_split=2, n_estimators=9, n_jobs=1, oob_score=False,\n", " random_state=None, verbose=0)" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rf_clf.max_depth = 14\n", "rf_clf.n_estimators = 9\n", "rf_clf.fit(train_feature_df, train_target_df)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Interpreting the models\n", "------\n", "\n", "To understand the differences in the model of a random forest vs. the single tree let us try to interpret their predictions.\n", "\n", "### Performance on the test set\n", "A first step is to see how well the two models do on the test set using various scores" ] }, { "cell_type": "code", "execution_count": 88, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.metrics import confusion_matrix, accuracy_score, precision_score, recall_score" ] }, { "cell_type": "code", "execution_count": 87, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tree accuracy: 0.899\n", "RF accuracy: 0.886\n", "\n", "\n", "Tree confusion matrix: \n", "[[23621 1099]\n", " [ 2198 5643]]\n", "RF confusion matrix: \n", "[[23803 917]\n", " [ 2810 5031]]\n" ] } ], "source": [ "tree_prediction = tree_clf.predict(numerical_test_df.drop('target',1))\n", "tree_confusion_matrix = confusion_matrix(numerical_test_df.target, tree_prediction)\n", "tree_accuracy = accuracy_score(numerical_test_df.target, tree_prediction)\n", "\n", "rf_prediction = rf_clf.predict(numerical_test_df.drop('target',1))\n", "rf_confusion_matrix = confusion_matrix(numerical_test_df.target, rf_prediction)\n", "rf_accuracy = accuracy_score(numerical_test_df.target, rf_prediction)\n", "\n", "print \"Tree accuracy: %0.3f\" % tree_accuracy\n", "print \"RF accuracy: %0.3f\" % rf_accuracy\n", "print \"\\n\"\n", "print \"Tree confusion matrix: \\n\", tree_confusion_matrix\n", "print \"RF confusion matrix: \\n\", rf_confusion_matrix" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that the single tree is slighlty more accurate, but that both classifiers perform close to 90% accurate. Looking at the confusion matrix it becomes obvious that the RF is more careful in classifying positives as the total number of false positives is smaller. Let's look at some more metrics to draw a final conclusion" ] }, { "cell_type": "code", "execution_count": 92, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tree precision: 0.837\n", "RF precision: 0.846\n", "\n", "\n", "Tree recall: 0.720\n", "RF recall: 0.642\n" ] } ], "source": [ "print \"Tree precision: %0.3f\" % precision_score(numerical_test_df.target, tree_prediction)\n", "print \"RF precision: %0.3f\" % precision_score(numerical_test_df.target, rf_prediction)\n", "print \"\\n\"\n", "print \"Tree recall: %0.3f\" % recall_score(numerical_test_df.target, tree_prediction)\n", "print \"RF recall: %0.3f\" % recall_score(numerical_test_df.target, rf_prediction)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As already suspected. The RF is more precise than the single tree in terms of assiging the correct class. However the single tree is outperforming the RF in terms of finding true positives in the data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Features of the classifiers?\n", "\n", "Finally it is important to understand what features the classifiers learned. In the case of our linear model this will still be easier to interpret. Let's have a look at the `feature_importances_` of the classifiers." ] }, { "cell_type": "code", "execution_count": 99, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 99, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "qYqMjFTr1q0lSffcc48WLVqk5cuXy8/PT+PHj1dFRYWefPJJhYeHKyYmpjK4xsXFKSsrSyNHjqwM\n", "hKNGjdKcOXNkGIaCgoI0duxY7du375TAWFV4/O+l9l+/vuaaa7RgwQJ9/PHHp4TZ6sYDAACAZLh+\n", "v4YMt9o/MMHdJQAAPIglJVOO2KpvY/MELMF7rtouwTeIxzABAACg6SCAAgAAwFQEUAAAAJjKlE1I\n", "qBlLSqa7S8B5svj5yV5e7u4ycB7onWdr6v0zwlu7uwTgvBBAGxBPvpG8qQvlRnqPRe88G/0DPBNL\n", "8AAAADAVARQAAACmIoACAADAVARQAAAAmIoACgAAAFMRQAEAAGAqAigAAABMRQAFAACAqQigAAAA\n", "MBUBFAAAAKYigAIAAMBUBFAAAACYigAKAAAAUxFAAQAAYCofdxeA3+w6bHd3CThPe8ryZS+nf56I\n", "3nm2uuxfRJCvwvyMOhkLwNkRQBuQKav3uLsEAGiyMgfEKMzP4u4ygCaBJXgAAACYigAKAAAAUxFA\n", "AQAAYCqPD6Bz5syRJO3bt087d+4843Hbt2/X008/XaMxy8rKtHHjxrMes2XLFh05cqTmhQIAAEBS\n", "IwigkyZNkiR99tlnysvLO+NxhlHznY0//vijcnJyznrMqlWrZLPZajwmAAAATnLrLvgNGzYoJydH\n", "J06cUElJiW644Qbl5ORo//79SkxM1KFDh7RlyxaVl5erefPmmjRpkjZu3Kj169dLku644w7NmzdP\n", "s2bN0r/+9S/5+vqqQ4cOOnTokNasWSOHwyHDMDRp0iS5XK4qa9i8ebPeffddeXt7KzQ0VMnJyVq+\n", "fLn27dunf/7zn+rUqZMWL14sp9Op0tJSJSUlqaysTLm5ucrKytK4ceM0f/58ZWRkSJJSU1OVnJys\n", "w4cPa/HixfLx8ZHFYtHEiRPl7+9v2rUFAABoqNz+GKby8nKlpqZq06ZN+uCDD5SRkaHt27frgw8+\n", "UExMjNLS0mQYhjIyMvTDDz9Ikpo1a6YHH3ywcoywsDD169dPoaGh6tixo/7zn//ooYceksVi0cKF\n", "C/XVV18pLCysyvN/8sknuvnmm3XZZZfp3//+t2w2m26//XatXbtW11xzjTZt2qTExERFRUVVht9R\n", "o0YpOjpaSUlJ8vb2rnLcnJwc9e7dWzfeeKNycnJUVlZGAAUAAFADCKDR0dGSpMDAQEVGRko6GTAr\n", "Kirk4+OjuXPnyt/fX8XFxXI4HJIkq9V62jgul6tyljM4OFjz58+Xv7+/8vPzFRcXV3ncrl27tHTp\n", "UknSTTfdpPvuu08rVqzQqlWrFBkZqUsvvfSU2dKwsDBlZ2fLYrHIZrMpMDCw2p/JMAzddtttWr58\n", "uWbMmKGwsDB16tSp2vfNvqpttccAAOpHa+O4As5yKxfq3pG8PQpwdxENkE9EWzWPjnV3GfXK7QH0\n", "TPdmnjhxQp9//rkyMjJUXl6ulJSUymDo5XX6rateXl5yuVw6duyY3nzzTS1YsEAul0uPPvroKcd1\n", "7txZ6enplf9eunSp/vznPys4OFgLFy7Uli1bFBERUXmul19+WRMmTFBkZKSWLVumgwcPVtbtdDpl\n", "sVhUWloqp9Mpm82moqIiuVwuffzxx+rXr58SExO1YsUKffjhhxoyZMhZr0VsemLNLxwAoM6VubsA\n", "QJIlJVNHLQ07mlc1GXgu3B5Az8THx0deXl5KT09X8+bN1aFDhyp3nf8aYGNiYvTqq68qMjJSF154\n", "oaZOnarg4GBZrVYdOXJEERERVYbdjh07atasWQoICJC/v7969uwpu92uffv2aeXKlbriiiv05JNP\n", "Kjw8XDExMSopKZEkxcXFKSsrS6mpqerataseeughtW7dWm3atJFhGOrYsaOee+45+fv7y8vLSyNH\n", "jqzfCwYAAOAhDNeZdufAdPsHJri7BAAA4GaWlEw5YuPdXcZZ1XYG1OMfwwQAAADPQgAFAACAqQig\n", "AAAAMBUBFAAAAKZqsLvgmyJLSqa7S8B5svj5yV5e7u4ycB7onWejf56N/lXNCG/t7hLqHQG0AWno\n", "O95wZqFWq/Lz891dBs4DvfNs9M+z0b+miyV4AAAAmIoACgAAAFMRQAEAAGAqAigAAABMRQAFAACA\n", "qQigAAAAMBUBFAAAAKYigAIAAMBUBFAAAACYigAKAAAAUxFAAQAAYCoCKAAAAExFAAUAAICpCKAA\n", "AAAwlY+7C8Bvdh22u7sEnKc9Zfmyl9M/T0Tvzi4iyFdhfoa7ywDQyBBAG5Apq/e4uwQAOEXmgBiF\n", "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "feature_imp_df = pd.DataFrame()\n", "feature_imp_df['feature'] = train_feature_df.columns\n", "feature_imp_df['tree_importance'] = tree_clf.feature_importances_/tree_clf.feature_importances_.sum()\n", "feature_imp_df['rf_importance'] = rf_clf.feature_importances_/rf_clf.feature_importances_.sum()\n", "feature_imp_df.sort('rf_importance', ascending = True).plot(x='feature', kind='barh', figsize=(10,7))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We immediately see that the tree as well as the RF share the three most important features 'capital-gain', 'education-num' and 'marital-status' to be indicative of whether or not the income is larger than 50K. However the single tree places slightly more importance on those features than the RF which might be connected to some overfitting due to missing randomness that the RF has. Hover the 4th feature is interesting! RF indicates that 'relationship' is a strong indicator of large income, whereas the single tree completely dismisses this feature as unimportant.\n", "\n", "Let's look at this feature in more detail!" ] }, { "cell_type": "code", "execution_count": 124, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Not-in-family' 'Husband' 'Wife' 'Own-child' 'Unmarried' 'Other-relative']\n" ] }, { "data": { "image/png": [ "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\n", "ePBg3HPPPbj//vtRXV2NhQsXNnld43EGXOnbjf2s0dWBYbVa2zwW+/Tpg4sXL8qwJb0HbwE5YfDg\n", "wSgpKUFAQIDt3+HDh/Huu++2+IX6z3/+E0OHDrU9uLrttttw8uTJDrdjsVhQUFBgm2Y0GlFUVITB\n", "gwfbfX9hYSFWrFiBoKAgPP3008jIyMB9992Hr776yrEN/n9lZWUwGo22/+fn50On08HX19ep5ZEy\n", "NH7V+N///jfUajU2bNiAJ554AnfeeScqKyvbfe8tt9yC33//vcm0goIC2zL1en2bx6Kbm1u7X3Mm\n", "BoBTZs6ciePHj2P58uU4duwYfvrpJ7z22mvw9fVt0eH69++Po0ePYt++fThx4gQ++ugj7NixA2az\n", "2fYaLy8vFBcXt7hkHTRoECIjI/HKK69g3759KC4uxqJFi6DRaHD//ffbXU8fHx98+umnWL16NU6c\n", "OIH//Oc/OHDgAEJDQ22vaX753dzV8y9fvowlS5bg6NGj+Oabb7Bu3To8+eSTdteDlM3LywtHjx7F\n", "ddddh7Nnz2L37t04efIksrKy8I9//AMAmhwPV5sxYwaOHj2Kt99+G6Wlpfj444+RnZ1tO87aOxYb\n", "2waunAyxFqAlBkAHXf2LvX///vjggw9QWFiIyZMnIyEhAQ888AAWL17c4vUxMTG44447EBcXh6lT\n", "p6K4uBjp6emorq62FX89+eSTWLt2LV599VWoVKomba1cuRKhoaF45plnMGPGDFgsFmzdurXds+7G\n", "9wcEBCA1NRU//PADJk2ahAULFuCvf/0rnn766Va3q7XlXD1/wIABCAgIwPTp07Fy5UrExcXhscce\n", "6+guJIWKiYnB559/jk2bNuHhhx+2HS85OTnYsGED3NzcbGf5rZ1ArV27Frt27UJUVBS++uorREVF\n", "2W5H2jsW+/bti+nTp+PVV1/Fu+++69oN7wFUwt4pIBGu1AGsWbMG3377bVevCinIkSNHYDabm3wR\n", "IikpCWazGcnJyV24Zr2D3YfA27dvx/79+20PPoODg5GWlgZJkhAQEIDZs2dDpVJh586d2LVrFyRJ\n", "wtSpUzFy5EiYzWakpqbi4sWL0Gq1iI+P5/1i6vYaGhrw/vvvo7KyEpIk4amnnoIkSez3XeD48eN4\n", "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\n", "5ZdfHFq+I22bTCZ4e3t32vKBK884Nm3ahIKCArz44ouduuzO+HztceYz7jbPAIKCgrB//37ccccd\n", "vbp0vqamBsnJyZg9ezaGDRvmkja///57nD17FlOmTIG7uztUKpVTD7cckZSU1OTnuXPn4tprr5W1\n", "zZycHJSXl2POnDmorq6GyWSSvU1HtNfHJ06ciIkTJwK4cvVUUVGBMWPGdNry+/fvj9raWvzxxx/w\n", "8/PDoUOHHH6I2t7yzWYzJEmCWq2GJEm45pprcPnyZYeW3x6dToc//vgDly5dglarxaFDhxAVFdVp\n", "yweAdevWwd3dHS+99FKnHx+d8fna48xn3G0C4Pbbb8fBgwexdOlSAHD5tzfk/oXYaPv27TAajcjM\n", "zERmZiYAYPHixU7db+yo8PBwpKWlYdmyZaivr0dsbCw0Go1s7XWViIgIrF271vYQOC4urltdRbbW\n", "x3/88UfU1tb+6fvCHVn+008/jdTUVAghEBQUhBEjRnTq8seMGYOlS5dCo9HAz88PY8eOdXpbGo/H\n", "q5cfExOD5ORkCCEQERHxp54tNV/+4MGDkZOTA4PBgOXLlwO48kv79ttv77T172ytteHoZ8w/BUFE\n", "pFDd5/SIiIhcigFARKRQDAAiIoViABARKRQDgIhIoRgAREQKxQAgIlIoBgARkUL9H4HF11Y9/W/p\n", "AAAAAElFTkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": [ "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\n", "AABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "marital_status_list = list_of_catList[3]\n", "df_to_plot = numerical_data_df[['relationship','target']]\n", "\n", "df_to_plot[df_to_plot.target ==1].hist()\n", "df_to_plot[df_to_plot.target ==0].hist()\n", "print marital_status_list" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that this is indeed a feature! Not being in the relationship status 'Husband' significantly decreases your chance of making more than 50K a year! Husband's themselves are relatively safe since their status appears mostly uncorrelated with the money they earn. Intuitively it is clear that RF could pick this up since every tree in the forest might split on a different value of the 'relationship' category and the final voting will outweight the insignificant 'husband' value." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Summary\n", "------\n", "\n", "Though the analysis done here is fairly trivial it turns out that using two simple classifiers we are already able to gain insight into a interesting feature. Namley that not being in a relationship status 'Husband' significantly reduces the chances of making more than 50K of income a year. For husbands themselves however, the status is non-decisive. THe feature was detected using a Random Forest classifier but could not be picked up using a single Decision tree.\n", "\n", "I hope you find this notebook useful and it motivates you to play some more with it. Contributions are always welcome!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Miscellenea\n", "\n", "####References\n", "are mostly given throughout the text. But importantly\n", "\n", "- [1] [scikit-learn](http://scikit-learn.org/stable/index.html)\n", "\n", "####Stylesheet" ] }, { "cell_type": "code", "execution_count": 125, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 125, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.core.display import HTML\n", "\n", "def css_styling():\n", " styles = open(\"../styles/custom.css\", \"r\").read()\n", " return HTML(styles)\n", "css_styling()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 }