├── .gitignore ├── README.md ├── LICENSE ├── okCupidInitialAnalysis.ipynb └── .ipynb_checkpoints └── okCupidInitialAnalysis-checkpoint.ipynb /.gitignore: -------------------------------------------------------------------------------- 1 | data/ 2 | pnlpResources 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # cmuDSCWorkshopNotebooks 2 | This Directory Holds The Notebooks I use to study some data for the CMU Data Science Club. 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Michael Rosenberg 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /okCupidInitialAnalysis.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# OkCupid: Dataset Analysis\n", 8 | "\n", 9 | "This is a notebook I am using to test out the feasibility of using the [OkCupid Dataset](https://github.com/rudeboybert/JSE_OkCupid) for our first workshop." 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 10, 15 | "metadata": { 16 | "collapsed": true 17 | }, 18 | "outputs": [], 19 | "source": [ 20 | "#imports\n", 21 | "import pandas as pd\n", 22 | "import seaborn as sns\n", 23 | "import matplotlib.pyplot as plt\n", 24 | "import numpy as np\n", 25 | "from IPython.display import display, HTML\n", 26 | "\n", 27 | "#constants\n", 28 | "%matplotlib inline\n", 29 | "sns.set_style(\"dark\")\n", 30 | "sigLev = 3\n", 31 | "figWidth = figHeight = 5" 32 | ] 33 | }, 34 | { 35 | "cell_type": "markdown", 36 | "metadata": {}, 37 | "source": [ 38 | "# Dataset Information\n", 39 | "\n", 40 | "Before starting with the analysis of this dataset, it will be important to study the codebook of variables in ```data/JSE_OkCupid/okcupid_codebook.txt```. Some important notes I found from viewing this codebook:\n", 41 | "\n", 42 | "* Contains Profiles from 25 Mile Radius outside of San Francisco, with at least one profile picture.\n", 43 | "\n", 44 | "* Data Scraped in 2012.\n", 45 | "\n", 46 | "* Contains $n = 59946$ observations; This is a mid-sized dataset, with a lot of information, although nont big-data unweildy.\n", 47 | "\n", 48 | "* Contains a mix of different demographic and lifestyle data, along with some textual data in the ```essay``` variables.\n", 49 | "\n", 50 | "With that in mind, let's get started with the data." 51 | ] 52 | }, 53 | { 54 | "cell_type": "code", 55 | "execution_count": 3, 56 | "metadata": { 57 | "collapsed": false 58 | }, 59 | "outputs": [], 60 | "source": [ 61 | "okCupidFrame = pd.read_csv(\"data/JSE_OkCupid/profiles.csv\")" 62 | ] 63 | }, 64 | { 65 | "cell_type": "markdown", 66 | "metadata": {}, 67 | "source": [ 68 | "# Assessing Data Quality\n", 69 | "\n", 70 | "As is usual for starting data analyses, let's assess some aspects of data quality." 71 | ] 72 | }, 73 | { 74 | "cell_type": "code", 75 | "execution_count": 4, 76 | "metadata": { 77 | "collapsed": true 78 | }, 79 | "outputs": [], 80 | "source": [ 81 | "numObservations = okCupidFrame.shape[0]\n", 82 | "numFeatures = okCupidFrame.shape[1]" 83 | ] 84 | }, 85 | { 86 | "cell_type": "markdown", 87 | "metadata": { 88 | "variables": { 89 | "numFeatures": "31", 90 | "numObservations": "59946" 91 | } 92 | }, 93 | "source": [ 94 | "As discussed in the codebook, we see that we have {{numObservations}} profiles in this dataset. We also have {{numFeatures}} variables in this dataset, and given that some of these variables are language data (see [the dataset's codebook](data/JSE_OkCupid/okcupid_codebook.txt)), this dataset can be very high-dimensional if we choose to transform it in that manner.\n", 95 | "\n", 96 | "Let us study how many missing values we have in this dataset." 97 | ] 98 | }, 99 | { 100 | "cell_type": "code", 101 | "execution_count": 13, 102 | "metadata": { 103 | "collapsed": false 104 | }, 105 | "outputs": [ 106 | { 107 | "data": { 108 | "text/plain": [ 109 | "age 0\n", 110 | "body_type 5296\n", 111 | "diet 24395\n", 112 | "drinks 2985\n", 113 | "drugs 14080\n", 114 | "education 6628\n", 115 | "essay0 5485\n", 116 | "essay1 7571\n", 117 | "essay2 9638\n", 118 | "essay3 11476\n", 119 | "essay4 10537\n", 120 | "essay5 10847\n", 121 | "essay6 13771\n", 122 | "essay7 12450\n", 123 | "essay8 19214\n", 124 | "essay9 12602\n", 125 | "ethnicity 5680\n", 126 | "height 3\n", 127 | "income 0\n", 128 | "job 8198\n", 129 | "last_online 0\n", 130 | "location 0\n", 131 | "offspring 35561\n", 132 | "orientation 0\n", 133 | "pets 19921\n", 134 | "religion 20226\n", 135 | "sex 0\n", 136 | "sign 11056\n", 137 | "smokes 5512\n", 138 | "speaks 50\n", 139 | "status 0\n", 140 | "dtype: int64" 141 | ] 142 | }, 143 | "metadata": {}, 144 | "output_type": "display_data" 145 | } 146 | ], 147 | "source": [ 148 | "#make numMissing for a given column\n", 149 | "def numMissing(col):\n", 150 | " #helper that checks the number of observations missing from a given col\n", 151 | " missingRows = col[col.isnull()]\n", 152 | " return missingRows.shape[0]\n", 153 | "#then apply over our feature set\n", 154 | "missingSummaryFrame = okCupidFrame.apply(numMissing,axis = 0)\n", 155 | "display(missingSummaryFrame)" 156 | ] 157 | }, 158 | { 159 | "cell_type": "markdown", 160 | "metadata": {}, 161 | "source": [ 162 | "_Table 1: Counts of the number of observations missing per variable._\n", 163 | "\n", 164 | "We see that we have variables with many missing variables, and this is especially consistent with the language data (i.e. the ```essay``` variables). This may suggest that we want to target a particular variable that generally has fewer misisng observations. Let us try out targeting the ```age``` variable." 165 | ] 166 | }, 167 | { 168 | "cell_type": "markdown", 169 | "metadata": {}, 170 | "source": [ 171 | "# Summary Statistics and EDA\n", 172 | "\n", 173 | "Let us start by studying the distribution of our target variable ```age``` and some of the potentially relevant variables for determining age of someone on OkCupid." 174 | ] 175 | }, 176 | { 177 | "cell_type": "code", 178 | "execution_count": 15, 179 | "metadata": { 180 | "collapsed": false 181 | }, 182 | "outputs": [ 183 | { 184 | "data": { 185 | "text/plain": [ 186 | "" 187 | ] 188 | }, 189 | "execution_count": 15, 190 | "metadata": {}, 191 | "output_type": "execute_result" 192 | }, 193 | { 194 | "data": { 195 | "image/png": "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\nzVVmZuYNa86dO+e0326368KFC041v/+k1tXzXu0DAADcPVwedBwOh2JjY7V582YtWrRI1atXd9pf\no0YNBQQEaPv27ca2zMxM7du3Tw0bNpQkhYSEyMPDQ9u2bTNqEhISlJiYKJvNJkmy2WxKT083FjlL\n0o4dO5Sfn6+wsDCj5vDhw06BaNu2bfLx8VFQUFDxXzwAAChRLr91FRMTo3Xr1un999+Xt7e3sRbG\n19dXZcuWlZubm3r37q3Zs2erdu3aql69uqZPn64qVaqoTZs2kiQfHx899dRTio+Pl5+fn8qXL6+J\nEyfKZrMpNDRUkhQUFKSoqCiNHTtW48ePV25uriZMmKBOnToZszXNmzdXUFCQRowYoREjRig5OVnT\np0/Xc889J09PT9cMEAAAuGUuDzrLli2Tm5ubevXq5bQ9Pj5e3bp1kyS98MILys7O1ltvvaX09HQ1\nbtxYH3zwgby8vIz6N998U+7u7oqOjlZOTo6ioqI0btw4p2NOmTJFsbGx6tOnj9zd3dW+fXuNGTPG\n2O/u7q65c+dq/PjxevbZZ+Xt7a3u3btr2LBhJTgCAACgpLg5WH1brJKTM1zdQqkzcfK7SsgPdXUb\nkqS0M0ckSRX/UNfFnVyRduaIxvZuLJst3NWtAIDLBQb6FPsxXb5GBwAAoKQQdAAAgGkRdAAAgGkR\ndAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAA\ngGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkR\ndAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAA\ngGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkR\ndAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAA\ngGmViqCze/duvfjii4qKipLVatWmTZuc9o8cOVJWq9Xp54UXXnCquXz5smJiYtS0aVPZbDZFR0cr\nNTXVqSYtLU2vvfaawsPD1aRJE40ePVpZWVlONYmJiRowYIAaNmyoyMhITZ48WXl5eSVz4QAAoESV\n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\nBYWFhWnPnj2SpP3798tutysyMtKoqVOnjqpVq6a9e/dKkvbs2SNfX18FBwcbNREREXJ3dzfC0N69\ne2WxWFSpUiWjplmzZsrMzNTRo0dL9DoBAEDxK/VB5+psy+8/5eXv72+swUlJSZGnp6cqVKhQoCYl\nJcWo+W2Aka58eszPz8+pxt/f36nm6nmv9gEAAO4epT7oXI/D4birjgsAAO68Uh90AgMDJcmYdbkq\nNTXVmG0JCAhQbm6uMjMzb1hz7tw5p/12u10XLlxwqvn9J7WunvdqHwAA4O5R6oNOjRo1FBAQoO3b\ntxvbMjMztW/fPjVs2FCSFBISIg8PD23bts2oSUhIUGJiomw2myTJZrMpPT1dBw4cMGp27Nih/Px8\nhYWFGTWHDx92CkTbtm2Tj4+PgoKCSvQ6AQBA8SsV392QlZXl9FyckydP6uDBg6pYsaKqVq2q3r17\na/bs2apdu7aqV6+u6dOnq0qVKsantHx8fPTUU08pPj5efn5+Kl++vCZOnCibzabQ0FBJUlBQkKKi\nojR27FiNHz9eubm5mjBhgjp16mTM1jRv3lxBQUEaMWKERowYoeTkZE2fPl3PPfecPD097/zAAACA\n21Iqgs6PP/6o3r17S7ryDJ34+HhJUvfu3TVp0iS98MILys7O1ltvvaX09HQ1btxYH3zwgby8vIxj\nvPnmm3J3d1d0dLRycnIUFRVlPJfnqilTpig2NlZ9+vSRu7u72rdvrzFjxhj73d3dNXfuXI0fP17P\nPvusvL291b17dw0bNuwOjAIAAChubg5W3xar5OQMV7dQ6kyc/K4S8kNd3YYkKe3MEUlSxT/UdXEn\nV6SdOaKxvRvLZgt3dSsA4HKBgT7FfsxSv0YHAADgVhF0AACAaRF0AACAaZWKxcjAvSo/z65Dh352\ndRtOgoMbOC30B4C7GUEHcKGLaac1f12ifHZk3rz4DshIPaHJr4rF0QBMg6ADuJiPf61S8ykwADAb\n1ugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugA\nAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADT\nIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugA\nAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADT\nIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTuiuCzsyZM2W1Wp1+Onbs\n6FQzffp0NW/eXGFhYerbt6+OHz/utP/y5cuKiYlR06ZNZbPZFB0drdTUVKeatLQ0vfbaawoPD1eT\nJk00evRoZWVllfj1AQCAknFXBB1Jqlu3rrZu3Wr8fPTRR8a+efPmacmSJYqNjdUnn3wib29v9evX\nTzk5OUZNXFyctmzZohkzZmjJkiVKSkrS0KFDnc4xfPhwJSQkaOHChZozZ46+++47jR079o5dIwAA\nKF53TdApU6aM/P39jZ+KFStKkhwOhxYvXqzBgwerdevWslgsmjx5spKSkrRp0yZJUkZGhlasWKFR\no0apadOmCg4OVlxcnPbs2aMffvhBknTs2DF9++23mjhxokJDQxUeHq4xY8Zo/fr1Sk5Odtl1AwCA\nW3fXBJ3jx48rKipKbdq00fDhw3X69GlJ0qlTp5SSkqKIiAijtkKFCgoLC9OePXskSfv375fdbldk\nZKRRU6dOHVWrVk179+6VJO3Zs0e+vr4KDg42aiIiIuTu7m6EIQAAcHfxcHUDhREWFqb4+Hg9+OCD\nSkpK0qxZs9SzZ0+tWbPGmG0JCAhweo+/v7+xBiclJUWenp6qUKFCgZqUlBSjplKlSk77PTw85Ofn\nZ9QAAIC7y10RdFq0aGH8+uGHH1ZYWJhatWqlDRs2qE6dOtd8j8PhuFPtAQCAUuquuXX1Wz4+Pnrg\ngQd08uRJBQYGSlKBWZfU1FRjlicgIEC5ubnKzMy8Yc25c+ec9tvtdl24cKHAbBEAALg73JVB5+LF\nizp+/LgCAwNVs2ZNBQQEaPv27cb+zMxM7du3Tw0bNpQkhYSEyMPDQ9u2bTNqEhISlJiYKJvNJkmy\n2WxKT0/XgQMHjJodO3YoPz9fYWFhd+jKAABAcborbl39v//3/9S6dWtVrVpVSUlJmjlzpjw9PdWp\nUydJUu/evTV79mzVrl1b1atX1/Tp01WlShW1adNG0pUZoKeeekrx8fHy8/NT+fLlNXHiRNlsNoWG\nhkqSgoKCFBUVpbFjx2r8+PHKzc3VhAkT1KlTJ2PWCAAA3F3uiqBz9uxZvfrqq0pLS1OlSpXUuHFj\nLV++XPfff78k6YUXXlB2drbeeustpaenq3Hjxvrggw/k5eVlHOPNN9+Uu7u7oqOjlZOTo6ioKI0b\nN87pPFOmTFFsbKz69Okjd3d3tW/fXmPGjLmj1woAAIqPm4NVu8UqOTnD1S2UOhMnv6uE/FBXtyFJ\nSjtzRJJU8Q91XdzJFScPfCEf/5qlpp+0M0c0tndj2Wzhrm4FwD0oMNCn2I95V67RAQAAKAyCDgAA\nMC2CDgAAMC2CDgAAMC2CDgAAMC2CDgAAMC2CDgAAMC2CDgAAMC2CDgAAMK274isgANwZ+Xl2HTr0\ns6vbMAQHN3D6KhcAKCqCDgDDxbTTmr8uUT47Ml3dijJST2jyq+LrKADcFoIOACc+/rVKzXdvAcDt\nYo0OAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIO\nAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAw\nLYIOAAAwLQ9XNwAA15KfZ9ehQz+7ug0nwcEN5OXl5eo2ABQBQQdAqXQx7bTmr0uUz45MV7ciScpI\nPaHJr0o2W7irWwFQBAQdAKWWj38tVfxDXVe3AeAuxhodAABgWgQdAABgWgQdAABgWgQdAABgWgQd\nAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABg\nWh6ubgAA7gb5eXYdOvSzq9twEhzcQF5eXq5uAyjVCDoAUAgX005r/rpE+ezIdHUrkqSM1BOa/Kpk\ns4W7uhWgVCPoXMPSpUs1f/58paSkyGq1asyYMQoNDXV1WwBczMe/lir+oa6r2wBQBKzR+Z3169cr\nPj5eL730klauXCmr1ar+/fvr3Llzrm4NAAAUEUHndxYuXKhnnnlG3bt3V1BQkGJiYnTffffps88+\nc3VrAACgiAg6v5GTk6OffvpJERERxjY3NzdFRkZq7969LuwMAADcCtbo/Mb58+eVl5engIAAp+2V\nKlVSQkKCi7pCcctIPeHqFgxZF85Icri6DUNp6qc09SKVvn4yUk/o0KEKrm4Dd6F7bQE7QaeYBQb6\nuLqFUmf622Nd3QIA4B7FravfuP/++1WmTBmlpKQ4bU9NTVVgYKCLugIAALeKoPMbXl5eCg4O1vbt\n241t+fn52r59uxo2bOjCzgAAwK3g1tXv9OnTRyNHjlRISIgaNGigRYsW6fLly3ryySdd3RoAACgi\ngs7vdOzYUefPn9eMGTOUnJys+vXr6+9//7sqVark6tYAAEARuTkcjtLzMQIAAIBixBodAABgWgQd\nAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABgWgSdYrR06VK1bt1aoaGhevrpp7Vv3z5Xt1RqzJ07\nV08++aQaNWqkyMhIDRkyRL/88kuBuunTp6t58+YKCwtT3759dfz4cRd0WzrNmzdPVqtVcXFxTtsZ\ns4LOnj2r4cOHq2nTpgoLC1OXLl20f/9+pxrG7f/Y7XZNnTpVrVu3VlhYmNq2bav333+/QN29PGa7\nd+/Wiy++qKioKFmtVm3atKlAzc3G5/Lly4qJiVHTpk1ls9kUHR2t1NTUO3UJLnGjcbPb7Xr77bfV\npUsX2Ww2RUVF6Y033lBSUpLTMW533Ag6xWT9+vWKj4/XSy+9pJUrV8pqtap///46d+6cq1srFXbv\n3q1evXrp008/1YIFC2S329WvXz9lZ2cbNfPmzdOSJUsUGxurTz75RN7e3urXr59ycnJc2HnpsG/f\nPi1fvlwWi0Vubm7GdsasoAsXLujPf/6zvLy89MEHH2j9+vUaNWqU/Pz8jBrGzdmcOXP06aefaty4\ncdqwYYOGDx+uDz74QB9++KFRc6+PWXZ2turVq6dx48ZJktP/h1LhxicuLk5btmzRjBkztGTJEiUl\nJWno0KF39DrutBuNW3Z2tg4ePKghQ4Zo5cqVmjVrln755RcNGjTI6Ri3PW4OFIunnnrKMWHCBON1\nfn6+IyoqyjF37lwXdlV6paamOiwWi2P37t0Oh+PKeDVr1syxYMECoyYjI8PRoEEDx7p161zVZqmQ\nmZnpaNeunWPbtm2O559/3hEXF+dwOBiz63n77bcdPXv2vO5+xq2ggQMHOkaPHu20bejQoY4RI0Y4\nHA7G7PcsFotj06ZNxuvCjE96erojODjY8fnnnxs1x44dc1gsFsfevXvvXPMu9Ptxu5Z9+/Y5LBaL\n4/Tp0w6Ho3jGjRmdYpCTk6OffvpJERERxjY3NzdFRkZq7969Luys9MrIyJAkVaxYUZJ06tQppaSk\nOI1hhQoVFBYWpj179rikx9IiNjZWrVq1chobiTG7ni+++ELBwcGKjo5WZGSkunfvrk8//dTYz7gV\nFBUVpW3btunXX3+VJP3888/6/vvv1aJFC0mM2c0UZnz2798vu92uyMhIo6ZOnTqqVq0aY/gbGRkZ\ncnNzk4+Pj6TiGTe+66oYnD9/Xnl5eQoICHDaXqlSJSUkJLioq9IrPz9fcXFxCg8P10MPPSRJSk5O\nlqQCY+jv76+UlJQ73mNpsW7dOh08eFCfffZZgX2M2bWdPHlSH3/8sfr27avBgwdr3759mjhxojw9\nPdWtWzfG7Rp69uyp06dPq0OHDvLw8FBeXp5eeeUVde7cWRK/127mRuNzdS1JSkqKPD09VaFChevW\n3OsuX76sKVOmqHPnzipfvryk4hk3gg7uuJiYGB09elQfffTRTWsdDofc3e/NicfTp0/rb3/7mxYu\nXCgvLy9ju+MmX093L4+ZdOX6Q0JC9Morr0iSrFarDh8+rGXLlqlbt243fN+9Om6LFy/WqlWr9M47\n76hu3br66aefFBcXp8qVKzNmt+Fm/6/i/+Tm5mrYsGGSpPHjxxfrsfkdWgzuv/9+lSlTpsC/bFJT\nUxUYGOiirkqn2NhYff3111q8eLGqVKlibL86Ttcaw9//K+leceDAAZ07d049evRQcHCwgoODtXv3\nbn344YcKCQlhzK6jcuXKxkzhVXXq1FFiYqIkfq9dy5w5czRo0CB17NhRdevWVdeuXdWnTx/NnTtX\nEmN2M4UZn4CAAOXm5iozM/O6Nfeq3Nxcvfzyyzpz5owWLlxozOZIxTNuBJ1i4OXlpeDgYG3fvt3Y\nlp+fr+3bt6thw4Yu7Kz0cDgcio2N1ebNm7Vo0SJVr17daX+NGjUUEBDgNIaZmZnat2/fPTuGERER\nWrt2rVavXq3Vq1dr1apVCgkJ0RNPPKFVq1YxZtdhs9kK3DL+9ddfjd9zjFtBDodDZcqUcdrm7u5u\nzEgwZjdWmPEJCQmRh4eHtm3bZtQkJCQoMTFRNpvtjvdcWlwNOSdOnNDChQudPh0pFc+4lRlf3HNE\n96jy5ctr+vTpqlq1qjw9PTV9+nQdOnRIf/vb3+Tt7e3q9lwuJiZGa9eu1fTp0xUYGKisrCxlZWXJ\nw8NDHh4ecnNzU15enubOnaugoCDl5ORo4sSJunz5ssaOHVvgD+F7gZeXlypVqmT8+Pv7a82aNapR\no4a6du3KmF1HtWrV9N5776lMmTIKDAzUN998o/fee0/Dhg3Tww8/zLhdw/Hjx7VixQrVqVNHHh4e\n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\n", 196 | "text/plain": [ 197 | "" 198 | ] 199 | }, 200 | "metadata": {}, 201 | "output_type": "display_data" 202 | } 203 | ], 204 | "source": [ 205 | "#plot age\n", 206 | "plt.hist(okCupidFrame[\"age\"])\n", 207 | "#then make some labels\n", 208 | "plt.xlabel(\"Age (In Years)\")\n", 209 | "plt.ylabel(\"Count\")\n", 210 | "plt.title(\"Distribution of Age\")" 211 | ] 212 | }, 213 | { 214 | "cell_type": "markdown", 215 | "metadata": {}, 216 | "source": [ 217 | "_Figure 1: Distribution of Age._\n", 218 | "\n", 219 | "We see that the distribution of age is fairly young, with most people being around $20$ to $35$ years old. We see that the distribution is relatively right-skewed, with fewer observations among middle-aged individuals. This may have an effect towards a relatively imbalanced regression.\n", 220 | "\n", 221 | "Perhaps income might be useful in determining age, as generally older persons tend to have higher incomes from being farther in their careers. Let us study the distribution of income." 222 | ] 223 | }, 224 | { 225 | "cell_type": "code", 226 | "execution_count": 17, 227 | "metadata": { 228 | "collapsed": false 229 | }, 230 | "outputs": [ 231 | { 232 | "data": { 233 | "text/plain": [ 234 | "" 235 | ] 236 | }, 237 | "execution_count": 17, 238 | "metadata": {}, 239 | "output_type": "execute_result" 240 | }, 241 | { 242 | "data": { 243 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAGMCAYAAADHppbUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XtYlHX+//EXCLokSAnU5nGTasZAhgmJANE8VK7aATtY\nWquupWWF30xb84hoRGQH6KRuaQcstZ9pu6nVWqkpUlqgq2kusppGycEDoCUw3L8/urjXEQ83qQ3o\n83FdXlfzud9z3+/741zNy3s+c4+XYRiGAAAAcFLenm4AAACgMSA0AQAAWEBoAgAAsIDQBAAAYAGh\nCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAGN1Isvvii73f67HOvee+/Vvffeaz7+8ssv\nZbfb9cknn/wuxx83bpx69Ojxuxzrtzp06JAmTJig+Ph42e12paamerolAGeYj6cbACC9//77Gj9+\nvPm4adOmCgwM1JVXXqnrrrtO/fv3V/Pmzd2e4+XlJS8vr3odZ+/evVq4cKGuv/76egeu+h6rvk7W\n228519/brFmztGTJEo0cOVLt2rVTaGjoCWt79OihK6+8UjNnzvwdOwRwughNQAMyatQotWnTRtXV\n1SouLtaXX36p1NRUzZ07V6+++qpsNptZ++CDD2r48OH12n9RUZFefvlltW3btl6hae7cufU6zm9x\nst6mTZumhv4zmTk5OYqMjNRDDz3k6VYAnCWEJqAB6dq1q8LCwszHw4cPV05Ojh544AE9+OCDWr58\nuZo1ayZJatKkiZo0afKbjmM1gPzyyy/6wx/+IB+f3+9/Fcfr7fc8/m9VWlqqK664wtNtADiLWNME\nNHDXXnutRo4cqcLCQv3jH/8wx4+3pmnt2rW6++67FR0dLafTqd69e+v555+X9Os6pDvuuEOS9MQT\nT8hut8tut2vJkiWSfl23dNNNN2nz5s0aNGiQIiMjzeceu6apVnV1tZ577jnFx8fL6XTqwQcf1E8/\n/eRW06NHDz3xxBN1nnv0Pk/V2/HWNB0+fFhpaWnq1q2bOnXqpN69e2vOnDl1jmO32zVt2jStWLFC\n/fr1U6dOndSvXz998cUXJ5pyN6WlpRo/frzi4uIUERGhW265xeyrtne73a4ffvhBK1euNHsvLCy0\ntH9J2rNnj+x2u+bMmaMFCxaoV69e6tSpk26//Xb9+9//rlO/Y8cOjRo1Stdee60cDofb33Otb7/9\nVvfdd5+ioqLkdDo1ZMgQbdy40a3m/fffl91u14YNG5SSkqKYmBhFR0dr8uTJqqqq0sGDB/X444/r\nmmuuUUxMjJ555pk6vdTU1OiNN95Q3759FRERofj4eE2ePFllZWWWzx9oLBr+P98A6JZbbtFzzz2n\ntWvXmuFCcl9n9J///EcjRoxQx44dNWrUKDVt2lQ7d+7UN998I0m6/PLLlZSUpMzMTA0YMECdO3eW\nJDmdTnMf+/fv1/Dhw9W3b1/deuutCgoKOu6xas2cOVPe3t4aPny4SktL9eabb2rIkCH64IMPzCti\nJ1O7Tyu9HX18wzD04IMP6quvvtIdd9whu92uL774Qunp6dq7d2+dkPb111/rk08+0aBBg3TBBRfo\n7bffVlJSkj7//HNdeOGFJ+zvl19+0b333qvvv/9e9957r9q0aaPly5dr3LhxKisr01/+8hddfvnl\nSk9P11NPPaVLL71UQ4cOlSRddNFFpzz/Y3344Yc6dOiQ7r77bknSa6+9pkceeUQrVqwwr7Zt27ZN\ngwYNUtOmTTVgwAC1adNGu3bt0sqVK/Xoo49K+vW1MGjQIAUEBOj+++9XkyZNtGDBAt17773KyspS\nRESE23GnT5+uiy++WP/3f/+nvLw8LVy4UP7+/vr666/Vrl07jR49WitXrtTrr7+uK664Qrfeeqv5\n3MmTJ2vJkiXq37+/Bg8erN27dysrK0tbt27Vu+++2yiuEgKWGQA8btGiRYbNZjM2b958wpqoqCgj\nMTHRfJyZmWnYbDbz8dy5cw2bzWbs37//hPvYtGmTYbPZjMWLF9fZds899xg2m81YsGDBcbfde++9\n5uOcnBzDZrMZ3bp1Mw4dOmSOL1++3LDZbMZbb71ljnXv3t0YN27cKfd5st7+9re/Gd27dzcf/+tf\n/zJsNpsxc+ZMt7qkpCTDbrcb33//vTlms9mMTp06uY1t27bNsNlsRlZWVp1jHe2NN94wbDab8c9/\n/tMcq6qqMgYMGGA4nU6joqLC7TxHjBhx0v2dqHb37t2GzWYzrr32WqOsrMwc//TTTw2bzWZ8/vnn\n5tigQYOMqKgo48cffzzh/keOHGl06tTJ2L17tzlWVFRkXH311cY999xjjtW+7u677z635w8YMMCw\n2WxGcnKyOeZyuYxu3bq5PX/9+vWGzWYzli5d6vb8L774os68AecCPp4DGokLLrhAhw4dOuH2wMBA\nSdKKFStUU1Pzm47RrFkz9e/f33L9LbfcogsuuMB83Lt3b4WEhGjVqlW/6fhWrV69Wj4+PnU+Mvzr\nX/8qwzC0evVqt/G4uDi1bdvWfGyz2eTv7689e/ac8jghISHq16+fOebj46O//OUvOnz4sNavX38G\nzuZ/+vTpo4CAAPNxVFSUJJl97tu3Txs2bNBtt92mP/7xj8fdh8vl0tq1a9WrVy+1adPGHK89j6+/\n/rrO6+j22293e1x7JerocW9vb4WFhbnN2UcffaSAgABde+212rdvn/nnqquukp+fn7788svfMg1A\ng8V1U6CROHz4sIKDg0+4vU+fPnrvvfc0ceJEPfvss4qNjdX111+v3r17W/66/iWXXFKvj1P+9Kc/\n1Rlr165dvdbz/BY//PCDLr74YrfAJkkdOnSQpDrHv/TSS+vso0WLFjp48OApj3O8czzRcU7XsX3W\nBuHaPnfv3i1JJ11wvm/fPv3yyy+67LLL6mzr0KGDampq9NNPP7ndEuHY49YGt+ONHz1nu3btUnl5\nueLi4k7YC3AuITQBjcBPP/2kiooKtW/f/oQ1zZo107x585STk6NVq1bpiy++0LJly7RgwQLNmTNH\n3t6nvrBsZR1SfZ0osLlcrtNa72LU4xYEJ/qWYX328XvwVJ8nOu7xXjNH91JTU6OgoCDNmDHjuM9v\n2bLlmWkQaCAITUAj8MEHH0iSunTpctI6Ly8vxcbGKjY2VuPGjdOsWbP0/PPP68svv1RsbOwZv0Hk\nzp073R4bhqFdu3apY8eO5lhgYOBxv0lVWFiodu3aufVuVevWrZWTk6NDhw653fSzoKBAktSqVSvL\n+zrVcb777jsZhuHWX+1xWrdufUaOY1XtR4zbt28/YU3Lli3l5+dn9ni0goICeXt7n/Cjvfpq166d\ncnJydPXVV5+VwA00NKxpAhq4devW6ZVXXlHbtm110003nbDueB811d6SoLKyUpLk5+d3wtrfYsmS\nJW7rYz766COVlJSoa9eu5ljbtm21ceNGVVVVmWOff/55nVsTnKq3o0NLt27d5HK5NG/ePLeaN954\nQ97e3m7HPx3dunVTSUmJli1bZo5VV1fr7bffVvPmzRUdHX1GjmNVy5YtFR0drUWLFunHH39021Z7\nBahJkyaKj4/Xp59+qh9++MHcXlJSog8//FBRUVF17i5fH0f/PfTp00cul0uvvPJKnbrq6mqVl5f/\n5uMADRFXmoAGZNWqVcrPz5fL5VJJSYm+/PJLZWdnq3Xr1nr11VfVtGnTEz73pZde0tdff61u3bqp\nVatWKi0t1TvvvKNLL73UXFDcrl07tWjRQvPnz9cFF1ygCy64QA6Hw23B8Ikc7yOiwMBADRw4UP37\n91dJSYnefPNNtW/fXnfeeadZc8cdd+jjjz/Wfffdp969e+v777/XP//5T7Vr185tn6fq7ejaHj16\nKCYmRs8//7z27Nkjm82mtWvX6rPPPtOQIUPcFn2fjgEDBmjBggUaN26cNm/erNatW+vjjz9Wbm6u\nJkyYUGdN1e9hwoQJGjhwoBITEzVgwAC1bt1aP/zwg1atWmXeP+r//u//tHbtWg0cOFADBw6Ut7e3\nFixYoOrqao0dO/a0jn/030N0dLQGDBigWbNmaevWrYqLi5Ovr6927typjz/+WBMnTtQNN9xwWscD\nGhJCE9AA1P7rPTMzU5Lk6+urwMBA2Ww2TZgwQf3796/zBn3s77H17NlThYWFWrRokfbv36+WLVvq\nmmuuUVJSkvz9/c39pqWl6bnnntPUqVPlcrn01FNPWQpNx3585uXlpQceeEDfffedZs+ercOHDysu\nLk7JycluH9V06dJF48aN09y5c/XUU0+pU6dOmj17tp566im3fZ6st2PP1cvLS6+++qoyMzO1bNky\nvf/++2rTpo3+9re/mfdJOhOaNWumt99+WzNmzNCSJUtUUVGhDh06KC0tze1eRb8nu92uhQsXKiMj\nQ++++66OHDmi1q1b689//rNZc/nll+udd97Rs88+q1mzZskwDDkcDj377LN17tF0vI9FT/Rbf8cb\nnzp1qsLDwzV//ny98MILatKkidq0aaNbbrlFV1999Rk6a6Bh8DIa2kpIAACABqhBrGnau3evxowZ\no5iYGDkcDvOnHI6WkZGhLl26yOFwaOjQodq1a5fb9iNHjmjq1KmKiYmR0+lUUlKSSktL3WoOHDig\nxx57TFFRUYqOjtaECRN0+PBht5rCwkINHz5ckZGRiouLU3p6ulwu19k5cQAA0Gh4PDQdPHhQd999\nt5o2barXXntNy5Yt0xNPPGHen0SSZs+eraysLKWkpGjhwoXy8/PTsGHDzMWtkpSamqqVK1cqMzNT\nWVlZKioq0sMPP+x2rDFjxqigoEBz587VzJkztWHDBk2aNMnc7nK5NGLECLlcLs2fP19paWlavHix\n+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\nAeZYSUmJgoKC3OqCg4MlScXFxaddU1FRocrKSrO29nm1WrZsqZKSEknS/v375XK5TlrTWJxL53Iq\nNTU1Sk1NVVRUlC6//HJJ/3tdHHv+QUFB5uf9JSUl8vX1lb+/f52a2jkqKSmp85uIPj4+CgwMdKs5\nE6/h38PSpUu1detWjR49us425uz4du/erXfffVeXXXaZ5syZo7vvvlvTp0/XkiVL3Hph3v5n0KBB\n6tOnj3r37q3w8HAlJiZq8ODB6tevn1sfzNmJNcY5svI+fCrn5A/2zpgx45SL5JYvX67LLrvMfLx3\n717dd999+vOf/6w77rjDrdY4xc/zeXl5/fZmcc6bOnWq8vPz9c4775yy9lSvtd+qMbyGf/zxRz35\n5JOaO3eumjZtao6fqvfzec6kX/sMDw/Xo48+Kkmy2+3avn275s+fr1tvvfWkzztb/ZxMQ5i3t956\nS0uWLNFzzz2nK664Qt9++61SU1N18cUXM2en6Vyfo3MyNP31r3/VbbfddtKaNm3amP+9d+9e/eUv\nf1FUVJSmTZvmVhcSEqJ///vfbmO16TckJETSr0n12Ksjx9aEhIQct8bf3998gzheTWlpqbmPiy66\nSE2aNDlpTWNxLp3LyaSkpGj16tXKysrSJZdcYo7XnmNJSYnbv9RKS0t11VVXSfr1dVVVVaWKigq3\nf6mVlpaazwkODta+ffvcjlldXa2DBw+61ZyJ1/DZtmXLFu3bt0/9+/c3x1wulzZs2KB33nlHy5cv\nN/tizv7n4osvNq9g1urQoYM++eQTt16Yt/+ZOXOmHnroIfXp00eSdMUVV6iwsFCzZs3SrbfeypxZ\n0BjnyMr78Kmckx/PtWzZUpdddtlJ//j6+kr6X2AKDw/XU089VWdfkZGR2r59u9tfanZ2tgICAhQa\nGmrWbNiwQdXV1W41HTp0UEBAgFmzbt06t31nZ2fL6XS6HSs7O7tOTWRkpCSpadOmCgsLc9tPTU2N\n1q1bZ9Y0FufSuRyPYRhKSUnRp59+qjfffFOtW7d2296mTRsFBwe7nX9FRYU2bdpknn94eLh8fHzc\nXhMFBQUqLCw0XzdOp1NlZWXasmWLWZOTk6Oamho5HA6z5ky8hs+22NhYffjhh/rggw/0wQcfaMmS\nJQoPD9fNN9+sJUuWMGcn4HQ6VVBQ4Da2c+dO8zXHvNVlGIaaNGniNubt7W1ezWDOTq0xzpGV9+FT\n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\n", 244 | "text/plain": [ 245 | "" 246 | ] 247 | }, 248 | "metadata": {}, 249 | "output_type": "display_data" 250 | } 251 | ], 252 | "source": [ 253 | "plt.hist(okCupidFrame[\"income\"])\n", 254 | "plt.xlabel(\"Income (In USD)\")\n", 255 | "plt.ylabel(\"Count\")\n", 256 | "plt.title(\"Distribution of Income\")" 257 | ] 258 | }, 259 | { 260 | "cell_type": "markdown", 261 | "metadata": {}, 262 | "source": [ 263 | "_Figure 2: Distribution of Income (in USD)._\n", 264 | "\n", 265 | "We see that the distribution of income is heavily right-skewed, as in typical of income distributions. That being said, it is apparent that this distribution may be affected by the \"Prefer not to say\" category ($-1$ in this variable). Let us see how many of those observations occur." 266 | ] 267 | }, 268 | { 269 | "cell_type": "code", 270 | "execution_count": 21, 271 | "metadata": { 272 | "collapsed": false 273 | }, 274 | "outputs": [], 275 | "source": [ 276 | "numNotReportIncome = okCupidFrame[okCupidFrame[\"income\"] == -1].shape[0]\n", 277 | "propNotReportIncome = float(numNotReportIncome) / okCupidFrame.shape[0]\n", 278 | "#get percent\n", 279 | "percentMul = 100\n", 280 | "percentNotReportIncome = propNotReportIncome * percentMul" 281 | ] 282 | }, 283 | { 284 | "cell_type": "markdown", 285 | "metadata": { 286 | "variables": { 287 | "int(np.round(percentNotReportIncome))": "81", 288 | "missingSummaryFrame[\"essay0\"]": "5485", 289 | "numNotReportIncome": "48442" 290 | } 291 | }, 292 | "source": [ 293 | "We see that {{numNotReportIncome}} of our observations did not report their income, which is about {{int(np.round(percentNotReportIncome))}}% of the observations in our dataset. This is not ideal, and this suggests that this variable will not be strong for informing our age observations.\n", 294 | "\n", 295 | "Another possible option is to look at the summary of individuals (```essay0```) to inform us of their age. It is likely that the language content, language complexity, and summary length will be strong informers of an individual's maturity, which is (hopefully) correlated with their age.\n", 296 | "\n", 297 | "Let us filter out the observations that do not have the summary (around {{missingSummaryFrame[\"essay0\"]}} observations) and then study that language." 298 | ] 299 | }, 300 | { 301 | "cell_type": "code", 302 | "execution_count": 24, 303 | "metadata": { 304 | "collapsed": false 305 | }, 306 | "outputs": [], 307 | "source": [ 308 | "filteredOkCupidFrame = okCupidFrame[okCupidFrame[\"essay0\"].notnull()]" 309 | ] 310 | }, 311 | { 312 | "cell_type": "markdown", 313 | "metadata": {}, 314 | "source": [ 315 | "We will start analyzing this data by first filtering out all the stopwords (i.e. punctuation) from our data and remove any words that are not featured in the standard english dictionary. We will use the [Natural Language Toolkit](http://www.nltk.org) to perform this task." 316 | ] 317 | }, 318 | { 319 | "cell_type": "code", 320 | "execution_count": 25, 321 | "metadata": { 322 | "collapsed": true 323 | }, 324 | "outputs": [], 325 | "source": [ 326 | "#language imports\n", 327 | "import nltk\n", 328 | "import collections as co\n", 329 | "import StringIO\n", 330 | "import re\n", 331 | "#find full distribution of word frequencies\n", 332 | "#write the all to a string wrtier\n", 333 | "stringWriteTerm = StringIO.StringIO()\n", 334 | "filteredOkCupidFrame[\"essay0\"].apply(lambda x: stringWriteTerm.write(x))\n", 335 | "#get the full string from the writer\n", 336 | "summaryString = stringWriteTerm.getvalue()\n", 337 | "stringWriteTerm.close()\n", 338 | "#lower and split into series of words (tokens) on multiple split criteria\n", 339 | "summaryString = summaryString.lower()\n", 340 | "#split on \".\", \" \", \";\", \"-\", or new line\n", 341 | "summaryWordList = re.split(\"\\.| |,|;|-|\\n\",summaryString)" 342 | ] 343 | }, 344 | { 345 | "cell_type": "code", 346 | "execution_count": 26, 347 | "metadata": { 348 | "collapsed": true 349 | }, 350 | "outputs": [], 351 | "source": [ 352 | "#keep only legal words, and non stop-words (i.e. \".\" or \"&\")\n", 353 | "#get counter of legal English\n", 354 | "legalWordCounter = co.Counter(nltk.corpus.words.words())\n", 355 | "stopWordsCounter = co.Counter(nltk.corpus.stopwords.words())\n", 356 | "#filter narrativeWordList\n", 357 | "filterSummaryWordList = [i for i in summaryWordList\n", 358 | " if i in legalWordCounter and\n", 359 | " i not in stopWordsCounter]\n", 360 | "#counter for the legal words in our filtered list\n", 361 | "filteredWordCounter = co.Counter(filterSummaryWordList)" 362 | ] 363 | }, 364 | { 365 | "cell_type": "markdown", 366 | "metadata": { 367 | "variables": { 368 | "len(filteredWordCounter.values())": "22940", 369 | "sum(filteredWordCounter.values())": "2449319" 370 | } 371 | }, 372 | "source": [ 373 | "We see that there are {{sum(filteredWordCounter.values())}} non-distinct words that occur in the entire corpus of summaries and {{len(filteredWordCounter.values())}} distinct words in this corpus. This is actually a rather diverse set of possible words that occur. Let us look at the distribution of the words by rank." 374 | ] 375 | }, 376 | { 377 | "cell_type": "code", 378 | "execution_count": 30, 379 | "metadata": { 380 | "collapsed": false 381 | }, 382 | "outputs": [ 383 | { 384 | "data": { 385 | "text/plain": [ 386 | "" 387 | ] 388 | }, 389 | "execution_count": 30, 390 | "metadata": {}, 391 | "output_type": "execute_result" 392 | }, 393 | { 394 | "data": { 395 | "image/png": "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\nYII=\n", 396 | "text/plain": [ 397 | "" 398 | ] 399 | }, 400 | "metadata": {}, 401 | "output_type": "display_data" 402 | } 403 | ], 404 | "source": [ 405 | "#make series of word frequency ordered by most common words\n", 406 | "wordFrequencyFrame = pd.DataFrame(filteredWordCounter.most_common(),\n", 407 | " columns = [\"Word\",\"Frequency\"])\n", 408 | "wordFrequencyFrame[\"Density\"] = (wordFrequencyFrame[\"Frequency\"] /\n", 409 | " np.sum(wordFrequencyFrame[\"Frequency\"]))\n", 410 | "#then plot rank-density plot\n", 411 | "#for the sake of easier visuals, we will log the rank\n", 412 | "desiredLineWidth = 3\n", 413 | "plt.plot(np.log(wordFrequencyFrame.index+1),wordFrequencyFrame[\"Density\"],\n", 414 | " lw = desiredLineWidth)\n", 415 | "plt.xlabel(\"Log-Rank\")\n", 416 | "plt.ylabel(\"Density\")\n", 417 | "plt.title(\"Log(Rank)-Density Plot\\nFor Words in our Summary Set\")" 418 | ] 419 | }, 420 | { 421 | "cell_type": "markdown", 422 | "metadata": {}, 423 | "source": [ 424 | "_Figure 3: Our word distribution by $\\log(Rank)$ of a word._\n", 425 | "\n", 426 | "We see that this distribution dissipates after about the top $e^6 \\approx 403$ most frequent words in our corpus, which suggests that this is a very sparse language. Since we have over $20000$ possible words in our corpus and only about $403$ of them are used that often, this suggests to me that if we were to do a formal model selection procedure, we would need to not consider many words that occur very rarely.\n", 427 | "\n", 428 | "Let us see what our top ten most frequent words look like." 429 | ] 430 | }, 431 | { 432 | "cell_type": "code", 433 | "execution_count": 31, 434 | "metadata": { 435 | "collapsed": false 436 | }, 437 | "outputs": [ 438 | { 439 | "data": { 440 | "text/html": [ 441 | "\n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | "
WordFrequency
love46721
like43604
life26893
people25578
new22271
time21956
good21031
enjoy17052
get15484
looking14405
" 491 | ], 492 | "text/plain": [ 493 | "" 494 | ] 495 | }, 496 | "metadata": {}, 497 | "output_type": "display_data" 498 | } 499 | ], 500 | "source": [ 501 | "topLev = 10\n", 502 | "topTenWordFrame = wordFrequencyFrame.iloc[0:topLev,:].loc[:,\n", 503 | " [\"Word\",\"Frequency\"]]\n", 504 | "#then display\n", 505 | "display(HTML(topTenWordFrame.to_html(index = False)))" 506 | ] 507 | }, 508 | { 509 | "cell_type": "markdown", 510 | "metadata": {}, 511 | "source": [ 512 | "_Table 2: Our Top Ten Most Frequent words along with their frequencies in our corpus._\n", 513 | "\n", 514 | "We see that our summaries are generally focused around \"love\", and aspects of affection (\"like\",\"enjoy\",\"good\", etc).\n", 515 | "\n", 516 | "# Prediction\n", 517 | "\n", 518 | "Let us try to use these summaries to predict the age of an individual. We will do this by regressing age on a bag-of-words representation of our summaries. We will use [Scikit-Learn](http://scikit-learn.org/stable/) for building our bag-of-words per each observation." 519 | ] 520 | }, 521 | { 522 | "cell_type": "code", 523 | "execution_count": 33, 524 | "metadata": { 525 | "collapsed": true 526 | }, 527 | "outputs": [], 528 | "source": [ 529 | "#import our count vectorizer\n", 530 | "from sklearn.feature_extraction.text import CountVectorizer\n", 531 | "#make a vocab dictionary\n", 532 | "counterList = filteredWordCounter.most_common()\n", 533 | "vocabDict = {}\n", 534 | "for i in xrange(len(counterList)):\n", 535 | " rankWord = counterList[i][0]\n", 536 | " vocabDict[rankWord] = i\n", 537 | "#initialize vectorizer\n", 538 | "vectorizer = CountVectorizer(min_df=1,stop_words=stopWordsCounter,\n", 539 | " vocabulary = vocabDict)\n", 540 | "#then fit and transform our summaries\n", 541 | "bagOfWordsMatrix = vectorizer.fit_transform(filteredOkCupidFrame[\"essay0\"])" 542 | ] 543 | }, 544 | { 545 | "cell_type": "code", 546 | "execution_count": null, 547 | "metadata": { 548 | "collapsed": false 549 | }, 550 | "outputs": [], 551 | "source": [ 552 | "#get language frame\n", 553 | "langFrame = pd.DataFrame(bagOfWordsMatrix.toarray(),\n", 554 | " columns = vectorizer.get_feature_names())\n", 555 | "#import linear model\n", 556 | "import sklearn.linear_model as lm\n", 557 | "#build model\n", 558 | "initialLinearMod = lm.LinearRegression()\n", 559 | "initialLinearMod.fit(langFrame,filteredOkCupidFrame[\"age\"])" 560 | ] 561 | }, 562 | { 563 | "cell_type": "markdown", 564 | "metadata": {}, 565 | "source": [ 566 | "Let us first study how well our model is performing on the dataset. We will use the error metric root mean-squared error (RMSE)." 567 | ] 568 | }, 569 | { 570 | "cell_type": "code", 571 | "execution_count": null, 572 | "metadata": { 573 | "collapsed": true 574 | }, 575 | "outputs": [], 576 | "source": [ 577 | "#get predictions\n", 578 | "predictionVec = initialLinearMod.predict(langFrame)" 579 | ] 580 | } 581 | ], 582 | "metadata": { 583 | "kernelspec": { 584 | "display_name": "Python 2", 585 | "language": "python", 586 | "name": "python2" 587 | }, 588 | "language_info": { 589 | "codemirror_mode": { 590 | "name": "ipython", 591 | "version": 2 592 | }, 593 | "file_extension": ".py", 594 | "mimetype": "text/x-python", 595 | "name": "python", 596 | "nbconvert_exporter": "python", 597 | "pygments_lexer": "ipython2", 598 | "version": "2.7.10" 599 | }, 600 | "latex_envs": { 601 | "bibliofile": "biblio.bib", 602 | "cite_by": "apalike", 603 | "current_citInitial": 1, 604 | "eqLabelWithNumbers": true, 605 | "eqNumInitial": 0 606 | }, 607 | "nav_menu": {}, 608 | "toc": { 609 | "navigate_menu": true, 610 | "number_sections": true, 611 | "sideBar": true, 612 | "threshold": 6, 613 | "toc_cell": false, 614 | "toc_section_display": "block", 615 | "toc_window_display": false 616 | } 617 | }, 618 | "nbformat": 4, 619 | "nbformat_minor": 1 620 | } 621 | -------------------------------------------------------------------------------- /.ipynb_checkpoints/okCupidInitialAnalysis-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# OkCupid: Dataset Analysis\n", 8 | "\n", 9 | "This is a notebook I am using to test out the feasibility of using the [OkCupid Dataset](https://github.com/rudeboybert/JSE_OkCupid) for our first workshop." 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 10, 15 | "metadata": { 16 | "collapsed": true 17 | }, 18 | "outputs": [], 19 | "source": [ 20 | "#imports\n", 21 | "import pandas as pd\n", 22 | "import seaborn as sns\n", 23 | "import matplotlib.pyplot as plt\n", 24 | "import numpy as np\n", 25 | "from IPython.display import display, HTML\n", 26 | "\n", 27 | "#constants\n", 28 | "%matplotlib inline\n", 29 | "sns.set_style(\"dark\")\n", 30 | "sigLev = 3\n", 31 | "figWidth = figHeight = 5" 32 | ] 33 | }, 34 | { 35 | "cell_type": "markdown", 36 | "metadata": {}, 37 | "source": [ 38 | "# Dataset Information\n", 39 | "\n", 40 | "Before starting with the analysis of this dataset, it will be important to study the codebook of variables in ```data/JSE_OkCupid/okcupid_codebook.txt```. Some important notes I found from viewing this codebook:\n", 41 | "\n", 42 | "* Contains Profiles from 25 Mile Radius outside of San Francisco, with at least one profile picture.\n", 43 | "\n", 44 | "* Data Scraped in 2012.\n", 45 | "\n", 46 | "* Contains $n = 59946$ observations; This is a mid-sized dataset, with a lot of information, although nont big-data unweildy.\n", 47 | "\n", 48 | "* Contains a mix of different demographic and lifestyle data, along with some textual data in the ```essay``` variables.\n", 49 | "\n", 50 | "With that in mind, let's get started with the data." 51 | ] 52 | }, 53 | { 54 | "cell_type": "code", 55 | "execution_count": 3, 56 | "metadata": { 57 | "collapsed": false 58 | }, 59 | "outputs": [], 60 | "source": [ 61 | "okCupidFrame = pd.read_csv(\"data/JSE_OkCupid/profiles.csv\")" 62 | ] 63 | }, 64 | { 65 | "cell_type": "markdown", 66 | "metadata": {}, 67 | "source": [ 68 | "# Assessing Data Quality\n", 69 | "\n", 70 | "As is usual for starting data analyses, let's assess some aspects of data quality." 71 | ] 72 | }, 73 | { 74 | "cell_type": "code", 75 | "execution_count": 4, 76 | "metadata": { 77 | "collapsed": true 78 | }, 79 | "outputs": [], 80 | "source": [ 81 | "numObservations = okCupidFrame.shape[0]\n", 82 | "numFeatures = okCupidFrame.shape[1]" 83 | ] 84 | }, 85 | { 86 | "cell_type": "markdown", 87 | "metadata": { 88 | "variables": { 89 | "numFeatures": "31", 90 | "numObservations": "59946" 91 | } 92 | }, 93 | "source": [ 94 | "As discussed in the codebook, we see that we have {{numObservations}} profiles in this dataset. We also have {{numFeatures}} variables in this dataset, and given that some of these variables are language data (see [the dataset's codebook](data/JSE_OkCupid/okcupid_codebook.txt)), this dataset can be very high-dimensional if we choose to transform it in that manner.\n", 95 | "\n", 96 | "Let us study how many missing values we have in this dataset." 97 | ] 98 | }, 99 | { 100 | "cell_type": "code", 101 | "execution_count": 13, 102 | "metadata": { 103 | "collapsed": false 104 | }, 105 | "outputs": [ 106 | { 107 | "data": { 108 | "text/plain": [ 109 | "age 0\n", 110 | "body_type 5296\n", 111 | "diet 24395\n", 112 | "drinks 2985\n", 113 | "drugs 14080\n", 114 | "education 6628\n", 115 | "essay0 5485\n", 116 | "essay1 7571\n", 117 | "essay2 9638\n", 118 | "essay3 11476\n", 119 | "essay4 10537\n", 120 | "essay5 10847\n", 121 | "essay6 13771\n", 122 | "essay7 12450\n", 123 | "essay8 19214\n", 124 | "essay9 12602\n", 125 | "ethnicity 5680\n", 126 | "height 3\n", 127 | "income 0\n", 128 | "job 8198\n", 129 | "last_online 0\n", 130 | "location 0\n", 131 | "offspring 35561\n", 132 | "orientation 0\n", 133 | "pets 19921\n", 134 | "religion 20226\n", 135 | "sex 0\n", 136 | "sign 11056\n", 137 | "smokes 5512\n", 138 | "speaks 50\n", 139 | "status 0\n", 140 | "dtype: int64" 141 | ] 142 | }, 143 | "metadata": {}, 144 | "output_type": "display_data" 145 | } 146 | ], 147 | "source": [ 148 | "#make numMissing for a given column\n", 149 | "def numMissing(col):\n", 150 | " #helper that checks the number of observations missing from a given col\n", 151 | " missingRows = col[col.isnull()]\n", 152 | " return missingRows.shape[0]\n", 153 | "#then apply over our feature set\n", 154 | "missingSummaryFrame = okCupidFrame.apply(numMissing,axis = 0)\n", 155 | "display(missingSummaryFrame)" 156 | ] 157 | }, 158 | { 159 | "cell_type": "markdown", 160 | "metadata": {}, 161 | "source": [ 162 | "_Table 1: Counts of the number of observations missing per variable._\n", 163 | "\n", 164 | "We see that we have variables with many missing variables, and this is especially consistent with the language data (i.e. the ```essay``` variables). This may suggest that we want to target a particular variable that generally has fewer misisng observations. Let us try out targeting the ```age``` variable." 165 | ] 166 | }, 167 | { 168 | "cell_type": "markdown", 169 | "metadata": {}, 170 | "source": [ 171 | "# Summary Statistics and EDA\n", 172 | "\n", 173 | "Let us start by studying the distribution of our target variable ```age``` and some of the potentially relevant variables for determining age of someone on OkCupid." 174 | ] 175 | }, 176 | { 177 | "cell_type": "code", 178 | "execution_count": 15, 179 | "metadata": { 180 | "collapsed": false 181 | }, 182 | "outputs": [ 183 | { 184 | "data": { 185 | "text/plain": [ 186 | "" 187 | ] 188 | }, 189 | "execution_count": 15, 190 | "metadata": {}, 191 | "output_type": "execute_result" 192 | }, 193 | { 194 | "data": { 195 | "image/png": "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\nzVVmZuYNa86dO+e0326368KFC041v/+k1tXzXu0DAADcPVwedBwOh2JjY7V582YtWrRI1atXd9pf\no0YNBQQEaPv27ca2zMxM7du3Tw0bNpQkhYSEyMPDQ9u2bTNqEhISlJiYKJvNJkmy2WxKT083FjlL\n0o4dO5Sfn6+wsDCj5vDhw06BaNu2bfLx8VFQUFDxXzwAAChRLr91FRMTo3Xr1un999+Xt7e3sRbG\n19dXZcuWlZubm3r37q3Zs2erdu3aql69uqZPn64qVaqoTZs2kiQfHx899dRTio+Pl5+fn8qXL6+J\nEyfKZrMpNDRUkhQUFKSoqCiNHTtW48ePV25uriZMmKBOnToZszXNmzdXUFCQRowYoREjRig5OVnT\np0/Xc889J09PT9cMEAAAuGUuDzrLli2Tm5ubevXq5bQ9Pj5e3bp1kyS98MILys7O1ltvvaX09HQ1\nbtxYH3zwgby8vIz6N998U+7u7oqOjlZOTo6ioqI0btw4p2NOmTJFsbGx6tOnj9zd3dW+fXuNGTPG\n2O/u7q65c+dq/PjxevbZZ+Xt7a3u3btr2LBhJTgCAACgpLg5WH1brJKTM1zdQqkzcfK7SsgPdXUb\nkqS0M0ckSRX/UNfFnVyRduaIxvZuLJst3NWtAIDLBQb6FPsxXb5GBwAAoKQQdAAAgGkRdAAAgGkR\ndAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAA\ngGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkR\ndAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAA\ngGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkR\ndAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAAgGkRdAAA\ngGmViqCze/duvfjii4qKipLVatWmTZuc9o8cOVJWq9Xp54UXXnCquXz5smJiYtS0aVPZbDZFR0cr\nNTXVqSYtLU2vvfaawsPD1aRJE40ePVpZWVlONYmJiRowYIAaNmyoyMhITZ48WXl5eSVz4QAAoESV\n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\nBYWFhWnPnj2SpP3798tutysyMtKoqVOnjqpVq6a9e/dKkvbs2SNfX18FBwcbNREREXJ3dzfC0N69\ne2WxWFSpUiWjplmzZsrMzNTRo0dL9DoBAEDxK/VB5+psy+8/5eXv72+swUlJSZGnp6cqVKhQoCYl\nJcWo+W2Aka58eszPz8+pxt/f36nm6nmv9gEAAO4epT7oXI/D4birjgsAAO68Uh90AgMDJcmYdbkq\nNTXVmG0JCAhQbm6uMjMzb1hz7tw5p/12u10XLlxwqvn9J7WunvdqHwAA4O5R6oNOjRo1FBAQoO3b\ntxvbMjMztW/fPjVs2FCSFBISIg8PD23bts2oSUhIUGJiomw2myTJZrMpPT1dBw4cMGp27Nih/Px8\nhYWFGTWHDx92CkTbtm2Tj4+PgoKCSvQ6AQBA8SsV392QlZXl9FyckydP6uDBg6pYsaKqVq2q3r17\na/bs2apdu7aqV6+u6dOnq0qVKsantHx8fPTUU08pPj5efn5+Kl++vCZOnCibzabQ0FBJUlBQkKKi\nojR27FiNHz9eubm5mjBhgjp16mTM1jRv3lxBQUEaMWKERowYoeTkZE2fPl3PPfecPD097/zAAACA\n21Iqgs6PP/6o3r17S7ryDJ34+HhJUvfu3TVp0iS98MILys7O1ltvvaX09HQ1btxYH3zwgby8vIxj\nvPnmm3J3d1d0dLRycnIUFRVlPJfnqilTpig2NlZ9+vSRu7u72rdvrzFjxhj73d3dNXfuXI0fP17P\nPvusvL291b17dw0bNuwOjAIAAChubg5W3xar5OQMV7dQ6kyc/K4S8kNd3YYkKe3MEUlSxT/UdXEn\nV6SdOaKxvRvLZgt3dSsA4HKBgT7FfsxSv0YHAADgVhF0AACAaRF0AACAaZWKxcjAvSo/z65Dh352\ndRtOgoMbOC30B4C7GUEHcKGLaac1f12ifHZk3rz4DshIPaHJr4rF0QBMg6ADuJiPf61S8ykwADAb\n1ugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugA\nAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADT\nIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugA\nAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADT\nIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTIugAAADTuiuCzsyZM2W1Wp1+Onbs\n6FQzffp0NW/eXGFhYerbt6+OHz/utP/y5cuKiYlR06ZNZbPZFB0drdTUVKeatLQ0vfbaawoPD1eT\nJk00evRoZWVllfj1AQCAknFXBB1Jqlu3rrZu3Wr8fPTRR8a+efPmacmSJYqNjdUnn3wib29v9evX\nTzk5OUZNXFyctmzZohkzZmjJkiVKSkrS0KFDnc4xfPhwJSQkaOHChZozZ46+++47jR079o5dIwAA\nKF53TdApU6aM/P39jZ+KFStKkhwOhxYvXqzBgwerdevWslgsmjx5spKSkrRp0yZJUkZGhlasWKFR\no0apadOmCg4OVlxcnPbs2aMffvhBknTs2DF9++23mjhxokJDQxUeHq4xY8Zo/fr1Sk5Odtl1AwCA\nW3fXBJ3jx48rKipKbdq00fDhw3X69GlJ0qlTp5SSkqKIiAijtkKFCgoLC9OePXskSfv375fdbldk\nZKRRU6dOHVWrVk179+6VJO3Zs0e+vr4KDg42aiIiIuTu7m6EIQAAcHfxcHUDhREWFqb4+Hg9+OCD\nSkpK0qxZs9SzZ0+tWbPGmG0JCAhweo+/v7+xBiclJUWenp6qUKFCgZqUlBSjplKlSk77PTw85Ofn\nZ9QAAIC7y10RdFq0aGH8+uGHH1ZYWJhatWqlDRs2qE6dOtd8j8PhuFPtAQCAUuquuXX1Wz4+Pnrg\ngQd08uRJBQYGSlKBWZfU1FRjlicgIEC5ubnKzMy8Yc25c+ec9tvtdl24cKHAbBEAALg73JVB5+LF\nizp+/LgCAwNVs2ZNBQQEaPv27cb+zMxM7du3Tw0bNpQkhYSEyMPDQ9u2bTNqEhISlJiYKJvNJkmy\n2WxKT0/XgQMHjJodO3YoPz9fYWFhd+jKAABAcborbl39v//3/9S6dWtVrVpVSUlJmjlzpjw9PdWp\nUydJUu/evTV79mzVrl1b1atX1/Tp01WlShW1adNG0pUZoKeeekrx8fHy8/NT+fLlNXHiRNlsNoWG\nhkqSgoKCFBUVpbFjx2r8+PHKzc3VhAkT1KlTJ2PWCAAA3F3uiqBz9uxZvfrqq0pLS1OlSpXUuHFj\nLV++XPfff78k6YUXXlB2drbeeustpaenq3Hjxvrggw/k5eVlHOPNN9+Uu7u7oqOjlZOTo6ioKI0b\nN87pPFOmTFFsbKz69Okjd3d3tW/fXmPGjLmj1woAAIqPm4NVu8UqOTnD1S2UOhMnv6uE/FBXtyFJ\nSjtzRJJU8Q91XdzJFScPfCEf/5qlpp+0M0c0tndj2Wzhrm4FwD0oMNCn2I95V67RAQAAKAyCDgAA\nMC2CDgAAMC2CDgAAMC2CDgAAMC2CDgAAMC2CDgAAMC2CDgAAMC2CDgAAMK274isgANwZ+Xl2HTr0\ns6vbMAQHN3D6KhcAKCqCDgDDxbTTmr8uUT47Ml3dijJST2jyq+LrKADcFoIOACc+/rVKzXdvAcDt\nYo0OAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIO\nAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAwLYIOAAAw\nLYIOAAAwLQ9XNwAA15KfZ9ehQz+7ug0nwcEN5OXl5eo2ABQBQQdAqXQx7bTmr0uUz45MV7ciScpI\nPaHJr0o2W7irWwFQBAQdAKWWj38tVfxDXVe3AeAuxhodAABgWgQdAABgWgQdAABgWgQdAABgWgQd\nAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABg\nWh6ubgAA7gb5eXYdOvSzq9twEhzcQF5eXq5uAyjVCDoAUAgX005r/rpE+ezIdHUrkqSM1BOa/Kpk\ns4W7uhWgVCPoXMPSpUs1f/58paSkyGq1asyYMQoNDXV1WwBczMe/lir+oa6r2wBQBKzR+Z3169cr\nPj5eL730klauXCmr1ar+/fvr3Llzrm4NAAAUEUHndxYuXKhnnnlG3bt3V1BQkGJiYnTffffps88+\nc3VrAACgiAg6v5GTk6OffvpJERERxjY3NzdFRkZq7969LuwMAADcCtbo/Mb58+eVl5engIAAp+2V\nKlVSQkKCi7pCcctIPeHqFgxZF85Icri6DUNp6qc09SKVvn4yUk/o0KEKrm4Dd6F7bQE7QaeYBQb6\nuLqFUmf622Nd3QIA4B7FravfuP/++1WmTBmlpKQ4bU9NTVVgYKCLugIAALeKoPMbXl5eCg4O1vbt\n241t+fn52r59uxo2bOjCzgAAwK3g1tXv9OnTRyNHjlRISIgaNGigRYsW6fLly3ryySdd3RoAACgi\ngs7vdOzYUefPn9eMGTOUnJys+vXr6+9//7sqVark6tYAAEARuTkcjtLzMQIAAIBixBodAABgWgQd\nAABgWgQdAABgWgQdAABgWgQdAABgWgQdAABgWgSdYrR06VK1bt1aoaGhevrpp7Vv3z5Xt1RqzJ07\nV08++aQaNWqkyMhIDRkyRL/88kuBuunTp6t58+YKCwtT3759dfz4cRd0WzrNmzdPVqtVcXFxTtsZ\ns4LOnj2r4cOHq2nTpgoLC1OXLl20f/9+pxrG7f/Y7XZNnTpVrVu3VlhYmNq2bav333+/QN29PGa7\nd+/Wiy++qKioKFmtVm3atKlAzc3G5/Lly4qJiVHTpk1ls9kUHR2t1NTUO3UJLnGjcbPb7Xr77bfV\npUsX2Ww2RUVF6Y033lBSUpLTMW533Ag6xWT9+vWKj4/XSy+9pJUrV8pqtap///46d+6cq1srFXbv\n3q1evXrp008/1YIFC2S329WvXz9lZ2cbNfPmzdOSJUsUGxurTz75RN7e3urXr59ycnJc2HnpsG/f\nPi1fvlwWi0Vubm7GdsasoAsXLujPf/6zvLy89MEHH2j9+vUaNWqU/Pz8jBrGzdmcOXP06aefaty4\ncdqwYYOGDx+uDz74QB9++KFRc6+PWXZ2turVq6dx48ZJktP/h1LhxicuLk5btmzRjBkztGTJEiUl\nJWno0KF39DrutBuNW3Z2tg4ePKghQ4Zo5cqVmjVrln755RcNGjTI6Ri3PW4OFIunnnrKMWHCBON1\nfn6+IyoqyjF37lwXdlV6paamOiwWi2P37t0Oh+PKeDVr1syxYMECoyYjI8PRoEEDx7p161zVZqmQ\nmZnpaNeunWPbtm2O559/3hEXF+dwOBiz63n77bcdPXv2vO5+xq2ggQMHOkaPHu20bejQoY4RI0Y4\nHA7G7PcsFotj06ZNxuvCjE96erojODjY8fnnnxs1x44dc1gsFsfevXvvXPMu9Ptxu5Z9+/Y5LBaL\n4/Tp0w6Ho3jGjRmdYpCTk6OffvpJERERxjY3NzdFRkZq7969Luys9MrIyJAkVaxYUZJ06tQppaSk\nOI1hhQoVFBYWpj179rikx9IiNjZWrVq1chobiTG7ni+++ELBwcGKjo5WZGSkunfvrk8//dTYz7gV\nFBUVpW3btunXX3+VJP3888/6/vvv1aJFC0mM2c0UZnz2798vu92uyMhIo6ZOnTqqVq0aY/gbGRkZ\ncnNzk4+Pj6TiGTe+66oYnD9/Xnl5eQoICHDaXqlSJSUkJLioq9IrPz9fcXFxCg8P10MPPSRJSk5O\nlqQCY+jv76+UlJQ73mNpsW7dOh08eFCfffZZgX2M2bWdPHlSH3/8sfr27avBgwdr3759mjhxojw9\nPdWtWzfG7Rp69uyp06dPq0OHDvLw8FBeXp5eeeUVde7cWRK/127mRuNzdS1JSkqKPD09VaFChevW\n3OsuX76sKVOmqHPnzipfvryk4hk3gg7uuJiYGB09elQfffTRTWsdDofc3e/NicfTp0/rb3/7mxYu\nXCgvLy9ju+MmX093L4+ZdOX6Q0JC9Morr0iSrFarDh8+rGXLlqlbt243fN+9Om6LFy/WqlWr9M47\n76hu3br66aefFBcXp8qVKzNmt+Fm/6/i/+Tm5mrYsGGSpPHjxxfrsfkdWgzuv/9+lSlTpsC/bFJT\nUxUYGOiirkqn2NhYff3111q8eLGqVKlibL86Ttcaw9//K+leceDAAZ07d049evRQcHCwgoODtXv3\nbn344YcKCQlhzK6jcuXKxkzhVXXq1FFiYqIkfq9dy5w5czRo0CB17NhRdevWVdeuXdWnTx/NnTtX\nEmN2M4UZn4CAAOXm5iozM/O6Nfeq3Nxcvfzyyzpz5owWLlxozOZIxTNuBJ1i4OXlpeDgYG3fvt3Y\nlp+fr+3bt6thw4Yu7Kz0cDgcio2N1ebNm7Vo0SJVr17daX+NGjUUEBDgNIaZmZnat2/fPTuGERER\nWrt2rVavXq3Vq1dr1apVCgkJ0RNPPKFVq1YxZtdhs9kK3DL+9ddfjd9zjFtBDodDZcqUcdrm7u5u\nzEgwZjdWmPEJCQmRh4eHtm3bZtQkJCQoMTFRNpvtjvdcWlwNOSdOnNDChQudPh0pFc+4lRlf3HNE\n96jy5ctr+vTpqlq1qjw9PTV9+nQdOnRIf/vb3+Tt7e3q9lwuJiZGa9eu1fTp0xUYGKisrCxlZWXJ\nw8NDHh4ecnNzU15enubOnaugoCDl5ORo4sSJunz5ssaOHVvgD+F7gZeXlypVqmT8+Pv7a82aNapR\no4a6du3KmF1HtWrV9N5776lMmTIKDAzUN998o/fee0/Dhg3Tww8/zLhdw/Hjx7VixQrVqVNHHh4e\n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\n", 196 | "text/plain": [ 197 | "" 198 | ] 199 | }, 200 | "metadata": {}, 201 | "output_type": "display_data" 202 | } 203 | ], 204 | "source": [ 205 | "#plot age\n", 206 | "plt.hist(okCupidFrame[\"age\"])\n", 207 | "#then make some labels\n", 208 | "plt.xlabel(\"Age (In Years)\")\n", 209 | "plt.ylabel(\"Count\")\n", 210 | "plt.title(\"Distribution of Age\")" 211 | ] 212 | }, 213 | { 214 | "cell_type": "markdown", 215 | "metadata": {}, 216 | "source": [ 217 | "_Figure 1: Distribution of Age._\n", 218 | "\n", 219 | "We see that the distribution of age is fairly young, with most people being around $20$ to $35$ years old. We see that the distribution is relatively right-skewed, with fewer observations among middle-aged individuals. This may have an effect towards a relatively imbalanced regression.\n", 220 | "\n", 221 | "Perhaps income might be useful in determining age, as generally older persons tend to have higher incomes from being farther in their careers. Let us study the distribution of income." 222 | ] 223 | }, 224 | { 225 | "cell_type": "code", 226 | "execution_count": 17, 227 | "metadata": { 228 | "collapsed": false 229 | }, 230 | "outputs": [ 231 | { 232 | "data": { 233 | "text/plain": [ 234 | "" 235 | ] 236 | }, 237 | "execution_count": 17, 238 | "metadata": {}, 239 | "output_type": "execute_result" 240 | }, 241 | { 242 | "data": { 243 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAGMCAYAAADHppbUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XtYlHX+//EXCLokSAnU5nGTasZAhgmJANE8VK7aATtY\nWquupWWF30xb84hoRGQH6KRuaQcstZ9pu6nVWqkpUlqgq2kusppGycEDoCUw3L8/urjXEQ83qQ3o\n83FdXlfzud9z3+/741zNy3s+c4+XYRiGAAAAcFLenm4AAACgMSA0AQAAWEBoAgAAsIDQBAAAYAGh\nCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAGN1Isvvii73f67HOvee+/Vvffeaz7+8ssv\nZbfb9cknn/wuxx83bpx69Ojxuxzrtzp06JAmTJig+Ph42e12paamerolAGeYj6cbACC9//77Gj9+\nvPm4adOmCgwM1JVXXqnrrrtO/fv3V/Pmzd2e4+XlJS8vr3odZ+/evVq4cKGuv/76egeu+h6rvk7W\n228519/brFmztGTJEo0cOVLt2rVTaGjoCWt79OihK6+8UjNnzvwdOwRwughNQAMyatQotWnTRtXV\n1SouLtaXX36p1NRUzZ07V6+++qpsNptZ++CDD2r48OH12n9RUZFefvlltW3btl6hae7cufU6zm9x\nst6mTZumhv4zmTk5OYqMjNRDDz3k6VYAnCWEJqAB6dq1q8LCwszHw4cPV05Ojh544AE9+OCDWr58\nuZo1ayZJatKkiZo0afKbjmM1gPzyyy/6wx/+IB+f3+9/Fcfr7fc8/m9VWlqqK664wtNtADiLWNME\nNHDXXnutRo4cqcLCQv3jH/8wx4+3pmnt2rW6++67FR0dLafTqd69e+v555+X9Os6pDvuuEOS9MQT\nT8hut8tut2vJkiWSfl23dNNNN2nz5s0aNGiQIiMjzeceu6apVnV1tZ577jnFx8fL6XTqwQcf1E8/\n/eRW06NHDz3xxBN1nnv0Pk/V2/HWNB0+fFhpaWnq1q2bOnXqpN69e2vOnDl1jmO32zVt2jStWLFC\n/fr1U6dOndSvXz998cUXJ5pyN6WlpRo/frzi4uIUERGhW265xeyrtne73a4ffvhBK1euNHsvLCy0\ntH9J2rNnj+x2u+bMmaMFCxaoV69e6tSpk26//Xb9+9//rlO/Y8cOjRo1Stdee60cDofb33Otb7/9\nVvfdd5+ioqLkdDo1ZMgQbdy40a3m/fffl91u14YNG5SSkqKYmBhFR0dr8uTJqqqq0sGDB/X444/r\nmmuuUUxMjJ555pk6vdTU1OiNN95Q3759FRERofj4eE2ePFllZWWWzx9oLBr+P98A6JZbbtFzzz2n\ntWvXmuFCcl9n9J///EcjRoxQx44dNWrUKDVt2lQ7d+7UN998I0m6/PLLlZSUpMzMTA0YMECdO3eW\nJDmdTnMf+/fv1/Dhw9W3b1/deuutCgoKOu6xas2cOVPe3t4aPny4SktL9eabb2rIkCH64IMPzCti\nJ1O7Tyu9HX18wzD04IMP6quvvtIdd9whu92uL774Qunp6dq7d2+dkPb111/rk08+0aBBg3TBBRfo\n7bffVlJSkj7//HNdeOGFJ+zvl19+0b333qvvv/9e9957r9q0aaPly5dr3LhxKisr01/+8hddfvnl\nSk9P11NPPaVLL71UQ4cOlSRddNFFpzz/Y3344Yc6dOiQ7r77bknSa6+9pkceeUQrVqwwr7Zt27ZN\ngwYNUtOmTTVgwAC1adNGu3bt0sqVK/Xoo49K+vW1MGjQIAUEBOj+++9XkyZNtGDBAt17773KyspS\nRESE23GnT5+uiy++WP/3f/+nvLw8LVy4UP7+/vr666/Vrl07jR49WitXrtTrr7+uK664Qrfeeqv5\n3MmTJ2vJkiXq37+/Bg8erN27dysrK0tbt27Vu+++2yiuEgKWGQA8btGiRYbNZjM2b958wpqoqCgj\nMTHRfJyZmWnYbDbz8dy5cw2bzWbs37//hPvYtGmTYbPZjMWLF9fZds899xg2m81YsGDBcbfde++9\n5uOcnBzDZrMZ3bp1Mw4dOmSOL1++3LDZbMZbb71ljnXv3t0YN27cKfd5st7+9re/Gd27dzcf/+tf\n/zJsNpsxc+ZMt7qkpCTDbrcb33//vTlms9mMTp06uY1t27bNsNlsRlZWVp1jHe2NN94wbDab8c9/\n/tMcq6qqMgYMGGA4nU6joqLC7TxHjBhx0v2dqHb37t2GzWYzrr32WqOsrMwc//TTTw2bzWZ8/vnn\n5tigQYOMqKgo48cffzzh/keOHGl06tTJ2L17tzlWVFRkXH311cY999xjjtW+7u677z635w8YMMCw\n2WxGcnKyOeZyuYxu3bq5PX/9+vWGzWYzli5d6vb8L774os68AecCPp4DGokLLrhAhw4dOuH2wMBA\nSdKKFStUU1Pzm47RrFkz9e/f33L9LbfcogsuuMB83Lt3b4WEhGjVqlW/6fhWrV69Wj4+PnU+Mvzr\nX/8qwzC0evVqt/G4uDi1bdvWfGyz2eTv7689e/ac8jghISHq16+fOebj46O//OUvOnz4sNavX38G\nzuZ/+vTpo4CAAPNxVFSUJJl97tu3Txs2bNBtt92mP/7xj8fdh8vl0tq1a9WrVy+1adPGHK89j6+/\n/rrO6+j22293e1x7JerocW9vb4WFhbnN2UcffaSAgABde+212rdvn/nnqquukp+fn7788svfMg1A\ng8V1U6CROHz4sIKDg0+4vU+fPnrvvfc0ceJEPfvss4qNjdX111+v3r17W/66/iWXXFKvj1P+9Kc/\n1Rlr165dvdbz/BY//PCDLr74YrfAJkkdOnSQpDrHv/TSS+vso0WLFjp48OApj3O8czzRcU7XsX3W\nBuHaPnfv3i1JJ11wvm/fPv3yyy+67LLL6mzr0KGDampq9NNPP7ndEuHY49YGt+ONHz1nu3btUnl5\nueLi4k7YC3AuITQBjcBPP/2kiooKtW/f/oQ1zZo107x585STk6NVq1bpiy++0LJly7RgwQLNmTNH\n3t6nvrBsZR1SfZ0osLlcrtNa72LU4xYEJ/qWYX328XvwVJ8nOu7xXjNH91JTU6OgoCDNmDHjuM9v\n2bLlmWkQaCAITUAj8MEHH0iSunTpctI6Ly8vxcbGKjY2VuPGjdOsWbP0/PPP68svv1RsbOwZv0Hk\nzp073R4bhqFdu3apY8eO5lhgYOBxv0lVWFiodu3aufVuVevWrZWTk6NDhw653fSzoKBAktSqVSvL\n+zrVcb777jsZhuHWX+1xWrdufUaOY1XtR4zbt28/YU3Lli3l5+dn9ni0goICeXt7n/Cjvfpq166d\ncnJydPXVV5+VwA00NKxpAhq4devW6ZVXXlHbtm110003nbDueB811d6SoLKyUpLk5+d3wtrfYsmS\nJW7rYz766COVlJSoa9eu5ljbtm21ceNGVVVVmWOff/55nVsTnKq3o0NLt27d5HK5NG/ePLeaN954\nQ97e3m7HPx3dunVTSUmJli1bZo5VV1fr7bffVvPmzRUdHX1GjmNVy5YtFR0drUWLFunHH39021Z7\nBahJkyaKj4/Xp59+qh9++MHcXlJSog8//FBRUVF17i5fH0f/PfTp00cul0uvvPJKnbrq6mqVl5f/\n5uMADRFXmoAGZNWqVcrPz5fL5VJJSYm+/PJLZWdnq3Xr1nr11VfVtGnTEz73pZde0tdff61u3bqp\nVatWKi0t1TvvvKNLL73UXFDcrl07tWjRQvPnz9cFF1ygCy64QA6Hw23B8Ikc7yOiwMBADRw4UP37\n91dJSYnefPNNtW/fXnfeeadZc8cdd+jjjz/Wfffdp969e+v777/XP//5T7Vr185tn6fq7ejaHj16\nKCYmRs8//7z27Nkjm82mtWvX6rPPPtOQIUPcFn2fjgEDBmjBggUaN26cNm/erNatW+vjjz9Wbm6u\nJkyYUGdN1e9hwoQJGjhwoBITEzVgwAC1bt1aP/zwg1atWmXeP+r//u//tHbtWg0cOFADBw6Ut7e3\nFixYoOrqao0dO/a0jn/030N0dLQGDBigWbNmaevWrYqLi5Ovr6927typjz/+WBMnTtQNN9xwWscD\nGhJCE9AA1P7rPTMzU5Lk6+urwMBA2Ww2TZgwQf3796/zBn3s77H17NlThYWFWrRokfbv36+WLVvq\nmmuuUVJSkvz9/c39pqWl6bnnntPUqVPlcrn01FNPWQpNx3585uXlpQceeEDfffedZs+ercOHDysu\nLk7JycluH9V06dJF48aN09y5c/XUU0+pU6dOmj17tp566im3fZ6st2PP1cvLS6+++qoyMzO1bNky\nvf/++2rTpo3+9re/mfdJOhOaNWumt99+WzNmzNCSJUtUUVGhDh06KC0tze1eRb8nu92uhQsXKiMj\nQ++++66OHDmi1q1b689//rNZc/nll+udd97Rs88+q1mzZskwDDkcDj377LN17tF0vI9FT/Rbf8cb\nnzp1qsLDwzV//ny98MILatKkidq0aaNbbrlFV1999Rk6a6Bh8DIa2kpIAACABqhBrGnau3evxowZ\no5iYGDkcDvOnHI6WkZGhLl26yOFwaOjQodq1a5fb9iNHjmjq1KmKiYmR0+lUUlKSSktL3WoOHDig\nxx57TFFRUYqOjtaECRN0+PBht5rCwkINHz5ckZGRiouLU3p6ulwu19k5cQAA0Gh4PDQdPHhQd999\nt5o2barXXntNy5Yt0xNPPGHen0SSZs+eraysLKWkpGjhwoXy8/PTsGHDzMWtkpSamqqVK1cqMzNT\nWVlZKioq0sMPP+x2rDFjxqigoEBz587VzJkztWHDBk2aNMnc7nK5NGLECLlcLs2fP19paWlavHix\n+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\nAeZYSUmJgoKC3OqCg4MlScXFxaddU1FRocrKSrO29nm1WrZsqZKSEknS/v375XK5TlrTWJxL53Iq\nNTU1Sk1NVVRUlC6//HJJ/3tdHHv+QUFB5uf9JSUl8vX1lb+/f52a2jkqKSmp85uIPj4+CgwMdKs5\nE6/h38PSpUu1detWjR49us425uz4du/erXfffVeXXXaZ5syZo7vvvlvTp0/XkiVL3Hph3v5n0KBB\n6tOnj3r37q3w8HAlJiZq8ODB6tevn1sfzNmJNcY5svI+fCrn5A/2zpgx45SL5JYvX67LLrvMfLx3\n717dd999+vOf/6w77rjDrdY4xc/zeXl5/fZmcc6bOnWq8vPz9c4775yy9lSvtd+qMbyGf/zxRz35\n5JOaO3eumjZtao6fqvfzec6kX/sMDw/Xo48+Kkmy2+3avn275s+fr1tvvfWkzztb/ZxMQ5i3t956\nS0uWLNFzzz2nK664Qt9++61SU1N18cUXM2en6Vyfo3MyNP31r3/VbbfddtKaNm3amP+9d+9e/eUv\nf1FUVJSmTZvmVhcSEqJ///vfbmO16TckJETSr0n12Ksjx9aEhIQct8bf3998gzheTWlpqbmPiy66\nSE2aNDlpTWNxLp3LyaSkpGj16tXKysrSJZdcYo7XnmNJSYnbv9RKS0t11VVXSfr1dVVVVaWKigq3\nf6mVlpaazwkODta+ffvcjlldXa2DBw+61ZyJ1/DZtmXLFu3bt0/9+/c3x1wulzZs2KB33nlHy5cv\nN/tizv7n4osvNq9g1urQoYM++eQTt16Yt/+ZOXOmHnroIfXp00eSdMUVV6iwsFCzZs3SrbfeypxZ\n0BjnyMr78Kmckx/PtWzZUpdddtlJ//j6+kr6X2AKDw/XU089VWdfkZGR2r59u9tfanZ2tgICAhQa\nGmrWbNiwQdXV1W41HTp0UEBAgFmzbt06t31nZ2fL6XS6HSs7O7tOTWRkpCSpadOmCgsLc9tPTU2N\n1q1bZ9Y0FufSuRyPYRhKSUnRp59+qjfffFOtW7d2296mTRsFBwe7nX9FRYU2bdpknn94eLh8fHzc\nXhMFBQUqLCw0XzdOp1NlZWXasmWLWZOTk6Oamho5HA6z5ky8hs+22NhYffjhh/rggw/0wQcfaMmS\nJQoPD9fNN9+sJUuWMGcn4HQ6VVBQ4Da2c+dO8zXHvNVlGIaaNGniNubt7W1ezWDOTq0xzpGV9+FT\n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\n", 244 | "text/plain": [ 245 | "" 246 | ] 247 | }, 248 | "metadata": {}, 249 | "output_type": "display_data" 250 | } 251 | ], 252 | "source": [ 253 | "plt.hist(okCupidFrame[\"income\"])\n", 254 | "plt.xlabel(\"Income (In USD)\")\n", 255 | "plt.ylabel(\"Count\")\n", 256 | "plt.title(\"Distribution of Income\")" 257 | ] 258 | }, 259 | { 260 | "cell_type": "markdown", 261 | "metadata": {}, 262 | "source": [ 263 | "_Figure 2: Distribution of Income (in USD)._\n", 264 | "\n", 265 | "We see that the distribution of income is heavily right-skewed, as in typical of income distributions. That being said, it is apparent that this distribution may be affected by the \"Prefer not to say\" category ($-1$ in this variable). Let us see how many of those observations occur." 266 | ] 267 | }, 268 | { 269 | "cell_type": "code", 270 | "execution_count": 21, 271 | "metadata": { 272 | "collapsed": false 273 | }, 274 | "outputs": [], 275 | "source": [ 276 | "numNotReportIncome = okCupidFrame[okCupidFrame[\"income\"] == -1].shape[0]\n", 277 | "propNotReportIncome = float(numNotReportIncome) / okCupidFrame.shape[0]\n", 278 | "#get percent\n", 279 | "percentMul = 100\n", 280 | "percentNotReportIncome = propNotReportIncome * percentMul" 281 | ] 282 | }, 283 | { 284 | "cell_type": "markdown", 285 | "metadata": { 286 | "variables": { 287 | "int(np.round(percentNotReportIncome))": "81", 288 | "missingSummaryFrame[\"essay0\"]": "5485", 289 | "numNotReportIncome": "48442" 290 | } 291 | }, 292 | "source": [ 293 | "We see that {{numNotReportIncome}} of our observations did not report their income, which is about {{int(np.round(percentNotReportIncome))}}% of the observations in our dataset. This is not ideal, and this suggests that this variable will not be strong for informing our age observations.\n", 294 | "\n", 295 | "Another possible option is to look at the summary of individuals (```essay0```) to inform us of their age. It is likely that the language content, language complexity, and summary length will be strong informers of an individual's maturity, which is (hopefully) correlated with their age.\n", 296 | "\n", 297 | "Let us filter out the observations that do not have the summary (around {{missingSummaryFrame[\"essay0\"]}} observations) and then study that language." 298 | ] 299 | }, 300 | { 301 | "cell_type": "code", 302 | "execution_count": 24, 303 | "metadata": { 304 | "collapsed": false 305 | }, 306 | "outputs": [], 307 | "source": [ 308 | "filteredOkCupidFrame = okCupidFrame[okCupidFrame[\"essay0\"].notnull()]" 309 | ] 310 | }, 311 | { 312 | "cell_type": "markdown", 313 | "metadata": {}, 314 | "source": [ 315 | "We will start analyzing this data by first filtering out all the stopwords (i.e. punctuation) from our data and remove any words that are not featured in the standard english dictionary. We will use the [Natural Language Toolkit](http://www.nltk.org) to perform this task." 316 | ] 317 | }, 318 | { 319 | "cell_type": "code", 320 | "execution_count": 25, 321 | "metadata": { 322 | "collapsed": true 323 | }, 324 | "outputs": [], 325 | "source": [ 326 | "#language imports\n", 327 | "import nltk\n", 328 | "import collections as co\n", 329 | "import StringIO\n", 330 | "import re\n", 331 | "#find full distribution of word frequencies\n", 332 | "#write the all to a string wrtier\n", 333 | "stringWriteTerm = StringIO.StringIO()\n", 334 | "filteredOkCupidFrame[\"essay0\"].apply(lambda x: stringWriteTerm.write(x))\n", 335 | "#get the full string from the writer\n", 336 | "summaryString = stringWriteTerm.getvalue()\n", 337 | "stringWriteTerm.close()\n", 338 | "#lower and split into series of words (tokens) on multiple split criteria\n", 339 | "summaryString = summaryString.lower()\n", 340 | "#split on \".\", \" \", \";\", \"-\", or new line\n", 341 | "summaryWordList = re.split(\"\\.| |,|;|-|\\n\",summaryString)" 342 | ] 343 | }, 344 | { 345 | "cell_type": "code", 346 | "execution_count": 26, 347 | "metadata": { 348 | "collapsed": true 349 | }, 350 | "outputs": [], 351 | "source": [ 352 | "#keep only legal words, and non stop-words (i.e. \".\" or \"&\")\n", 353 | "#get counter of legal English\n", 354 | "legalWordCounter = co.Counter(nltk.corpus.words.words())\n", 355 | "stopWordsCounter = co.Counter(nltk.corpus.stopwords.words())\n", 356 | "#filter narrativeWordList\n", 357 | "filterSummaryWordList = [i for i in summaryWordList\n", 358 | " if i in legalWordCounter and\n", 359 | " i not in stopWordsCounter]\n", 360 | "#counter for the legal words in our filtered list\n", 361 | "filteredWordCounter = co.Counter(filterSummaryWordList)" 362 | ] 363 | }, 364 | { 365 | "cell_type": "markdown", 366 | "metadata": { 367 | "variables": { 368 | "len(filteredWordCounter.values())": "22940", 369 | "sum(filteredWordCounter.values())": "2449319" 370 | } 371 | }, 372 | "source": [ 373 | "We see that there are {{sum(filteredWordCounter.values())}} non-distinct words that occur in the entire corpus of summaries and {{len(filteredWordCounter.values())}} distinct words in this corpus. This is actually a rather diverse set of possible words that occur. Let us look at the distribution of the words by rank." 374 | ] 375 | }, 376 | { 377 | "cell_type": "code", 378 | "execution_count": 30, 379 | "metadata": { 380 | "collapsed": false 381 | }, 382 | "outputs": [ 383 | { 384 | "data": { 385 | "text/plain": [ 386 | "" 387 | ] 388 | }, 389 | "execution_count": 30, 390 | "metadata": {}, 391 | "output_type": "execute_result" 392 | }, 393 | { 394 | "data": { 395 | "image/png": "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\nYII=\n", 396 | "text/plain": [ 397 | "" 398 | ] 399 | }, 400 | "metadata": {}, 401 | "output_type": "display_data" 402 | } 403 | ], 404 | "source": [ 405 | "#make series of word frequency ordered by most common words\n", 406 | "wordFrequencyFrame = pd.DataFrame(filteredWordCounter.most_common(),\n", 407 | " columns = [\"Word\",\"Frequency\"])\n", 408 | "wordFrequencyFrame[\"Density\"] = (wordFrequencyFrame[\"Frequency\"] /\n", 409 | " np.sum(wordFrequencyFrame[\"Frequency\"]))\n", 410 | "#then plot rank-density plot\n", 411 | "#for the sake of easier visuals, we will log the rank\n", 412 | "desiredLineWidth = 3\n", 413 | "plt.plot(np.log(wordFrequencyFrame.index+1),wordFrequencyFrame[\"Density\"],\n", 414 | " lw = desiredLineWidth)\n", 415 | "plt.xlabel(\"Log-Rank\")\n", 416 | "plt.ylabel(\"Density\")\n", 417 | "plt.title(\"Log(Rank)-Density Plot\\nFor Words in our Summary Set\")" 418 | ] 419 | }, 420 | { 421 | "cell_type": "markdown", 422 | "metadata": {}, 423 | "source": [ 424 | "_Figure 3: Our word distribution by $\\log(Rank)$ of a word._\n", 425 | "\n", 426 | "We see that this distribution dissipates after about the top $e^6 \\approx 403$ most frequent words in our corpus, which suggests that this is a very sparse language. Since we have over $20000$ possible words in our corpus and only about $403$ of them are used that often, this suggests to me that if we were to do a formal model selection procedure, we would need to not consider many words that occur very rarely.\n", 427 | "\n", 428 | "Let us see what our top ten most frequent words look like." 429 | ] 430 | }, 431 | { 432 | "cell_type": "code", 433 | "execution_count": 31, 434 | "metadata": { 435 | "collapsed": false 436 | }, 437 | "outputs": [ 438 | { 439 | "data": { 440 | "text/html": [ 441 | "\n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | "
WordFrequency
love46721
like43604
life26893
people25578
new22271
time21956
good21031
enjoy17052
get15484
looking14405
" 491 | ], 492 | "text/plain": [ 493 | "" 494 | ] 495 | }, 496 | "metadata": {}, 497 | "output_type": "display_data" 498 | } 499 | ], 500 | "source": [ 501 | "topLev = 10\n", 502 | "topTenWordFrame = wordFrequencyFrame.iloc[0:topLev,:].loc[:,\n", 503 | " [\"Word\",\"Frequency\"]]\n", 504 | "#then display\n", 505 | "display(HTML(topTenWordFrame.to_html(index = False)))" 506 | ] 507 | }, 508 | { 509 | "cell_type": "markdown", 510 | "metadata": {}, 511 | "source": [ 512 | "_Table 2: Our Top Ten Most Frequent words along with their frequencies in our corpus._\n", 513 | "\n", 514 | "We see that our summaries are generally focused around \"love\", and aspects of affection (\"like\",\"enjoy\",\"good\", etc).\n", 515 | "\n", 516 | "# Prediction\n", 517 | "\n", 518 | "Let us try to use these summaries to predict the age of an individual. We will do this by regressing age on a bag-of-words representation of our summaries. We will use [Scikit-Learn](http://scikit-learn.org/stable/) for building our bag-of-words per each observation." 519 | ] 520 | }, 521 | { 522 | "cell_type": "code", 523 | "execution_count": 33, 524 | "metadata": { 525 | "collapsed": true 526 | }, 527 | "outputs": [], 528 | "source": [ 529 | "#import our count vectorizer\n", 530 | "from sklearn.feature_extraction.text import CountVectorizer\n", 531 | "#make a vocab dictionary\n", 532 | "counterList = filteredWordCounter.most_common()\n", 533 | "vocabDict = {}\n", 534 | "for i in xrange(len(counterList)):\n", 535 | " rankWord = counterList[i][0]\n", 536 | " vocabDict[rankWord] = i\n", 537 | "#initialize vectorizer\n", 538 | "vectorizer = CountVectorizer(min_df=1,stop_words=stopWordsCounter,\n", 539 | " vocabulary = vocabDict)\n", 540 | "#then fit and transform our summaries\n", 541 | "bagOfWordsMatrix = vectorizer.fit_transform(filteredOkCupidFrame[\"essay0\"])" 542 | ] 543 | }, 544 | { 545 | "cell_type": "code", 546 | "execution_count": null, 547 | "metadata": { 548 | "collapsed": false 549 | }, 550 | "outputs": [], 551 | "source": [ 552 | "#get language frame\n", 553 | "langFrame = pd.DataFrame(bagOfWordsMatrix.toarray(),\n", 554 | " columns = vectorizer.get_feature_names())\n", 555 | "#import linear model\n", 556 | "import sklearn.linear_model as lm\n", 557 | "#build model\n", 558 | "initialLinearMod = lm.LinearRegression()\n", 559 | "initialLinearMod.fit(langFrame,filteredOkCupidFrame[\"age\"])" 560 | ] 561 | }, 562 | { 563 | "cell_type": "markdown", 564 | "metadata": {}, 565 | "source": [ 566 | "Let us first study how well our model is performing on the dataset. We will use the error metric root mean-squared error (RMSE)." 567 | ] 568 | }, 569 | { 570 | "cell_type": "code", 571 | "execution_count": null, 572 | "metadata": { 573 | "collapsed": true 574 | }, 575 | "outputs": [], 576 | "source": [ 577 | "#get predictions\n", 578 | "predictionVec = initialLinearMod.predict(langFrame)" 579 | ] 580 | } 581 | ], 582 | "metadata": { 583 | "kernelspec": { 584 | "display_name": "Python 2", 585 | "language": "python", 586 | "name": "python2" 587 | }, 588 | "language_info": { 589 | "codemirror_mode": { 590 | "name": "ipython", 591 | "version": 2 592 | }, 593 | "file_extension": ".py", 594 | "mimetype": "text/x-python", 595 | "name": "python", 596 | "nbconvert_exporter": "python", 597 | "pygments_lexer": "ipython2", 598 | "version": "2.7.10" 599 | }, 600 | "latex_envs": { 601 | "bibliofile": "biblio.bib", 602 | "cite_by": "apalike", 603 | "current_citInitial": 1, 604 | "eqLabelWithNumbers": true, 605 | "eqNumInitial": 0 606 | }, 607 | "nav_menu": {}, 608 | "toc": { 609 | "navigate_menu": true, 610 | "number_sections": true, 611 | "sideBar": true, 612 | "threshold": 6, 613 | "toc_cell": false, 614 | "toc_section_display": "block", 615 | "toc_window_display": false 616 | } 617 | }, 618 | "nbformat": 4, 619 | "nbformat_minor": 1 620 | } 621 | --------------------------------------------------------------------------------