From ede7638578fbc0aff69ea91da88287db6364e537 Mon Sep 17 00:00:00 2001 From: Denton Zhao Date: Wed, 2 Dec 2015 20:53:10 -0800 Subject: [PATCH 1/9] initial commit --- homework/temp.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 homework/temp.txt diff --git a/homework/temp.txt b/homework/temp.txt new file mode 100644 index 0000000..e69de29 From 353a70da0cb845400fcc1ad7844048e1fb385e8f Mon Sep 17 00:00:00 2001 From: Denton Zhao Date: Wed, 2 Dec 2015 21:13:41 -0800 Subject: [PATCH 2/9] added another temp --- homework/temp2.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 homework/temp2.txt diff --git a/homework/temp2.txt b/homework/temp2.txt new file mode 100644 index 0000000..e69de29 From 8c2566ee6ed03c76b1e59185453900501dc9729c Mon Sep 17 00:00:00 2001 From: Denton Zhao Date: Wed, 16 Dec 2015 19:43:16 -0800 Subject: [PATCH 3/9] commit 4 --- homework/04_knn_sklearn.ipynb | 1048 +++++++++++++++++++++++ homework/DAT19-HW1-Assignment.ipynb | 694 +++++++++++++++ homework/Git Contributor Exercise.ipynb | 146 ++++ homework/iris_01nn_map.png | Bin 0 -> 22025 bytes homework/iris_05nn_map.png | Bin 0 -> 21819 bytes homework/iris_15nn_map.png | Bin 0 -> 21699 bytes homework/iris_50nn_map.png | Bin 0 -> 21569 bytes homework/iris_petal_sepal.png | Bin 0 -> 344642 bytes homework/supervised_learning.png | Bin 0 -> 37614 bytes 9 files changed, 1888 insertions(+) create mode 100644 homework/04_knn_sklearn.ipynb create mode 100644 homework/DAT19-HW1-Assignment.ipynb create mode 100644 homework/Git Contributor Exercise.ipynb create mode 100644 homework/iris_01nn_map.png create mode 100644 homework/iris_05nn_map.png create mode 100644 homework/iris_15nn_map.png create mode 100644 homework/iris_50nn_map.png create mode 100644 homework/iris_petal_sepal.png create mode 100644 homework/supervised_learning.png diff --git a/homework/04_knn_sklearn.ipynb b/homework/04_knn_sklearn.ipynb new file mode 100644 index 0000000..72bd839 --- /dev/null +++ b/homework/04_knn_sklearn.ipynb @@ -0,0 +1,1048 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Class 4 Lab: K-nearest neighbors and scikit-learn" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Agenda\n", + "\n", + "- **K-nearest neighbors (KNN)**\n", + " - Review of the iris dataset\n", + " - Visualizing the iris dataset\n", + " - KNN classification\n", + " - Review of supervised learning\n", + "- **scikit-learn**\n", + " - Requirements for working with data in scikit-learn\n", + " - scikit-learn's 4-step modeling pattern\n", + " - Tuning a KNN model\n", + " - Comparing KNN with other models" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The iris dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# read the iris data into a DataFrame\n", + "import pandas as pd\n", + "col_names = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species']\n", + "iris = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data', header=None, names=col_names)\n", + "# names=col_name is optional" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "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", + "
sepal_lengthsepal_widthpetal_lengthpetal_widthspecies
05.13.51.40.2Iris-setosa
14.93.01.40.2Iris-setosa
24.73.21.30.2Iris-setosa
34.63.11.50.2Iris-setosa
45.03.61.40.2Iris-setosa
\n", + "
" + ], + "text/plain": [ + " sepal_length sepal_width petal_length petal_width species\n", + "0 5.1 3.5 1.4 0.2 Iris-setosa\n", + "1 4.9 3.0 1.4 0.2 Iris-setosa\n", + "2 4.7 3.2 1.3 0.2 Iris-setosa\n", + "3 4.6 3.1 1.5 0.2 Iris-setosa\n", + "4 5.0 3.6 1.4 0.2 Iris-setosa" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "iris.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Terminology\n", + "\n", + "- **150 observations** (n=150): each observation is one iris flower\n", + "- **4 features** (p=4): sepal length, sepal width, petal length, and petal width\n", + "- **Response**: iris species\n", + "- **Classification problem** since response is categorical\n", + "\n", + "![iris](images/iris_petal_sepal.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Let's plot the iris dataset\n", + "\n", + "...and see what we can learn." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# allow plots to appear in the notebook\n", + "%matplotlib inline\n", + "\n", + "# create a custom colormap. #FF0000 corresponds to a color, we could have used something else. \n", + "from matplotlib.colors import ListedColormap\n", + "cmap_bold = ListedColormap(['#FF0000', '#00FF00', '#0000FF'])\n", + "\n", + "# map each iris species to a number: convert your output into a number.\n", + "iris['species_num'] = iris.species.map({'Iris-setosa':0, 'Iris-versicolor':1, 'Iris-virginica':2})" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/dentonzhao/anaconda/lib/python2.7/site-packages/matplotlib/collections.py:590: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison\n", + " if self._edgecolors == str('face'):\n" + ] + }, + { + "data": { + "image/png": "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\ne4nrAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# create a scatter plot of PETAL LENGTH versus PETAL WIDTH and color by SPECIES\n", + "iris.plot(kind='scatter', x='petal_length', y='petal_width', c='species_num', colormap=cmap_bold)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAD3CAYAAAD8O/QcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd8FWX2h583N+XeuSkEEjqB0DEgTRBEJIiiiGJXsJf1\ntyqufe26qLvr6q6C2MDeFQWxoSgoKFgAKUoVkA5KDyUJIbn5/v6YS4iQchNuCuR9+MyHO+89875n\nZm7OzJw57zlGEhaLxWI5somoagUsFovFUvFYY2+xWCw1AGvsLRaLpQZgjb3FYrHUAKyxt1gslhqA\nNfYWi8VSA6hwY2+MWWWM+cUYM9cYM7MYmZHGmGXGmJ+NMZ0rWieLxWKpSIwxTYwxU4wxC40xC4wx\nNxYjV2m2L7IiOw8iIF3StqK+NMacBrSU1MoYcyzwHNCjEvSyWCyWiiIXuEXSPGNMLDDbGDNJ0uJ9\nApVt+yrLjWNK+G4Q8BqApBlALWNMvUrRymKxWCoASX9Imhf8vBtYDDQ8QKxSbV9lGHsBk40xPxlj\nrini+0bA2kLr64DGlaCXxWKxVDjGmGZAZ2DGAV9Vqu2rDDdOL0m/G2OSgUnGmCWSph0gc+Cdv83h\nYLFYDnuCLpyxwE3BO/yDRA5YrzDbV+HGXtLvwf83G2PGA92BwsZ+PdCk0HrjYNufMMbYC4DFYgkZ\nSSW5j0ukPPbmwPGMMVHAOOBNSR8WsUlIti9cVKgbxxjjGGPigp/9QH9g/gFiHwOXBWV6ABmSNhbV\nn6RKX/r06VMjxrTjHrlj1sRxw4PKsPwZY4wBXgIWSRpRzAAh275wUNF39vWA8e5+Ewm8JelLY8xf\nASSNlvSZMeY0Y8xyIBO4soJ1KhPNmjWrEWPacY/cMWviuNWAXsAlwC/GmLnBtnuAFKga21ehxl7S\nSqBTEe2jD1i/oSL1OBSsQbDjHu5j1sRxqxpJ0wnBc1KZts/OoC2F9PT0GjGmHffIHbMmjms5GBM+\n/1bFYozR4aKrxWKpWowx6JBf0JbF3hzaeJWBvbO3WCyWGoA19haLxVIDsMbeYrFYagDW2FssFksN\nwBp7i8ViqQFYY2+xWCw1AGvsLRaLpQZgjb3FYrHUAKyxt1gslhqANfYWi8VSA7DG3mKxWGoA1thb\nLBZLDcAae4vFYgkzxpiXjTEbjTEHFmva932CMeYTY8w8Y8wCY8wVFa2TNfYWi8USfl4BTi3h+6HA\nAkmdgHTgcWNMhdYXscbeYrFYwoykacD2EkTygfjg53hgq6S8itSpwguOWywWi+UgngY+McZsAOKA\nCyp6QGvsLRaLpcxMDS7l5lRgjqS+xpgWwCRjTEdJu8KgXJFYY2+xWCxlJj247OPBsnZwBfAIgKTf\njDErgTbAT4euW9FYn73FYrFUPmuAkwCMMfVwDf2KihzQ1qC1WCxHHFVdg9YY8w7QB0gCNgL/AKIA\nJI02xjQAXgUaAAZ4RNLb5dU3JA0PFwNqjb3FYgmVqjb21ZFKceMYYzzGmLnGmE+K+C7dGLMj+P1c\nY8x9laGTxWKx1CQq6wXtTcAi3BCjovhG0qBK0sVisVhqHBV+Z2+MaQycBryI65sqUqyi9bBYLJaa\nTGW4cYYDf8edMVYUAo4zxvxsjPnMGHNUJehksVgsNYoKdeMYY04HNkmaa4xJL0ZsDtBEUpYxZgDw\nIdC6KMFhw4YVfE5PTyc9vbguLRZLTWLq1KlMnTq1qtWo1lRoNI4x5t/ApUAe4MXNATFO0mUlbLMS\n6Cpp2wHtNhrHYrGEhI3GOZhKC700xvQBbpd0xgHt9XDv/mWM6Q68J6lZEdtbY2+xWELCGvuDqex0\nCQIwxvwV3MkFwHnAdcaYPCALGFzJOlksFssRj51UZSkz77/3Ho/dfz979uxhyFVXcdf99xMRYTNv\nWKoP9s7+YGwiNEuZmDx5MjdfeSWvZmWRCFz32GNERkZyx733VrVqFoulBOztmKVMjHvzTe7IyuJk\n4BhgRFYW77/2WlWrZbFYSsEae0uZcOLi2FjIZbMRcPz+qlPIYrGEhPXZW8rEihUrOK5zZy7ZvZva\n+fk86Ti8/sEHnHLKKVWtmsVSgPXZH4w19pYys2rVKl4YNYqc7GzOGzKEHj16VLVKFsufqGpjb4x5\nGRiIG1beoZgx0nEzDEQBWySll1ffkDQ8XAyoNfYWiyVUqoGx7w3sBl4vytgbY2oB3wGnSFpnjEmS\ntKW8+oaC9dlbLBZLmJE0DdhegshFuNkE1gXlK9TQgzX2FovFUhW0AmobY6YYY34yxlxa0QPaOHuL\nxWIpM1ODS7mJAroA/QAH+MEY86OkZYesWjFYY2+xWCxlJj247OPBsnawFvelbDaQbYz5FugIVJix\nt24ci8ViqXw+Ao4Plmx1gGNxq/lVGPbO3gJAdnY2mZmZ1KlTB2OqdbiwxVLtMca8A/QBkowxa4F/\n4LpukDRa0hJjzETgF9zCTi9IqlBjb0MvLTx8//088uijxERE0KZVKz6aPJl69epVtVoWS7mp6tDL\n6oh149RwPv30U9584glW5OayLSeHE5Ys4ZohQ6paLYvFEmasG6eGM3PGDAZnZVE/uH5TXh5dZ8+u\nUp0sFkv4sXf2NZyUpk2Z7jjkBdenAimNGlWhRhaLpSKwPvsaTm5uLmeedBLr5swhJSKCn4AJX39N\n165dq1o1i6XcWJ/9wVhjbyEQCPDtt9+yY8cOevbsaV/OWg57rLE/GGvsD2PWr1/PP+64gw2rVtHr\n5JO54957iYqKqmq1LJYqxxr7g7HG/jAlIyODLm3bMmTLFnoEAoz0+Ug56yxeevvtqlbNYqlyrLE/\nGGvsD1Pef/99XrnqKj7bvRtwc6nW8XjYmZlJTExM1SpnsVQx1tgfjI3GOYxRMZ8tFovlQKyxP0zp\n378/S2NjuSsykvHAWY7DZUOG2Lt6i8VSJJVi7IPJfuYaYz4p5vuRxphlxpifjTGdK0Onw52EhASm\nzZ7N9iFDeLl3b06+6y6ee+WVqlbLYrFUUyrFZ2+MuRXoCsRJGnTAd6cBN0g6zRhzLPCkpIOKmlqf\nffUnKyuLKVOmkJeXR58+fahVq1ZVq2SpoVif/cFUeLoEY0xj4DTgX8CtRYgMAl4DkDTDGFPLGFNP\n0saK1s0SPrZv3056t24kbNqED7jZ52PqzJk0bdq0qlWzWCxUjhtnOPB33DSeRdEIN5H/PtYBjSta\nKUt4eeTBB+mxdi3f7NrFF7t2ceXWrdx9441VrZbFUiUYY142xmw0xswvRa6bMSbPGHNORetUoXf2\nxpjTgU2S5hpj0ksSPWC9yOenYcOGFXxOT08nPb2kLi2Vydrlyxm4d2/BiewdCDB51aqqVMlSg5g6\ndSpTp06tajUK8wrwFPB6cQLGGA/wKDCRg21g2KlQn70x5t/ApUAe4AXicSuqX1ZIZhQwVdK7wfUl\nQJ8D3TjWZ1+9GfH444x/4AE+zcoiGrjY6yX1L3/hv089VdWqWWog1cFnb4xpBnwiqUMxY9wM7AW6\nAZ9KGldOdUOiQt04ku6R1ERSKjAY+LqwoQ/yMXAZgDGmB5Bh/fWHH3+7+WbannsudSMjqR0ZidLT\neeixx6paLYulWmKMaQScCTwXbKrwO9nKzmcvAGPMX6GgPNdnxpjTjDHLgUzgykrWyRIGPB4Po19/\nnSeee45AIEB8fHxVq2SxVGdGAHdJknHrgB7ebpxwYt04h85tt97K8yNGkCPRuE4dpsyebaNlLEck\nFe/GmRpc9vFgmdw4xpgV7DfwSUAWcI2kj8urc2lYY19DePPNNxl66aV8AbQFbgG+qVOHFVu2VLFm\nFkv4ORx89oXkXgnKfVBmRcuALUtYQ3j33Xe5DNg3W+1xoMHWrVWokcVy5GKMeQfoAyQZY9YC/wCi\nwHVfV4VO1tjXEJKTk5mPe69igCVAjKnWE/4slsMWSUPKIFsp7yltIrQawvDhw1kYE0M6MBQ4Fbj2\n9turVimLxVJpWJ99DSIjI4Pbb7+djRs3MnjwYC6++OKqVsliqRCqg8++umGN/WHA+vXrOalvX3Zu\n3EiLjh2ZMmUKHo+nyvRZsWIFzz/7LHuysjj/4ovp1atXleliCS9r1qzhqaeeY9euLAYPPrvUWepL\nlixh1KiXyMsLcOWVF1ebQvXW2B+MNfbVnB07dtA0MZHeEicDo4FdiYms2batSvT57bff6NWlC1fs\n3k1ifj5P+Hy8Om4cAwYMqBJ9LOFj7dq1HH30sezadRGBQD0cZzhvvPE055xTdNqWBQsW0KNHX7Ky\nrkXy4jgjmDjxA3r37l3Jmh9MWIx92Wx9tTf2SDosFlfVmsc111yjNqAASKBtoCjQ8uXLq0SfW2+4\nQfcYIwX1+QB0QseOVaKLJbzcffd98nhu3ndqBRPVqlXXYuUvuugvMuY/heRf1QknnF6JGhdP0F4c\nkr0p079DHK8yFvuCtpqzY8cO6rD/TXo8bgjV5s2bq0SfrF27SC70hFUXN4+95fBn9+4sAoHkQi11\nyc7OLlFeKiyfTFZW8fKWqsUa+2rOHXfcwTzcudU/A9cA0RERdOvWrUr0Of+yy3jMcfgcmAHc6Dhc\neKXNcHEkMHjwuTjOSOATYBaOM5TLLrugWPmrrroAx3kQ+Ar4Dsf5O1ddVby8pYqp6keLsjxW1VSe\nf/551fF4VAtUz+fT3Llzq1SfcePG6di2bdUpNVX/efhhBQKBKtXHEj4++eQTpaX1VLNmHXXffQ8p\nLy+vRPnXXntDrVodo+bNO2v48JHKz8+vJE1LBuvGOWixL2gPE37//XfWrVtHq1atQir3t2bNGjZt\n2kTbtm2JjY0taF+1ahVbt26lXbt2OI5TkSpbLFWGfUF7MNaNcxjw1BNPkNa8OX896SRaN2nC119/\nXaL8/XfcQZc2bfhLv360SUlhzpw5SOKW666je7t2XHXiibRr2pSFCxdW0h5YLJYqp6ofLcryWFUT\nWbhwoer5fFodDHn4CpQcF6fc3Nwi5b/++mu18Pu1JSj/Dqhtkyb6+OOPleb3KyPY/oIxOqZt20re\nG4ulcuAIdOMAZwBzge3AruCyM9Tt7Z19NefXX3+le1QUKcH1EwFyc4uNxlm8eDH98vOpE1w/D1i6\nbh0LFy7klJwcEoLt50ssXrGiQnW3WCxhZQRwOVBHUlxwCblwhDX21ZzWrVszKy+voCL7FICoKJKT\nk4uUb9euHV9FRLAvn+U4oFWjRqSlpfFlTAw7gu1jjaFd8+YVqrvFYgkra4GFkvLLs3HIWS+NMb2A\nZoW2kaRii+lawkNaWhp3P/QQHe+7j2bR0azLz+ed8eOJjCz61PXt25fB111Hm6efJiU6mj8iIvjk\nww/p0qULX11yCa1ee42G0dFsi4ri87FjK3lvLJaagTHmZWAgsElFFy+5GLgDNwntLuA6Sb+U0u0d\nwGfGmKm4tWvBtcNPhKSTQohwMca8CTQH5gGBfe2S/hbKIOGgpkfjbNiwgfXr19OyZUsSExNLlV+9\nenVBNE5cXFxB+4oVK9i2bRvt2rXD7/dXpMoWS5VR1dE4xpjewG7g9WKMfU9gkaQdxphTgWGSehwo\nd8A2k3AvDPOBgrt7SQ+GpGKIxn4xcFRVWtvqYOx37tzJrddey4/Tp9MkJYUnXniBdu3aha3/VatW\ncdPVV/PbsmV07NKFJ198kaSkpLD1bzl8+PXXX/nLX25h9eo1HHdcd0aPHk5CQkLpG1qAqjf2wT6a\nEVqlqkRgvqTGpcgtkNS+DFr9iVB99guABuUd5EjhgoEDyf/gA95au5aB33/PSb16sSVMZf12795N\nv5496fnNN7y1di1Jn33G6X37kp9fLvec5TBm27ZtHHdcP7777lTWrn2LDz+MYMCA86jqmx1LhXE1\n8FkIcp8ZY04p7yAl+uyNMZ8EP8YCi4wxM4GcYJskDSrvwIcbGRkZTJ8xg4zcXCKBjhKf5+Xx7bff\nFpsVsCzMmjWLellZ3BVwvWQjcnNpvGIFq1evJjU19ZD7txw+TJs2jby89kg3ApCTM5rZs2uzfft2\nateuXcXaWcKJMaYvcBUQSp7w64HbjTF7gdxgm0KNyCntBe3j+zpkfyV0CrXVGGJiYghI7ARq4+78\nFgmfzxeW/n0+H9vz8wkAHiATyAoEwta/5fDB5/MhbcV1y0YAO8nPzyUmJqaKNbMUMDW4HALGmKOB\nF4BTJW0vTV5SbGkyJVGisZc0NajUY5LuKPydMeZR4JtDGfxwwufzccN113HySy9xRVYW02NiiEhN\npV+/fmHpv1u3bjQ5+mjOmjuX/tnZjHEczjnzTOrXrx+W/i2HD+np6TRvHs2SJReSk3MCjvMaV1xx\nrX2hXp1IDy77COkV6X6MMSnAB8AlkpaHuM0JRbVL+jak7UN8QTtXUucD2uaX9uIhKOfFvSjE4F5c\nxkoadoBMOvARsG+WzzhJ/zxApspf0ErijTfe4MepU2nSogU33nxzWP8Ac3JyeHrkSH5btIhOPXrw\nl2uuISLCToWoiWRlZTFixEiWL19D797dueKKyzG2QHzIVPULWmPMO0AfIAnYCPwDiAKQNNoY8yJw\nNrAmuEmupO6l6PQp+z0qXqA7MFvSiSGpWJIBNcZch+snagH8VuirOOA7SSEVMTXGOJKyjDGRwHTg\nJkkzCn2fDtxa0juA6mDsK5r8/HzuvfdeFixYQO/evbnjDvdhKi8vjzvvvJOlS5dy0kkncdNNNxW0\njx07lg0bNtCjRw+OO+64co2bmZnJmDFj2LlzJyeffDJpaWlh2yeLpSqoamNfGRhjmgBPSgrtpWEp\nuRgScCdSvQs0DX5uhjtdtzy5HRxgNtDtgPZ03BClGpsbJxAIKC0lRa1BQ0ENQScdf7wCgYBa1qun\n9sH2uqCzBgxQXl6eTu/bV8f5/boxOlqNHEejn322zOPu2rVLnVq10kDH0dDoaCU7jiZOnFgBe2ix\nVB4cgblxitDRAItDli+ls9rBpU6hzwVLGZSKwJ2QtQt4pIjv+wBbcetzfIYb01+jjP27776rZFBm\nMFHZRlAMaNiwYWoC2hNsXxMsSzhmzBh1jo1VbrB9GcgfHV1q/vEDGTlypM7xepUf7GciqH3TphWz\nkxZLJXEkGnvgqULLM8B3wJuhbl9aNM4c9kfipOBmWwNIBFYDIcUEys3l0MkYkwCMN8akSSqcX3cO\n0ESuq2cA8CHQ+sB+hg0bVvA5PT2d9PT0UIY/LFizZg0puI8+4Jb7iweWLFlCC9wXHgCNg59/++03\nWrP/DXsLIJCfz549e8r0HmHrli0clZNTEGp1FLA1I+PQdsZiqWSmTp3K1KlTq1qNimZ2oc95wDuS\npoe8dYhXlBeA0wqtDwCeL+fV6X7gtlJkVnLAkwNH+J390qVL5YDeA+0CDQfFR0Ro+vTpckAfg3aC\nHgYlRkZq+fLlSnIcfRlsv8fjUc+jjy7zuN98840aOY7mgLaDLoqJ0WXnnVcBe2ixVB4cgXf2h7qE\nuuMLQmkrZtskoFbwsw/4tvCFI9hej/0vi7sDq4o6+Ec6r776qhI9HkWCkmNi9OWXX0qSnnnmGSVE\nRCgSVN/n0/Tp0yVJkyZNUov69eWLitJJPXpow4YN5Rr3tVdeUcPERPmjozV40CDt2rUrbPtksVQF\nR6KxB44HJgHLgjfEK4EVoW4faujll0Ej/SauS+ci4ARJpU7dNcZ0AF7DnSsUAYyR9E9jzF+DFny0\nMWYocB3uo0kWbmTOjwf0o1B0rWgksW3bNhISEorNPFmYvLw8Vq5cSWpqakjye/fuLZg1W1g+EAiQ\nkZFB7dq1/xSCl5eXx86dO0lMTAwpNG/37t1s3ryZpk2bVouwzt27dxMRERFyicQdO3YQExOD1+v9\nU3tGRgY+n89OPLIAR2Y0jjHmV+BmXLd34YSUoeVsCfGKUgcYiVslZS7wJGV4QRumq1ppF/MKZ8GC\nBWrZsKESoqMV7/XqvTFjSpQfPXq0/MbIB/KBHn300RLlH3zwQXmDsn5j9Oqrr0qSPhg3TrUcRwnR\n0Wpev75++eUXSdKbr7+uOK9X8dHRapuSoiVLlpTY/7mDBikK5AXViY7WrFmzyrD34SU7O1sDzx+o\nSF+kIr2RuvSaS0t8ubx9+3Ydd9zJioryKzLSq9tuu1v5+fnavHmzunTpraioWEVGevXAAw9X4l5Y\nqiscmXf2Mw5p+4pWMIw7Wtr5rVDy8/PVsmFDvRiMWpkHSnYcLV26tEj5zZs3F/jaBZoCcqBYgzx3\n7lw5oOlB+bFBg//zzz8ryXH0U7D9NVBqvXqaP3++6jqOFgTbnzFGR5UQRTNixAglg1aB8kH3ghr6\n/eE4NOXi5jtvlu9Mn9iD2ImcPo4efbz4i+H551+u6Oi/CPIEm+U4R+utt97SKaecq6iomwQBwQb5\n/W300UcfVeKeWKojR6ix/w/wX6An0GXfEur2JT7HG2OeDP7/SRHLxyE9OhwhbN26lc1btnB1cL0j\n0NvjYe7cuUXKT5s2jTq4RSPBnUjQApg0aVKR8hMnTiSN/dmQzgViJcaNG0fPyEi6BtsvA3bt2MGU\nKVPoFxHBvulP10msWL+e3bt3F9n/F198wUW4kyUMcDuwJTMzlF2vEKb+OJXsG7Ld0KI4yPprFlN+\nnFKs/Hff/cjevTfjegOTyMq6nG+/ncGMGT+Qm3sLroewAZmZF/HDDzOK7cdiOYzpARwD/Bs3b9m+\nJSRKcyLvq0RVVIdV70CvRGrVqoUiIvgFOBp3wsC8/Hxua1x0CuqjjjqKzbjxqU1x50uvAtq3Lzod\ndfv27fkP7mSDOrjTlTNwc+a8lpfHDtwZbguBHInWrVvzjEQWbrjmHMAXHV1s2GWLFi34FjdVXhRu\ngK7j8ZT5OISL1CapzJ8+n8BJARBETY+ieePiyyQ2adKE33+fjpQG5OP1fkfz5j1o2LAJGRnTcY9y\nAMf5npSUMytrNyyWSkNSeknfG2Mul/RaSR2E8vhwEuCr6MeU0h6rqpp3335byY6jc+Pi1Nzv1w1X\nX638/Pxi5c8/6ywlgAaA6oBOOeGEEvtP795dSUH5eNClQ4ZIkm69/nql+v06Ny5OdR1Hb77+uvLz\n83XNJZeold+vc+LilOw4+mDcuGL7zsnJUdPatdUCdErQpTRixIjyHYgwsHr1atVtVldx/eMU1ydO\nqWmp2rJlS7Hy8+fPV61aDRQXd7piY7urY8fjlJmZqVmzZikurq7i489UbGwX9ejRTzk5OZW4J5bq\nCEegGycEneeW9H2o0Tiv4z5CbMeNyvkWmK4Q0nKGi+oSjbN06VLmzp1LkyZNQspFM27cOL755hu6\nd+/OJZdcUqr8a6+9xuzZs+nXrx9nnrn/DvWHH35gzZo1dOrUiTZt2gDuhXr69Ols2LCBrl270rJl\nyxL7zsvLY/jw4WzYsIHBgwdz7LHHlqpPRbJjxw6+/vprPB4P/fr1K3Uy2KZNm5g2bRqO49CvXz+i\no6MB+P333/nuu++Ii4ujX79+IUU9WY5sjsRonFJVKCJh5Z++L4sBNcY0BM7Ddfk2lFRpf1XVxdhX\nJNu3b+ehe+7ht0WL6NijB/c++CBer5fNmzfz0D33sHrpUrr16cOd991XYOhqOvn5+Vx19V/46NOv\n8TvRPDPyv3+6SB4qWVlZnHba2cybt4y6dRMYP/5NmyjuMMAa+yK+D/HO/lLcgP6jgc24mSunS/o+\nXIqGoMMRbez37t3LcR070nXFCk7du5c3vF7yevXinY8+4tj27em3fj3pubm84PNRq39/3v7ww6pW\nuVpw2uln8PlnC0CPAqvADOOryZ9y4okhZX0tlUaN2rJhQwPgRuBrPJ432LBhKXXr1g1L/5aKwRr7\nIgjRF7QVmAlcCaRWkT9KRzLTpk1Tp7i4goRkOaBkr1evv/66jo+Lk4LtWaDYqCht3769qlWuFhhP\nvGDuvsMjzA1K79s3LH2vXbtWEC3I2t8/x+j+++8PS/+WioMq9tkDL+PGZcwvYYyRuLNhfwY6H4q+\nwf6eLun7UKdQJuHWSfQC/zLGzDTGvFmmy46lRCT9qe6jCS5Fte+TtxCMCSv8M46ogGNT+Ax47LG3\nhMIrwKnFfWmMOQ1oKakV8H/Ac6V1aIy52RiTYFxeMsbMLVyAXNINJW0fqrGPw816uS+nfS3cApmW\nMNG9e3dUvz5/i45mAnCJ10vX7t0555xz2JyYyO2RkXwKXODzMaB/fxITE6ta5WpBv5OPA3M2bqLU\nEcAL3HvPPWHpu3HjxtSrl4I7W+JT4DY8nsUMHTo0LP1bjlwkTWN/luCiGISbRga5hZxqGWPqldLt\nVZJ2AP1x08xfijvRKiRCNfbTcX/xvwAXSGot6bJQB7GUTkxMDJN/+AFdfDFP9ehB6rXXMvbzz4mN\njWXqzJnsGjKEZ3r2pNONN/LGuHFVrW614YvPJnDhhccSn3gjdRs+xfvvvc7JJ58ctv6XL59Ljx4B\nYmNvoFmzScyZM83WBbaEg0bA2kLr63AzmJfEvkfMgcAbkhaUZcAyReMU24kxT0n62yF3VPIYqojH\n53Xr1jFr1iySk5Pp1atXqcnEVqxYwbx582jSpAndunUraJ80aRKTJk2ic+fODBkypNz6zJs3jxUr\nVpCWllYQYnm4k5mZybfffosk+vTpU2mFs+fNm8eYMWOoX78+Q4cOLQjJLOs5L46lS5eyYMECUlNT\n6dx5/3uxxYsXs3jxYlq1akWHDvvLNM+fP59ly5bRtm1bjjrqqFL7/+mnn1izZg0dO3akRYsW5dKx\nplLhL2inBpd9PHjwC1pjTDPcCnwH1eo2xnwC/EfSd8H1ycAdkuaUoNOrQEOgOW6wTCQwRVLX4rb5\nE4f6UiBogEsM5g/TGAo3U6ZMUZLfr9Pj49Xa79dFZ52lQCBQrPzY999XkuPojPh4pTiObr3+eknS\ntddco1jQScHJU+ndu5dLn4fuu08NHUeD4uOV7PPp5RdeKFc/1YlNmzapabumijs+TnG945TSNkV/\n/PFHhY87evRoYXwisrcwKapTN0U5OTn66quv5PcnKT7+dPn9rXTOOZeUODGuOF5++TX5fMmKjx8k\nx2mku+762+vNAAAgAElEQVT6hyRp5Mhn5fPVVXz8IPl89fWvf/1XkvTI/x6Rr75P8YPi5avr05PP\nPFli/3/729/lOCnBfpL07rvvlVnHmgzVYFIVrsu7yBe0wChgcKH1JUC9UnTy4ObD2Zcyvg5wdMj7\ndCgHpJASh6Wxb16/vj4Phllkg7rExmr8+PFFyubm5irB59PsoHwGqJnjaMKECYoBLQy2bwHVAn3w\nwQdl0mXx4sWq5/NpY7CfX0HxMTHasWNHOHa1yrjy+isVdVNUwR9F5K2Ruuyvl1X4uJFRCYJxwQia\nvSKio66//nrVrdtM8EWwPVuxsZ3KnDht165d8nrjBYuD/WyWz1df06ZNU0xMgmBFsH29vN46mjZt\nmrx1vGJ98CisRDEJMdq4cWOR/c+cOVOOkyLYHuxnrrzeeO3duzcch6ZGcBgY+9OAz4KfewA/hqBT\nBK6f/oHgegrQPdR9qvqE5lWEJNZs2kR6cN0L9MjNZfXq1UXKZ2RkYPLz6RJcTwC6eDzMmjULP245\nP3AvtUcBv/zyS5n0Wbt2LUdFR7Mvers1UCcqio0bN5apn+rGstXLyO2bW7Cel57HstXLKnzcvNxs\nKDi7UaATWb58OVu2rC3U7iUvr0ex57w4Nm3ahMdTC2gbbEkiOjqN+fPnEx3diP3VOhsSE9OSX375\nhZiWMe4DOEAziGkcw4YNG4rsf82aNURGdsaNgwDohBTJtm3byqSnpeowxrwDfA+0McasNcZcZYz5\na6E6Hp8BK4wxy4HRwPUhdPss7oXhouD67mBbSNRYY2+MoVtaGiMjIhBuwrKPPR6OOeaYIuXr1KlD\nYq1aBZnhFgDT8vI488wzyTGGfa9MZ+MGzZ56arFRV0WSlpbGL7m5zAyufwzsiYwkJSWljHtWvejT\nvQ++532QDewB3/M++nTvU+Hj+uMTwTyBG5u5HniHfv360a7dMUREjAxKrSIi4tNiz3lxNG7cmOjo\nPGB8sOUncnPnBSdybQG+CLZPIy/vN/r160feb3lukhGAL0GbVawfvmPHjuTmfocbDwHwFgkJcSQn\nJ5dJT0vVIWmIpIaSoiU1kfSypNGSRheSuUFSS0kdVYKvvhDHShqK+9eEpG24eQ1DViocLpYrwtFP\naY9V4WbFihVqn5qqOl6vnKgojXziiRLlf/75Z6XWq6ckr1dxMTF66403JLnlBP3GKBYUA7rj738v\nlz4ff/yxEh1HSV6vGiYm6ocffihXP9WJnJwcnTnkTEX5oxQVG6XTLzhde/bsqfBxZ86cqaiYRIFf\nEKmTThkgSfrtt9/UrFmavN46io72a8SIp8vV/4wZM1S7diN5vUlynFoaP/5DSW5N34SEevJ6kxQb\nW0dffPGFJOmLL75QbFKsvEleJdRL0DfffFNi/2+//a683nh5vUmqW7eZ5s2bVy49aypUAzdOuBdg\nBq7ffm5wPZkyuNBLjMYJvjEu4TqhQSFfVQ6RiorGkcSmTZuIj4/H5/OVKp+fn8+mTZtITEz8Uwm8\nvXv3smjRIlq2bElsbGy59cnNzWXLli3UrVsXTxWmIA43GRkZSKrU+QH5+fksWrSI+vXrk5SU9Kf2\nzZs3k5CQcFB5w7IQCATYtGkTSUlJREXtv8HKy8tj8+bNxbYnJyeHXKJy69atR9xvoTI4EtMlGGMu\nAS4AuuLG6J8H3CfpvZA6KOVKkl7SUtFXsgOvtFXN+vXr1f+44xTv9SqtaVNNmzatRPmlS5eqV8eO\nivd61bVNG/3888+SpJEjRyoBFA1KMEbPP/98Zahfo9i5c6cGDRosn6+W6tZN1fvvjy1XPxMmTFBE\nVLybNiEiVrfddluJ8i+++KKMSXDlTbwef/zxco1rOTQ4Au/sg3q1A24ILu3KtG1lKBimnQzhFFcc\n+fn56nbUUbrX49FW0Ieg5NhYrV27tkj5PXv2qEWDBnrSGG0FvQJqVLt2QfnB0aCtoKdBftC6desq\neY+ObM44Y7BiYi4TbBJMl+PU008//VSmPvLy8kSEX5i7BVsF4wU+TZw4sUj5TZs2Bd1GTwblXxQ4\n+vXXX8OxS5YycCQZeyA++H/t4FInuNSmDLXAQ3pBa4xpbYwZa4xZbIxZGVxWhPTocISwfft2lixf\nzsOBALWBM4HjIiL44YcfipT/7bffiNi1ixslagNXAI0DAZ544gka4SbDqA0MxU089OabNtVQOJk8\neSI5Of/DdWv2Yu/ei5k8eXKZ+pg1axbk54P+hXu2zgJPN559tugAiLfeegs3gubGoPzVQAovvvji\nIeyJxcI7wf/n4MaA/BRcZgeXkAg1GucV3EkAubgunNeAt0Id5EjA7/eTJxXMb84DVuTnU7t27SLl\nExMT2ZKbW5AcIxNYl5tL69at2YRb1hBgB278RmmFRyxlIy4uEVgaXBPR0UvL/L6gWbNmuGd6fbAl\nF/JX06hRoyLlW7dujVtMct9Z3w1stLNfLYeEpIHB/5tJSj1wKUtHoTxGzAn+P//AtspaqAY++yce\ne0zNHEe3R0bqeL9fg046qcQZt3//2990lN+vv3s86uz365pL3NmaDePi1Ap0K6g5KCUxsRL3omYw\nduw4+Xx1FRl5qxzndLVp00WZmZll7qdVu3aCusLcJCI6KtIbX2LZw9p1GgtSBbcKWis2rv6h7Ial\nnHAEuXEK6XQ2wdmzwfVawFmhbh9q8ZLvgd7AWOArYAPwiKQSk7cYY7zAN0AMbh6HsZKGFSE3EhgA\nZOGGcc4tQkah6FrRfP3118ycOZPGjRszePDgEqMqJDFhwgTmz59P69atOeecczDGEAgEOO+881iw\nYAGdOnXi3XfftdEWFcBPP/3EV199RWJiIpdccgmO45Srn//7v/9j6tSppKSk8Mknn5QYtRUIBLjo\noouYM2cOaWlpjBs3zp7bKuAIjcb5WVLHA9rmSeoUyvahlhW8GXBwnZEPA/HA5aVtJGmPMaavpCxj\nTCQw3RjzudyUnvuULcjrbIw5Fjevc48Q9QqZL7/8ks8/+ojE5GSuv+GGglC8Tz/9lMmffUZygwYM\n/dvfqFWrVon9nHjiiSFXQQoEArz//vssnDWL5mlpDBw4EK/XiyT69+9PSr16pHXpUiC/d+9eRj33\nHL8tXkynY4/l8ssvJyIifPPetm3bxlPPPMWmbZs4vf/pDBgwoET5n376iZtuu4nd2bu55rJruOEG\nN1326tWrGfXCKLL2ZHHR+ReVWsv2448/5qF//hsk7r/vnoKygfPmzeP119/G4/FwzTVXBt0gbh3e\n4U8+hdcbw2P/eYQTTjihXPt7zDHHFDlh6sILL2TSpOkkJvr56KMPaN++PQBjx47l6+lfk9IghRuG\n3kBsbCz5+flERUURGePH6/ORnZ2Nz+dDEq+99ho//jiXtm2bc/311xEdHY3H42HMmDEh67h3716e\nffY5lixZQY8enbn88ssxxrBnzx6efvoZli9fwwknHMuQIUPKnbCtKDZu3MgzzzzHtm07Oeec0wt+\n0+vWrePZZ0eze3cWF1xwNscff3zYxrQcMkX9AEK/kyjjY0Q8wTfD5XgEcXBfJnQ7oH0UcGGh9SIT\nAnEIbpyXXnhBTRxHj4L+EhWlFg0aaOvWrRr5xBNq7jj6L+iy6Ggd1ayZdu7cWe5xDqRdkybqAnoc\ndDyoWe3a2rt3r84fOFB9HUePg3o7ji4+5xzl5eXptD59dIrPp8dBxzqOrr3iirDpkpGRocatGyv6\nqmjxGHKaOnpm1DPFys+aNUvGb8T1iH8jEtAdd9yh3377TQn1ExRxa4R4GDl1nWKjUyTp7bffFvgE\ndwvuEfj02muv6bvvvpPjJAn+IWPuUmxsshYsWKBHH31UECt4WJibhfHpq6++CttxaNu2o6Ch4L+C\nwYJYLV++XA88/ICcdo74H4q5IEbtjmmn7OxsdT7mWGFaCh4XEf3li01SZmamrr56qBynm+Bx+XwD\ndPzxpygvL69MuuTl5al371Pl850qeFyO011XXXW99u7dq65dT5DXe2awvaNuuumOsB2DjRs3qm7d\npoqMvE7wHzlOI7355ltau3atEhMbyuO5UfBv+Xz19OGHH4Zt3MqEI9ON8wrwBNACaAkMB14NefsQ\nB+kGzMfNKrAaNyPAMSFuGwHMw30n+UgR338CHFdofTLQtaiDX15S6tQpSGAm0GCvVyNHjlRtv1+/\nFmo/3e/XK6+8Uu5xCvP9998rFrQ72HcOqB7of//7nxo7jvYE27NA9X0+jR07Vq39fuUG23eCEqKj\nw5Yh8rnnnpPvPN/+H+fPqFbDWsXKH9/neHFdoR/zFygyOVI33HqDIu6O2N8+FnU6oVOx/dRv1EIw\nQvsP81NKbpCq9PQzBC8VtBvziC666Go5sfUF7xWSv0vtj+4SlmOQl5cniBEsK9R/X/Xp00eR3sj9\nicryUWyfWL3yyiuCKMGWoGxARLTRvffeq+joeMGOYHuuYmPb6vvvvy+TPt9//71iY9sKcoP97FB0\ndLzee+89xcZ2ccdDgi2KjPRp9+7dYTkOjz76qKKjryp0DKapUaO2uvvu+4KGfl/7Z2rd+piwjFnZ\nHKHGPhZ4lP3ROI8A/lC3D9WN8zJwvdzqKxhjjg+2HV3ahpLygU7GmARgvDEmTdLCA8QOfDwp0ls2\nbNiwgs/p6emkp6eHpHxWTg6FS8A0yMsjMzPzoPb6+flkZWWF1GdpbN++HT/u4wxANO7blK1bt1Lb\n42Hf3FsvkBAZSUZGBkkeT8EJiQViIyPDpk9WVhaBeoH9DfUhJyunWPnde3a75RUKyefn5bMraxf5\nKYWKlDWAzKzMYvvZsyfXFSq0wd6cPHbvznI7DSI1YOfOX8jLC8CfzkojMrP2lLJ3ZSHvgP4bsmvX\nYpQvNwYW3F9jPfdcuU/J+1x7ERCRzLZt2/B4HNwCbgCRREQkl/lcZWVlERGRxH5vahwej5+MjAwi\nIuqyP1iuFhERUeTk5ISlFsDu3Vnk5v7pl8+ePVns3p1FIFC4MEuDsP3+KpqpU6cyderUqlajQpG0\nG7jTGOOXVPwfXQkdhHJFOSj/AuWIxgHuB247oC2kvM4cwp39tZdfrtN8Ps0HfQBKchzNnz9fl5xz\njs71erUA9A4oye/XsmXLyj1OYbKzs5UYGak7QYvcSG3FR0Ro7dq1at24sR72eLQI9IDHo7RmzbRl\nyxY1TU7W4xERWgS6PSpKx7RrV2bXQHEsXrxYTpIj3kfMR75BPl109UXFyo8aNUrEIz5DzEN0Q91O\n6KYvv/xSvoY+MQkxGzndHD38n4eL7ef/rr1WmEaC6YLvhWmsK6++Wk8//Zz8/vaCGYJv5DjNNHbs\nOPUfcJqIaCv4STBZmNr65z//GZZjIEkxMcmCQYIFAtfF9NZbb+nEM05UzGUxYiHiFRRXN05r1qyR\nP66uiLhSsFDwjIxxtGjRIqWldVdU1C2CRYqIGK6kpBRlZGSUSZcdO3YoObmpIiKeECxSVNStSkvr\nro0bNyoxsaGMeU6wSNHR16pbt/Ry5d0vitmzZ8txkgUfC36Wz9dP1113i6ZNmyafr57gc8FcOU4v\n3Xnn4VlcnSPzzv44YBGwNrjeEXg25O1DHGQEbhrO9ODyHK6/qAvQpYTtktifaN+Hm/fvtANkQsrr\nfCjGfs+ePbrluuvUtlEj9TjqKH399deSpMzMTF1/5ZVq07Cheh19tL777rtyj1EUc+fOVfM6dVQr\nIkIpCQkF6RVWr16tM/r2Vav69XXWSScVzJ5dtmyZTu3VS63q19f5p50W9iIf33zzjdof114N2zTU\nNTdeo+zs7BLl77nnHkUlRykiMULd+3QvkH93zLtq2aWlmqQ10QMPP1Bi+KkknX/hYEVG1ZYnKlHn\nnn++AoGA8vPz9dhjTyglpb1SUzvqxRdfluTWDejbr788kYmKjK6t64cODc/OB1m9erViYxsKEmRM\nou64w/WF79ixQ4OvGqwGrRuoS58umjNnjiQ3WV6DJi0V4UmQP75+gQ9706ZNGjjwAtWv30rHHXeK\nli5dWi59li1bpl69TlX9+q00cOAFBTnuFy5cqO7d+6l+/VY6++yLtXXr1jDs/X4mTpyotm27q1Gj\ntrrppjsKcuV/+OGHat36GDVufJTuvPP+sN1sVDbVwdjjFhxfAiwD7izi+wRcN/Y83ES6V5Si00zc\nHPZzC7UtDHWfQg29nEoxrpWgFe5bzHYdcCdgeXCfScdI+mehnM6jg3JPBw9MJnClikj3WVGhl9nZ\n2SxdupSkpKRiJ8vUVCSxatUqMjMzad26NdHR0QXtK1asYM+ePbRp0yakpF5FEQgEWLp0KR6Ph1at\nWhVEm+Tl5fHrr78SExNDixYtCtpzc3P59ddfcRyH1NTUgvacnByWLl1KfHw8TZs2Leh/z549LF3q\nTqZq0qRJqfpkZmayfPly6tatS4MGDUqVryr++OMPNm7cSMuWLSutxOPhRlWHXhpjPMCvwEm4s/Jm\nAUMkLS4kcw8QJ+luY0xSUL6epLxidJopqbsxZq6kzsG2g8Ixi+VQrn6VuVABk6rmz5+vlKQkHRUX\np8SYGN1XztTERyKBQEAXXH6BfHV9im0dq2ZpzbRu3Trt3btXA88fKF8Dn2JbxKp159bFVlwqiYyM\nDHXq1Un+Zn45jR2dMOAEZWdna/PmzWp3TDvFtoiVr4FPp55zqvbu3av169ereYfmim0VK189n865\nxI1gWrlypRo3bq24uDbyepN16aX/p/z8fP3666+ql1pPce3i5K3j1fW3Xl+iG2TmzJmq1aCW4tPi\nFVMrRg8/Wrxrqip5+OFHFRNTS/HxaapVq4FmzJhR1SpVS6jiO3ugJzCx0PpdwF0HyNwFPBP83BxY\nWopOY4FewFzc14C3A++GvE8h7nh94KV9yuMWY7r6UA5meQ5+uOnYooVeDoYebAG18vs1adKksI9z\nOPLCCy/I6eWITDc6xfOARycOOlGPD39cvpN8Yo/bHnVrlM66+Kwy93/l9Vcq5i8xIoDYi7xne3Xv\nsHt13mXnuWUM8xF7kO8Unx7732Pqf05/ee71uO1ZyOntaNSoUerZ82RFRDwSjB7ZJb//GL355pvq\n0LODzNPG/UPcjvxp/mLLD+bn56teaj0xNviHuwE5TRz9+OOPh3oYw4pbrrCxYENwf8epbt2mYfPl\nH0lUA2N/HvBCofVLgKcOkIkFpuBOUt0FDChFp2TgbWATsBk3ZU2dUPcp1Bk7rwJfsr+w2jLglhC3\nrZZIYuHKlQwJrtcB+uflsXDhgYFCNZO5C+eSdVaWG05kIHBRgIULFzJ74Wyyz81250QbyB2Sy88L\nfi5X/zmDc1znXhTsOX8PsxbMYt7CeeQOyXUjYmIg+9xsflr4EwsWLiAwJOC2+yDr7CzmLJzD4sUL\nyc/fV6UtlszMQcyfv5BlC5ehIcHn8Fqw57Q9LFiwoEhdsrOz2bJ+C5wTbGgAJt2waNGiMu9XRbJw\n4UKMSWd/dNPZbN36x2ETMVPDCMUJdCpuoEtDoBPwjDEmrjhhSZslXSSprqRkSRdL2hqqQqEa+yRJ\nY4BAcNBc3Bi2wxZjDG1SUgoKy+0AvoqMpE2bEjNA1Bg6tOmAM8GBYHSmZ7yHNm3a0LFNR3yf+NyU\neILI8ZGktU0rV//R46PdP4kAeD/20qltJ9LapBE5PtJtzwPfJz46tulI2zZt8XwYnCyYA84Eh6Pb\nHE3Llm2IiNh3FrPx+z+nXbs2pLZJxYwPulB3g3eSl7Zt2xahCfh8PhLrJcLnwYYtwDSq3W+hTZs2\nuNHPW4ItE0lISCp3GgjLITAVGFZoOZj1QOEXRU2AdQfIXAF8ACDpN2AlUOyPzhjTwhjziTFmizFm\nszHmI2NM85B1DvGRZiruze++clg9gG8O5TGpPI9V4Wb27NlqmJioY+LjVdfn0y3XXWcfiYPk5uZq\n4PkD5TRxFN8pXo1aNdLKlSuVk5OjvgP7yt/Mr7gOcWp6VFOtX7++zP1v2bJFbbu2VWy7WPlb+tUt\nvZsyMzP1+++/K7V9quLax8mf6tcJA07Qnj17tHr1ajVu3VjxHePlpDgacO4A5ebmaunSpapXL1Xx\n8Z3lOI107rmXKhAIaP78+arTpI7iu8bLV9+ny6+9vMRzO336dMXVjVNCtwR5k7y66x93HcrhqzDu\nvnuYvN4kxcd3U1xc3VIL6NRUqHo3TiTwG9AM178+jwOKjeAWC/9H8HO94MWg2Pz0uGUJL8WtOxuF\n6xqaEeo+hRqN0xUYCbQHFuKGVJ4vqezP7+WkoqJxdu7cyaJFi0hKSrJphg9AEosWLSIzM5MOHToU\nJADLz89n4cKF5OTk0KFDhz+VZywLubm5/PLLL3g8Hjp06FCQMCwnJ4f58+cTHR1N+/btC/IDZWdn\ns2DBAhzH4aijjiqIxsnKymLBggXExcXRtm3bgvbdu3ezYMECEhMTQ7pLz8jIYPHixdSvX5/U1NAz\nx1Y2K1eu5I8//qBdu3al5nKqqVR1NE6wjwG4Yese4CVJjxSORDTGNMB1kTdwe+ARSW+XoNMvko4+\noC280Ti4dQ/jcY39P4AJlBBfXxEL1SDFcU3jyy+/VOfOfdSyZVc9+OC/C+Lp77vvPnkbeBVVL0qn\nnXVaQfuYMe8pLe04tWnTXU8//Vy5npICgYAGnTtIUXWjFNMgRnfffXdB+z//+ahatTpGnTqdUJCP\nJy8vT/fe+6BatOiiLl3SNWXKFEnuHIquXXsrMjJZfn8jjR49WpI752LobUPVvHNz9ezfsyCevqxs\n27ZNF155oVI7purks0/WypUry9VPuJgzZ4569uyv1NROuv76W0udQ1EcEydOVKdOJ6hly6566KFH\nSp1DUV2hGsTZh3vBTZVwN+7TQjPgTuA/hFixKtRB5gf/Px7XpXM6ZXh8CNOOluVcWw6RGTNmyOdL\nFowVfCfH6a777ntQw4cPFwmIjxDfIlqj0846TRMmTJDjNBJ8Jpgix2mr554re23dQecOEi2DfX+M\nSHDzCQ0b9i85zjHBmbgfyHHq6ocfftCtt94txzle8IPgXTlOkubNm6c2bboIegdn6L4ucPTZZ5/p\ngisukPd0r5iJeBHFJsdq1apVZdIxEAio8/GdFX1ttPgJef7lUb3UemFNolcW3IliyYIXBDPl852h\nCy64vMz9/Pjjj3KcuoJxwXPeTQ88UD1DUEvjCDX2q3D9+kUtK0rdPsRB5gX//w9wcfDzQSkUKnhH\ny3CqLYfKLbf8XfCg9ifFmqtGjdqpZceW4olCP/JvUVTdKJ199qWC5wvJf6auXU8s87jR9aPFlEL9\nP4mad2yulJT2glmF+v+XbrzxNiUlNRUsLmg35m7df/8/5GbaXFdI/loNHDjQTXiWsb9/3xU+jRo1\nqkw6rlmzRr56PjdsNPgvvld8WLNzloVRo0bJ57u80L7uUGRkTJnvym+88TbBw4X6+UlNmqRVkNYV\nyxFq7C9gfz3aB4DxFJE0srgl1Gic9caY54ELgQnBoiThS7RuqXb4fF48nu2FWrYRExODN9oLhYO9\ntoPH48Hv92LMn+W93rL78j0ez/6qfgBbISYyBq/XS+EvIiK24fPFEB395/bISHdcdwLjnzvy+XxE\nxUT9qTliW0SZ3znExMQQ2BNwS+0ABCA/I7/c7y4OFa/XS0RE4X3dTmRkdJnz3zvOwf1U1T5ZiuR+\nSTuDiShPxJ37VHRB5KII8YriB84FWgXXGwD9K/pKduCV1lJ5rF69WgkJ9RURcafgSTlOI7399jua\nOHGi8CHuwb3DT0D33Xeffv75Z/n9STLmQcFj8vmSNXny5DKPO2zYMDcB2+OIexEOmjBhgsaMeU+O\n01AwQhERdys+vp5Wrlypl156RY6TIhgpj+c21a7dSOvXr9fZZ58vN2/904KhMiZWS5Ys0UOPPOTm\nrX8GRf01So1bNy5zAjNJuujqi+T0dsRzyHuOV93Suyk3N7fM/YSDHTt2qEmTNoqK+qvgGTlOOz30\n0L/L3M+qVauC5/wuwQj5fA317rtjKkDjiocj887+kDwsIUXjVAeqS1nCmsTKlSsZMeIZdu7MZMiQ\ns+nfvz8AX3zxBbfffzs5uTkMvWIoN910E+BO+nnmmRfYuzePq6++mJ49e5Zr3KeeeoqnXn6KmMgY\nHnvosYKKWpMnT+bttz8gNtbh5puvp3lzN8R4woQJvP/+pyQmxnHrrX8ryINz55138v77E6ld28/L\nL4/i6KPdQIZ3x7zLZ19/RsPkhvz9lr9Tp06dMusYCAQYNXoU38/9nnbN23HbzbeVWK6wotm6dSv/\n/e9wNmzYzIABfRk8+MJyVbZauXIlw4c/w+7dWQwZcjYnn3xyBWhb8VSHaJxwY4yZgBu/fzLQGdiD\n++40pGgca+wPYwKBAOPHj2fDhg306NGD7t27h7X/3bt3M3bsWDIzMznllFNKDU2dNGkS1157LXl5\neTz44INcccUVJcqvX7+eTz75BI/Hw9lnn11QKrKsLFmyhMmTJxMfH895551XMMlowYIFTJkyhcTE\nRM4//3zrkqhBHKHG3o876/YXScuCoZsdJH0ZUgcV/egRxkeYop/XaiiBQED9z+ov/7F+xVwfI6eh\no+dfKnv0S3FkZGQotX2q/Kf75b3GK3+SX9OnTy9W/q233hI4cnPFDxb4dM899xQrv3jxYiXUT5Dv\nMp+cCx0lpyQXpHouC1999ZUcJ0le7//J7z9VrVt31q5du/Tpp5/KcZLl9V4rv/9Edex4XLnDES2H\nHxyBbpxDXapcgbIcfMt+Jk6cqNiOsWJv8Mf2K4r2R4ctLvpf//6Xoi+J3v9jHoPa92xfrHx0TC3B\nLYUiOYbLRBRf9nDA+QNkHjcF/Xvu8ujqoVeXWc8WLTrJLcIhQb683nM1fPhwNWjQUvB1QbvjnKIX\nX3yxzP1bDk+ssT94sRE1hymbN2+GdriTpgFaQX4gn+zs7LD0v2HzBvZ22Lu/oQNs2bKlWPncPIOb\ny6MAjLsAABS0SURBVGkfR6P84n9ef2z+A3XY/5wc6BBgw+YNZdZz27bNrnIAGHJyOrBp0xYyMv7c\nvndvB/eYWSw1FGvsD1N69uxJ/uR8d4pbNnge9NCmY5uwFbMY0G8AzijHLaewE7wPeOnfr3+x8s2a\n1gH+BazFTdR1P7HxnmLlz+h3Bs6/HTdR6zpw/udwRr8zyqznSSedREzMfbgZYhfi871Ev359OeGE\nfkRH34tbD2cuUVFvhlyz2GI5IqnqR4uyPFZZ/sznn3+u5KbJ8kR51LVPV61duzas/Y946v/bu//o\nqKprgePfTTKT5IaQgGCQEEERrNgqIqbBqkQCEvEh8kB+6cKiIm0Rra1V9FXFVrQVxV9YxD60iFV0\nldanyC+tBFRC0CJILSBRY/lREQGJZPJrmP3+mAFCfpHA3JmQ2Z+17lqZOzvn7MnK2rk5955zHtfk\nk5I1PjFeh10zTEtLS+uNraqq0uSU9gpeBY96vGm6a9euBuMnTJ6g3mSvJrZJ1Dt+fccxLa9QUlKi\ngwdfrfHxCZqS0kGfeSZ432LPnj2am3ulxsV5NTU1XefOndfkts2JCxvGqXXY0zgtgKoe02N21fn9\nfsrLy2ndunWj2q+srMTv99daXre0tJRAIEBKSr3LctdqG6jVvs/nIz4+/tBWiI1pp66fQTh+NrGm\nqqqKysrKE3rLw3A8jdPEh3GOq79IsGGcFuB4i9lDjzyE08ah7cltybo0q9bYfPX2VZWf3/lzktsk\nk3pSKgOvGsj+/fsJBAJMmDyB1JNSaduhLUPHDKW8vLxRuVdv3+fzkZc3nNTUk0hObsPkybfTmD/y\n9f0MrNA3nqpy11334ThtSEtrzyWXXM6+ffuinZYJl2j/a9GUf6tM+C1evFidbo6yFeUA6rnFowOH\nDaw3fs5zc9Tp7SjfoFSgiWMSdfzPxutjTz6mzoVOcN2ZMjRpaJLeesetTc7nxhsna2LiSIUKhd3q\nOH109uw/Hs9HNI30yiuvqOOcrfCVQpV6vdfr1VdfF+20jglhGMbRJhx19UfwmfhNBHf2u7OefnII\n7in7TyD/eHI+2mFX9jFuVcEqfGN90BloBVW/qqKwoLDe+HcK3sF3oy+4lY0Xym8rJ39VPn8v+Du+\nn/ggFUiEslvLWF6wvMn5rFhRQHn5bcHGaYfPN4F33ik4tg9nmiQ/fxU+33iC+2jEU1n5C957z372\nx0KCizPNJFjwewJjROSsGjFpwNPAEFX9PsF9a11jxT7GZXTKwFnjQCB0ogA6ZnSsN75rp64krE44\ntMOmrBYyMzLp2qkrntWeQ3GtClrRJaNLk/PJzOyEyOrQK8XrXc3pp2c0uR3TdF26dCIxsYDD26eu\nJiPDfvbHKAsoUtViDW7jOh8YWiNmLLBAVbcBqGr9zzaHgd2gjXEVFRX0G9yPT777BOki6Arlrdff\nIjs7u874kpISLsi5gP+k/AfaQtyaOAreKaBDhw70uaQPuzvuhiRI+DiBNSvWNHnHp82bN9O3b3/8\n/j7APtLTv+XDD1eQmpoahk9rGlJaWkp2di7FxXGIpCOyipUrl3LuuY3bCKk5ifYNWhEZAQxS1Qmh\n19cCP1TVydViHiM4U+ZsIAV4QlXnHWvOR83R7QIqIpnAC8DJBC8ZnlXVJ2vE5AD/B3weOrVAVR+o\nEWPF3iV+v59ly5axb98+Lr74Yjp37txgfFlZGcuWLaOiooKcnBxOPvlkIFgsli1bht/vJzc3l3bt\n2h1TPrt27WL58uV4vV4GDRoU1QXGYk1FRQXLli3D5/PRr18/Onas/7+85qwZFPvhQN5Riv1MoDeQ\nCzhAAXCFqm451rwbEu9GozVUAbep6joRaQ38Q0TeUtWNNeJWqOqVEcgn6vbv3899901j/frN9O7d\nk6lT7671CGN1u3fv5p4H7uHTLz+l3wX9mHL7FDweT73xTfX5558zb8E89pTsobyynB+P+zEiwoYN\nG3hgxgOUlJZw3fDrGD1qNAD/+te/mDfvr/h85Xi9Xq666ioAkpOTGTZs2HHn06FDB0aOHNmo2EAg\nwMSf/IS/vf4WyU4is2Y+yuDBg487h4P8fj+/+92j5OcX0q1bJtOm3XPMC7adCBISEhgypOmT22JN\nfuhowHYgs9rrTIIbile3FfhGVcuAMhFZCZxL8IZu+Ll597eeu8+vAbl13JF+46h3x1sAv9+vffr0\n08TEsQqvamLi1XrhhQPrXdPG5/Pp6T84Xb0/9SqvokmXJenwa4eHLZ/i4mJtk95GZZooL6HOWY4+\nPONh3bx5s7bu0Fpluigvok43R2fNnqXr1q3T5OT2Co8rzFXHOVVffPHPYcunqa68apgimQp/VmSa\nIkm6YsWKsLU/cuR16jgDFF5Vj+dmPe20sxucXGaaB6L8NA7BC+nPCO4V6wXWAWfViPke8DbBDckd\nYAPQ83jybvAzudVwPT/ArsCXQOsa5/sR3P9oPbCorg/cUop9sFieoeAP/Z5UqeOcqhs3bqwzfsmS\nJZpyYYoSCM3UK0U9yR7du3dvWPJ58KEHNX5SvB6aCbge7XBaB73z7jtVphxeqIz30S4/6KITJ96i\n8EC13/Ml2rNn37DkcixaxbVRWHs4H/mZXtq/6dsh1qWkpEQ9Hkdh/6EF1VJSLtaFCxeGpX3jnmgX\n+1AblxNccKQIuCt0biIwsVrM7cAnoUJ/y/HkfLQjEsM4AISGcP4C3Kqq+2u8vRbIVFWfiFxO8Oq/\nR802pk6deujrnJycE3Ktk0AgENoy7+CDUK0QiSMQCNQbj4fgoCBAHEgrOfiLEpZ81FOtrXjQgHIg\ncACNP/J8IBAI5Vl9CMlTb+6RcPgi6iBv2PIJtiMEL7wIfR3dz2vqlp+fT35+frTTOIKqLgYW1zg3\nu8brR4BHIpVQJK7oPcBS4OeNjP8CaFfrL20LUFlZqWefnaVe70SFJZqQcL326vUj9fv9dcZ/9913\nmtE9Q+OnxCtL0MRhiTpo2KCw5fPpp59q6w6tladQFqLOeY7e+9t79eOPP1anvaPMRnkddc52dPpj\n07WwsFCTktorPKfwN3WcM6I66enS3MsU6a6wUINbECbpokWLwtb+4MEjNClpqMISjY+/W085pZuW\nlJSErX3jDprBlX1zOyJR6IXg0ziPNRCTzuEng7KA4jp/+C3Enj179PrrJ+n55/fXCRMmH3UP1B07\ndujo60drn9w+etuU28K+CcdHH32keSPyNGtgls54csahBckKCwt14H8P1OxB2Trr2VmHzq9cuVL7\n979K+/bN0+efnxvWXJrqwIEDOmz4CE1uk6Ht07vqSy+9FNb2y8rK9Je/vFv79MnVUaPG6/bt28Pa\nvnGHFfvaRyQevbwIWAl8zOHZGncDp4Yq+GwRmQT8FPADPuAXqrq6Rjvqdq6RtGnTJrZs2cKZZ55J\njx61Rqwiyu/38+yzz7Jr1y5Gjx7NmWeeGdV8jDle0X70sjmySVVR8OiTj3LPg/fg6e2h6h9VTP/N\ndCZNnBSVXMrLy+n0vU7sZS9kAOtg/nPzGTVqVFTyMSYcrNjXZsU+wrZt20b3c7tTvq48+OTtF5DY\nO5HiTcWkp6dHPJ/x48fzp01/Cv7v5QHmgvdXXiq+roh4LsaEixX72mxtnAjbunUrCd0SDk+3OA28\nmV62b98elXyKPiuCgRx+wCYXKksrG/oWY8wJyIp9hPXo0QP/F354L3RiOQS+CtCtW7eo5HPxRRfD\nPILbAyowE1Lb2zo0xrQ0NowTBUuXLmXENSMIeAPE+eN4bf5r9O/fPyq5BAIB+ub2Zc2qNZAAXq+X\nwrcL6dWr19G/2ZhmyoZxarNiHyWVlZXs3LmT9PT0Rm+956Zt27bx9ddfc8455xAfH7G5dsa4wop9\nbTaMU4dvvvmGYZddRvvWrfl+166uzMzzer1kZmYeUejXr19Pz6yeJJ+UTFb/LIqLi8Peb11eefUV\n+uT0oV9eP6696Vp8Pl9E+g2HsrIyrrnxGlJOTqHjGR15ef7L0U7JmOYp2g/6N2mSQ4QMyM7WyR6P\nfgW6ELS94+hnn33map979uzRtFPSlD+h7ERbPdRKu/TsolVVVa72u2rVKnU6Osp7KNvRxOGJOvbG\nsa72GU7jJo7TxGGJyjaUVahziqPvvvtutNMyUYZNqqp12JV9DRUVFaxYs4YZVVWkA1cAg0RYuXKl\nq/2uXbsW7a5wHXAyBKYE+Gb/N3z55Zeu9rtk6RLKbiiDHwGdoPzRchYtWuRqn+H0xptvUP5IeXCO\nQF/wTfCxeOnio36fMbHGin0NHo+HBI+HgyU2AHwuQlpamqv9pqWl4d/qh/LQid1Q9W2V6zs0tU1r\nS0JRwuETRZCSluJqn+GU2jY1uKZgSEJRAu3Sjm3TFGNaMiv2NbRq1YrfT59Of8fhrlatyHMcEs46\niyuuuMLVfnv37s2A7AEk5yQjdwvJFydz86SbXd8oY/z48XTc0JHEqxOJuyMOZ6zDzIdmutpnOD31\n4FMkXZtE3B1xJI5KJH1tOjfccEO00zKm2bGnceqxfPly3nvvPU455RTGjRsXkSdmAoEA8+fPp6io\niF69ejFkyBBE3L/BX1JSwgsvvMC+ffvIy8vj/PPPd73PcFq7di1LliwhJSWFcePG2X61plk8jSMi\necDjBNfI/l9V/X09fV1AcEvCkar612NM+eg5WrE30bJgwQKmPzqD+Lg47p96H7m5uQ3Gr169mgWv\nLSDZSeamG2+iU6dOEcrUnGiiXewluGnFZmAAwS0KPwDGaI3tWENxbxFcAPJ5VV1wrDkfjQ3jmKiY\nM2cOI0aMo7CgH++/34cBA4c0eGP4zTffpP/Q/jziPMK0ndM454fnsGPHjghmbEyTZAFFqlqsqlXA\nfGBoHXGTCW7qtMvthKzYm6i4fcr9wBPAg6AzgP/hZ7fcXn/8b26n7LkyuBf8T/v5dti3PP3M05FK\n15imyiC4ofhB20LnDhGRDIJ/AGaFTrk6dGFTJU1UVFb4OeJ3XztTVlb/AmylpaVQbdTmQMYB9u3c\n516CxjQgP3Q0oDGF+3FgiqqqBG/OuXqDzq7sTVTkDboIZDLB7YdXgUxh7Mgh9caPHjYa51YH/gn8\nHZwnHK4eenWk0jXmCDnA1GpHHbZzeG1bQl9vqxFzPjBfRL4AhgN/EJErw5lndXaD1kRFIBDg8iuG\n8PbbqxBg1Kj/4s8vzqs33u/3M+W+Kbz0l5dIcpJ4+NcPM3z48MglbE4ozeAGbTzBG7S5wA5gDXXc\noK0W/zzwhj2NgxV7Y0zjRbvYh9q4nMOPXs5R1YdEZCLB2Nk1Yq3YH2TF3hjTWM2h2Dc3NmZvjDEx\nwIq9McbEACv2xhgTA6zYG2NMDHC12ItIpogsF5FPROSfInJLPXFPisgWEVkvIue5mZMxxsQit6/s\nq4DbVPVsIBuYJCJnVQ8QkcHAGaraHbiJw1OHY862bdsYMnoIPS7owdgbx7J3795op2SMaSFcLfaq\n+pWqrgt9vR/YyBGT3gG4EpgbiikE0kQk3c28mqPS0lL65vZl8ZmL2fLUFhbELWDA0AEEAoFop2aM\naQEiNmYvIl2B84DCGm/VtWBQ58hk1Xx88MEHlLQt4cD9ByAbKmdVsrFoI//+97+jnZoxpgWIyEJo\nItKa4DKet4au8GuF1Hhd53yGqVOnHvo6JyeHnJycMGUYfQkJCQT2B4L7ILYCKiBQHiAhIeFo32pM\nzMvPzyc/Pz/aaTRrrs+gFREPsBBYrKqP1/H+M0C+qs4Pvd4E9FPVnTXiWvQMWr/fz4UDL2RD+w2U\nDyrHedkhr1MeC+a5tpeBMS2WzaCtzdViH1q2cy6wW1VvqydmMHCzqg4WkWzgcVXNriOuRRd7AJ/P\nx/QZ0/nks0/I7pXNLZNuIT7eVqE2pqms2NfmdrG/CFgJfMzhoZm7gVPh8GJAIjITyANKgfGquraO\ntlp8sTfGhIcV+9psITRjTItjxb42m0FrjDEuEJE8EdkUmjB6Zx3vXxOaSPqxiLwvIue4mY8Ve2OM\nCTMRiQMODk/3BMbUnFAKfA5coqrnAL8FnnUzJyv2xhgTfllAkaoWq2oVMJ/g5uKHqGqBqh7cSLkQ\nl+cXWbE3xpjwq2uyaEYD8TcAi9xMyJ7rM8aYJsoPHQ1o9P1dEbkUuB740XGkdFRW7I0xpolyQsdB\n99cO2Q5kVnudSfDq/gihm7J/BPJU1dWVD20Yxxhjwu9DoLuIdBURLzAKeL16gIicCvwVuFZVi9xO\nyK7sjTEmzFTVLyI3A0uBOGCOqm4UkYmh92cD9wJtgVnBxQaoUtUst3KySVXGmBbHJlXVZsM4xhgT\nA6zYG2NMDLBib4wxMcCKvTHGxAAr9sYYEwOs2BtjTAywYm+MMTHAir0xxsQAK/bGGBMDrNgbY0wM\nsGJvjDExwIq9McbEACv2xhgTA1wv9iLynIjsFJEN9byfIyL7ROSj0PFrt3Myxhi3iUieiGwSkS0i\ncmc9MU+G3l8vIue5mU8kruyfJ7jDekNWqOp5oeOBCOTUaPn5+THRp/XbcvuMxX6jTUTigJkEa19P\nYIyInFUjZjBwhqp2B24CZrmZk+vFXlXfBY623VazXQfaCoL1e6L3GYv9NgNZQJGqFqtqFTAfGFoj\n5kpgLoCqFgJpIpLuVkLNYcxegQtD/8YsEpGe0U6ouuLi4pjo0/ptuX3GYr/NQAawtdrrbaFzR4vp\n7FZCzWFbwrVApqr6RORy4DWgR5RzOsQKgvV7ovcZi/02A43d6KrmqIZr2/FFvdir6nfVvl4sIn8Q\nkXaquqdmbGifxoiLRr+x9Fljrd9Y+qzR7Pd4HWfW24HMaq8zCV65NxTTOXTOFVEv9qExqq9VVUUk\ni+C+uLUKfXPf39EY03KEod58CHQXka7ADmAUMKZGzOvAzcB8EckGvlXVncfZb71cL/Yi8jLQD2gv\nIluB+wAPHNphfQTwUxHxAz5gtNs5GWOMm1TVLyI3A0uBOGCOqm4UkYmh92er6iIRGSwiRUApMN7N\nnESbtIe6McaYE1FzeBrHGGOMy6zYG2NMDLBib4wxMcCKvTHGxAAr9sYYEwOs2BtjTAywYm+MMTHA\nir0xxsSA/wfn0apG35k8QwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# create a scatter plot of SEPAL LENGTH versus SEPAL WIDTH and color by SPECIES\n", + "iris.plot(kind='scatter', x='sepal_length', y='sepal_width', c='species_num', colormap=cmap_bold)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## K-nearest neighbors (KNN) classification" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Pick a value for K.\n", + "2. Search for the K observations in the data that are \"nearest\" to the measurements of the unknown iris.\n", + " - Euclidian distance is often used as the distance metric, but other metrics are allowed.\n", + "3. Use the most popular response value from the K \"nearest neighbors\" as the predicted response value for the unknown iris." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### KNN classification map for iris (K=1)\n", + "\n", + "![1NN classification map](images/iris_01nn_map.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### KNN classification map for iris (K=5)\n", + "\n", + "![5NN classification map](images/iris_05nn_map.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### KNN classification map for iris (K=15)\n", + "\n", + "![15NN classification map](images/iris_15nn_map.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### KNN classification map for iris (K=50)\n", + "\n", + "![50NN classification map](images/iris_50nn_map.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Question:** What's the \"best\" value for K in this case?\n", + "\n", + "**Answer:** The value which produces the most accurate predictions on unseen data. We want to create a model that generalizes!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Review of supervised learning\n", + "\n", + "![Supervised learning diagram](images/supervised_learning.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Requirements for working with data in scikit-learn\n", + "\n", + "1. Features and response are **separate objects**\n", + "2. Features and response should be entirely **numeric**\n", + "3. Features and response should be **NumPy arrays** (or easily convertible to NumPy arrays)\n", + "4. Features and response should have **specific shapes** (outlined below)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
sepal_lengthsepal_widthpetal_lengthpetal_widthspeciesspecies_num
05.13.51.40.2Iris-setosa0
14.93.01.40.2Iris-setosa0
24.73.21.30.2Iris-setosa0
34.63.11.50.2Iris-setosa0
45.03.61.40.2Iris-setosa0
\n", + "
" + ], + "text/plain": [ + " sepal_length sepal_width petal_length petal_width species \\\n", + "0 5.1 3.5 1.4 0.2 Iris-setosa \n", + "1 4.9 3.0 1.4 0.2 Iris-setosa \n", + "2 4.7 3.2 1.3 0.2 Iris-setosa \n", + "3 4.6 3.1 1.5 0.2 Iris-setosa \n", + "4 5.0 3.6 1.4 0.2 Iris-setosa \n", + "\n", + " species_num \n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "iris.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# store feature matrix in \"X\"\n", + "feature_cols = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']\n", + "X = iris[feature_cols]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# alternative ways to create \"X\"\n", + "#X = iris.drop(['species', 'species_num'], axis=1)\n", + "#X = iris.loc[:, 'sepal_length':'petal_width']\n", + "#X = iris.iloc[:, 0:4]" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# store response vector in \"y\"\n", + "y = iris.species_num" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n" + ] + } + ], + "source": [ + "# check X's type\n", + "print type(X)\n", + "print type(X.values)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 5.1 3.5 1.4 0.2]\n", + " [ 4.9 3. 1.4 0.2]\n", + " [ 4.7 3.2 1.3 0.2]\n", + " [ 4.6 3.1 1.5 0.2]\n", + " [ 5. 3.6 1.4 0.2]\n", + " [ 5.4 3.9 1.7 0.4]\n", + " [ 4.6 3.4 1.4 0.3]\n", + " [ 5. 3.4 1.5 0.2]\n", + " [ 4.4 2.9 1.4 0.2]\n", + " [ 4.9 3.1 1.5 0.1]\n", + " [ 5.4 3.7 1.5 0.2]\n", + " [ 4.8 3.4 1.6 0.2]\n", + " [ 4.8 3. 1.4 0.1]\n", + " [ 4.3 3. 1.1 0.1]\n", + " [ 5.8 4. 1.2 0.2]\n", + " [ 5.7 4.4 1.5 0.4]\n", + " [ 5.4 3.9 1.3 0.4]\n", + " [ 5.1 3.5 1.4 0.3]\n", + " [ 5.7 3.8 1.7 0.3]\n", + " [ 5.1 3.8 1.5 0.3]\n", + " [ 5.4 3.4 1.7 0.2]\n", + " [ 5.1 3.7 1.5 0.4]\n", + " [ 4.6 3.6 1. 0.2]\n", + " [ 5.1 3.3 1.7 0.5]\n", + " [ 4.8 3.4 1.9 0.2]\n", + " [ 5. 3. 1.6 0.2]\n", + " [ 5. 3.4 1.6 0.4]\n", + " [ 5.2 3.5 1.5 0.2]\n", + " [ 5.2 3.4 1.4 0.2]\n", + " [ 4.7 3.2 1.6 0.2]\n", + " [ 4.8 3.1 1.6 0.2]\n", + " [ 5.4 3.4 1.5 0.4]\n", + " [ 5.2 4.1 1.5 0.1]\n", + " [ 5.5 4.2 1.4 0.2]\n", + " [ 4.9 3.1 1.5 0.1]\n", + " [ 5. 3.2 1.2 0.2]\n", + " [ 5.5 3.5 1.3 0.2]\n", + " [ 4.9 3.1 1.5 0.1]\n", + " [ 4.4 3. 1.3 0.2]\n", + " [ 5.1 3.4 1.5 0.2]\n", + " [ 5. 3.5 1.3 0.3]\n", + " [ 4.5 2.3 1.3 0.3]\n", + " [ 4.4 3.2 1.3 0.2]\n", + " [ 5. 3.5 1.6 0.6]\n", + " [ 5.1 3.8 1.9 0.4]\n", + " [ 4.8 3. 1.4 0.3]\n", + " [ 5.1 3.8 1.6 0.2]\n", + " [ 4.6 3.2 1.4 0.2]\n", + " [ 5.3 3.7 1.5 0.2]\n", + " [ 5. 3.3 1.4 0.2]\n", + " [ 7. 3.2 4.7 1.4]\n", + " [ 6.4 3.2 4.5 1.5]\n", + " [ 6.9 3.1 4.9 1.5]\n", + " [ 5.5 2.3 4. 1.3]\n", + " [ 6.5 2.8 4.6 1.5]\n", + " [ 5.7 2.8 4.5 1.3]\n", + " [ 6.3 3.3 4.7 1.6]\n", + " [ 4.9 2.4 3.3 1. ]\n", + " [ 6.6 2.9 4.6 1.3]\n", + " [ 5.2 2.7 3.9 1.4]\n", + " [ 5. 2. 3.5 1. ]\n", + " [ 5.9 3. 4.2 1.5]\n", + " [ 6. 2.2 4. 1. ]\n", + " [ 6.1 2.9 4.7 1.4]\n", + " [ 5.6 2.9 3.6 1.3]\n", + " [ 6.7 3.1 4.4 1.4]\n", + " [ 5.6 3. 4.5 1.5]\n", + " [ 5.8 2.7 4.1 1. ]\n", + " [ 6.2 2.2 4.5 1.5]\n", + " [ 5.6 2.5 3.9 1.1]\n", + " [ 5.9 3.2 4.8 1.8]\n", + " [ 6.1 2.8 4. 1.3]\n", + " [ 6.3 2.5 4.9 1.5]\n", + " [ 6.1 2.8 4.7 1.2]\n", + " [ 6.4 2.9 4.3 1.3]\n", + " [ 6.6 3. 4.4 1.4]\n", + " [ 6.8 2.8 4.8 1.4]\n", + " [ 6.7 3. 5. 1.7]\n", + " [ 6. 2.9 4.5 1.5]\n", + " [ 5.7 2.6 3.5 1. ]\n", + " [ 5.5 2.4 3.8 1.1]\n", + " [ 5.5 2.4 3.7 1. ]\n", + " [ 5.8 2.7 3.9 1.2]\n", + " [ 6. 2.7 5.1 1.6]\n", + " [ 5.4 3. 4.5 1.5]\n", + " [ 6. 3.4 4.5 1.6]\n", + " [ 6.7 3.1 4.7 1.5]\n", + " [ 6.3 2.3 4.4 1.3]\n", + " [ 5.6 3. 4.1 1.3]\n", + " [ 5.5 2.5 4. 1.3]\n", + " [ 5.5 2.6 4.4 1.2]\n", + " [ 6.1 3. 4.6 1.4]\n", + " [ 5.8 2.6 4. 1.2]\n", + " [ 5. 2.3 3.3 1. ]\n", + " [ 5.6 2.7 4.2 1.3]\n", + " [ 5.7 3. 4.2 1.2]\n", + " [ 5.7 2.9 4.2 1.3]\n", + " [ 6.2 2.9 4.3 1.3]\n", + " [ 5.1 2.5 3. 1.1]\n", + " [ 5.7 2.8 4.1 1.3]\n", + " [ 6.3 3.3 6. 2.5]\n", + " [ 5.8 2.7 5.1 1.9]\n", + " [ 7.1 3. 5.9 2.1]\n", + " [ 6.3 2.9 5.6 1.8]\n", + " [ 6.5 3. 5.8 2.2]\n", + " [ 7.6 3. 6.6 2.1]\n", + " [ 4.9 2.5 4.5 1.7]\n", + " [ 7.3 2.9 6.3 1.8]\n", + " [ 6.7 2.5 5.8 1.8]\n", + " [ 7.2 3.6 6.1 2.5]\n", + " [ 6.5 3.2 5.1 2. ]\n", + " [ 6.4 2.7 5.3 1.9]\n", + " [ 6.8 3. 5.5 2.1]\n", + " [ 5.7 2.5 5. 2. ]\n", + " [ 5.8 2.8 5.1 2.4]\n", + " [ 6.4 3.2 5.3 2.3]\n", + " [ 6.5 3. 5.5 1.8]\n", + " [ 7.7 3.8 6.7 2.2]\n", + " [ 7.7 2.6 6.9 2.3]\n", + " [ 6. 2.2 5. 1.5]\n", + " [ 6.9 3.2 5.7 2.3]\n", + " [ 5.6 2.8 4.9 2. ]\n", + " [ 7.7 2.8 6.7 2. ]\n", + " [ 6.3 2.7 4.9 1.8]\n", + " [ 6.7 3.3 5.7 2.1]\n", + " [ 7.2 3.2 6. 1.8]\n", + " [ 6.2 2.8 4.8 1.8]\n", + " [ 6.1 3. 4.9 1.8]\n", + " [ 6.4 2.8 5.6 2.1]\n", + " [ 7.2 3. 5.8 1.6]\n", + " [ 7.4 2.8 6.1 1.9]\n", + " [ 7.9 3.8 6.4 2. ]\n", + " [ 6.4 2.8 5.6 2.2]\n", + " [ 6.3 2.8 5.1 1.5]\n", + " [ 6.1 2.6 5.6 1.4]\n", + " [ 7.7 3. 6.1 2.3]\n", + " [ 6.3 3.4 5.6 2.4]\n", + " [ 6.4 3.1 5.5 1.8]\n", + " [ 6. 3. 4.8 1.8]\n", + " [ 6.9 3.1 5.4 2.1]\n", + " [ 6.7 3.1 5.6 2.4]\n", + " [ 6.9 3.1 5.1 2.3]\n", + " [ 5.8 2.7 5.1 1.9]\n", + " [ 6.8 3.2 5.9 2.3]\n", + " [ 6.7 3.3 5.7 2.5]\n", + " [ 6.7 3. 5.2 2.3]\n", + " [ 6.3 2.5 5. 1.9]\n", + " [ 6.5 3. 5.2 2. ]\n", + " [ 6.2 3.4 5.4 2.3]\n", + " [ 5.9 3. 5.1 1.8]]\n" + ] + } + ], + "source": [ + "print X.values\n", + "#this gets all inputs into Matrix form" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n" + ] + } + ], + "source": [ + "# check y's type\n", + "print type(y)\n", + "print type(y.values)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2\n", + " 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2\n", + " 2 2]\n" + ] + } + ], + "source": [ + "print y.values" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(150, 4)\n" + ] + } + ], + "source": [ + "# check X's shape (n = number of observations, p = number of features)\n", + "print X.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(150,)\n" + ] + } + ], + "source": [ + "# check y's shape (single dimension with length n)\n", + "print y.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## scikit-learn's 4-step modeling pattern" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Step 1:** Import the class you plan to use" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from sklearn.neighbors import KNeighborsClassifier" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Step 2:** \"Instantiate\" the \"estimator\"\n", + "\n", + "- \"Estimator\" is scikit-learn's term for \"model\"\n", + "- \"Instantiate\" means \"make an instance of\"" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "knn = KNeighborsClassifier(n_neighbors=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- Name of the object does not matter\n", + "- Can specify tuning parameters (aka \"hyperparameters\") during this step\n", + "- All parameters not specified are set to their defaults\n", + "- **QUESTION: How do we know what those defaults are? How do we even know what all the parameters are?**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Step 3:** Fit the model with data \n", + "\n", + "- Model is \"learning\" the relationship between X and y in our \"training data\"\n", + "- Process through which learning occurs varies by model\n", + "- Subtlety: In general, this is training the model, although \"instance-based\" models such as KNN don't really have a training step." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n", + " metric_params=None, n_neighbors=1, p=2, weights='uniform')" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "knn.fit(X, y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- Once a model has been fit with data, it's called a \"fitted model\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Step 4:** Predict the response for a new observation\n", + "\n", + "- New observations are called \"out-of-sample\" data\n", + "- Model uses the information it learned during the fitting / training process" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([2])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "knn.predict([3, 5, 4, 2])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- Returns a NumPy array, and we keep track of what the numbers \"mean\"\n", + "- Can predict for multiple observations at once" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 1])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X_new = [[3, 5, 4, 2], [5, 4, 3, 2]]\n", + "knn.predict(X_new)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Tuning a KNN model" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 1])" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# instantiate the model (using the value K=5)\n", + "knn = KNeighborsClassifier(n_neighbors=5)\n", + "\n", + "# fit the model with data\n", + "knn.fit(X, y)\n", + "\n", + "# predict the response for new observations\n", + "knn.predict(X_new)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0. , 0.8, 0.2],\n", + " [ 0. , 1. , 0. ]])" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# calculate predicted probabilities of class membership\n", + "knn.predict_proba(X_new)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([[ 3.19374388, 3.20312348, 3.24037035, 3.35559235, 3.35559235]]),\n", + " array([[106, 84, 59, 88, 66]]))" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# print distances to nearest neighbors (and their identities)\n", + "knn.kneighbors([3, 5, 4, 2])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Comparing KNN with other models" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Advantages of KNN:\n", + "\n", + "- Simple to understand and explain\n", + "- Model fitting is fast\n", + "- Can be used for classification and regression!\n", + "\n", + "Disadvantages of KNN:\n", + "\n", + "- Must store all of the training data\n", + "- Prediction phase can be slow when n is large\n", + "- Sensitive to irrelevant features\n", + "- Sensitive to the scale of the data. Feature scaling is important!\n", + "- Accuracy is (generally) not competitive with the best supervised learning methods" + ] + }, + { + "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.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/homework/DAT19-HW1-Assignment.ipynb b/homework/DAT19-HW1-Assignment.ipynb new file mode 100644 index 0000000..c95e505 --- /dev/null +++ b/homework/DAT19-HW1-Assignment.ipynb @@ -0,0 +1,694 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# DAT 19: Homework 1 Assignment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Instructions\n", + "\n", + "In this assignment, we will explore the passenger list of the Titanic, as provided in a well-known [Kaggle](https://www.kaggle.com) competition. For this assignment, we are concerned only with initial exploration. Please answer the specific questions listed below.\n", + "\n", + "The dataset is a list of passengers. The second column of the dataset is the label for each person indicating whether that person survived (1) or did not survive (0). The data is described in more detail below.\n", + "\n", + "There is no need to download the data from Kaggle. We have provided the titanic.csv dataset for you in the same directory as this assignment.\n", + "\n", + "Please do all your analysis to answer the questions below in this Jupyter notebook. Show your work. Questions 10, 13, and 14 ask for your thoughts as a few sentences (regular prose, not code :-).\n", + "\n", + "**Please submit your completed notebook by 11:59PM on Thursday, December 17.**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## About the Data\n", + "\n", + "```\n", + "VARIABLE DESCRIPTIONS:\n", + "survival Survival\n", + " (0 = No; 1 = Yes)\n", + "pclass Passenger Class\n", + " (1 = 1st; 2 = 2nd; 3 = 3rd)\n", + "name Name\n", + "sex Sex\n", + "age Age\n", + "sibsp Number of Siblings/Spouses Aboard\n", + "parch Number of Parents/Children Aboard\n", + "ticket Ticket Number\n", + "fare Passenger Fare\n", + "cabin Cabin\n", + "embarked Port of Embarkation\n", + " (C = Cherbourg; Q = Queenstown; S = Southampton)\n", + "\n", + "SPECIAL NOTES:\n", + "Pclass is a proxy for socio-economic status (SES)\n", + " 1st ~ Upper; 2nd ~ Middle; 3rd ~ Lower\n", + "\n", + "Age is in Years; Fractional if Age less than One (1)\n", + " If the Age is Estimated, it is in the form xx.5\n", + "\n", + "With respect to the family relation variables (i.e. sibsp and parch)\n", + "some relations were ignored. The following are the definitions used\n", + "for sibsp and parch.\n", + "\n", + "Sibling: Brother, Sister, Stepbrother, or Stepsister of Passenger Aboard Titanic\n", + "Spouse: Husband or Wife of Passenger Aboard Titanic (Mistresses and Fiances Ignored)\n", + "Parent: Mother or Father of Passenger Aboard Titanic\n", + "Child: Son, Daughter, Stepson, or Stepdaughter of Passenger Aboard Titanic\n", + "\n", + "Other family relatives excluded from this study include cousins,\n", + "nephews/nieces, aunts/uncles, and in-laws. Some children travelled\n", + "only with a nanny, therefore parch=0 for them. As well, some\n", + "travelled with very close friends or neighbors in a village, however,\n", + "the definitions do not support such relations.\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Load Data\n", + "\n", + "Start by loading the Titanic data into a numpy array. The code to do this is included below to get you started." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "(891, 12)\n", + "[['1' '0' '3' 'Braund, Mr. Owen Harris' 'male' '22' '1' '0' 'A/5 21171'\n", + " '7.25' '' 'S']\n", + " ['2' '1' '1' 'Cumings, Mrs. John Bradley (Florence Briggs Thayer)'\n", + " 'female' '38' '1' '0' 'PC 17599' '71.2833' 'C85' 'C']\n", + " ['3' '1' '3' 'Heikkinen, Miss. Laina' 'female' '26' '0' '0'\n", + " 'STON/O2. 3101282' '7.925' '' 'S']\n", + " ['4' '1' '1' 'Futrelle, Mrs. Jacques Heath (Lily May Peel)' 'female' '35'\n", + " '1' '0' '113803' '53.1' 'C123' 'S']\n", + " ['5' '0' '3' 'Allen, Mr. William Henry' 'male' '35' '0' '0' '373450'\n", + " '8.05' '' 'S']\n", + " ['6' '0' '3' 'Moran, Mr. James' 'male' '' '0' '0' '330877' '8.4583' '' 'Q']\n", + " ['7' '0' '1' 'McCarthy, Mr. Timothy J' 'male' '54' '0' '0' '17463'\n", + " '51.8625' 'E46' 'S']\n", + " ['8' '0' '3' 'Palsson, Master. Gosta Leonard' 'male' '2' '3' '1' '349909'\n", + " '21.075' '' 'S']\n", + " ['9' '1' '3' 'Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)' 'female'\n", + " '27' '0' '2' '347742' '11.1333' '' 'S']\n", + " ['10' '1' '2' 'Nasser, Mrs. Nicholas (Adele Achem)' 'female' '14' '1' '0'\n", + " '237736' '30.0708' '' 'C']]\n", + "\n", + "...\n", + "['891' '0' '3' 'Dooley, Mr. Patrick' 'male' '32' '0' '0' '370376' '7.75' ''\n", + " 'Q']\n" + ] + } + ], + "source": [ + "# We'll use the csv module from the Python standard library to read each row of our input data file\n", + "# into a list that we then convert into a numpy array.\n", + "\n", + "import csv as csv\n", + "import numpy as np\n", + "\n", + "file_object = csv.reader(open('titanic.csv', 'rb'))\n", + "header = file_object.next() #First, let's strip off the header\n", + "\n", + "data = []\n", + "for row in file_object:\n", + " data.append(row)\n", + "\n", + "data = np.array(data) #Turn our Python list into a numpy array\n", + "\n", + "# Let's see what our data looks like. Notice what type the data appears to be inside the numpy array.\n", + "print type(data)\n", + "print data.shape\n", + "\n", + "print data[:10,:]\n", + "print '\\n' + '...'\n", + "print data[-1,:]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Homework Questions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**1) How many passengers are in our passenger list? For this assignment, we’ll assume our dataset represents the full passenger list for the Titanic.**" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There are 891 passengers in our list.\n" + ] + } + ], + "source": [ + "# Your code here for num_passengers. Uncomment the line below to format your answer.\n", + "num_passengers = data.shape[0]\n", + "print 'There are ' + str(num_passengers) + ' passengers in our list.'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**2) What is the overall survival rate (as a percentage of total passengers in our list)?**" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "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", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale2210A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female3810PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale2600STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female351011380353.1000C123S
4503Allen, Mr. William Henrymale35003734508.0500NaNS
5603Moran, Mr. JamesmaleNaN003308778.4583NaNQ
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "5 6 0 3 \n", + "\n", + " Name Sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 \n", + "2 Heikkinen, Miss. Laina female 26 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 \n", + "4 Allen, Mr. William Henry male 35 0 \n", + "5 Moran, Mr. James male NaN 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.2500 NaN S \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S \n", + "3 0 113803 53.1000 C123 S \n", + "4 0 373450 8.0500 NaN S \n", + "5 0 330877 8.4583 NaN Q " + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.head(6)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.383838383838\n", + "Of 891 passengers, 342 survived.\n", + "The survival rate is 0.383838383838 or 38%\n" + ] + } + ], + "source": [ + "#HINT: You may want to import another module here\n", + "\n", + "import pandas as pd\n", + "data = pd.read_csv(\"../data/titanic.csv\")\n", + "Survived = data[data.Survived==1]\n", + "num_survived = Survived.shape[0]\n", + "survival_rate = num_survived/float(num_passengers)\n", + "print float(survival_rate)\n", + "print 'Of ' + str(num_passengers) + ' passengers, ' + str(num_survived) + ' survived.'\n", + "print 'The survival rate is ' + str(survival_rate) + ' or '+ str(\"{0:.0f}%\".format(survival_rate * 100))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**3) How many male passengers were onboard?**" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There were 577 male passengers onboard.\n" + ] + } + ], + "source": [ + "# Your code here to calculate num_males\n", + "num_males = data[data.Sex=='male'].shape[0]\n", + "\n", + "print 'There were ' + str(num_males) + ' male passengers onboard.'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**4) How many female passengers were onboard?**" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There were 314 female passengers onboard.\n" + ] + } + ], + "source": [ + "# Your code here to calculate num_females\n", + "num_females = num_passengers - num_males\n", + "\n", + "print 'There were ' + str(num_females) + ' female passengers onboard.'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**5) What is the overall survival rate of male passengers?**" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The survival rate of male passengers was 18.89%\n" + ] + } + ], + "source": [ + "# Your code here to calculate male_survival_rate\n", + "males_survived = data[(data.Sex == 'male')&(data.Survived ==1)].shape[0]\n", + "male_survival_rate = float(males_survived) / num_males\n", + "\n", + "print 'The survival rate of male passengers was ' + str(\"{0:.2f}%\".format(male_survival_rate * 100))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**6) What is the overall survival rate of female passengers?**" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The survival rate of female passengers was 74.20%\n" + ] + } + ], + "source": [ + "# Your code here to calculate female_survival_rate\n", + "females_survived = data[(data.Sex=='female')&(data.Survived==1)].shape[0]\n", + "female_survival_rate = float(females_survived) / num_females\n", + "print 'The survival rate of female passengers was ' + str(\"{0:.2f}%\".format(female_survival_rate * 100))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**7) What is the average age of all passengers onboard?**" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The average age of all passengers onboard was 29.70\n" + ] + } + ], + "source": [ + "# Your code here to calculate avg_age\n", + "# HINT: This may be trickier than it first seems. Look at the age values in the raw data file.\n", + "avg_age = data.Age[data.Age.notnull()].mean()\n", + "print 'The average age of all passengers onboard was ' + str(\"{0:.2f}\".format(avg_age))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**8) What is the average age of passengers who survived?**" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The average of age of passengers who survived was 28.34\n" + ] + } + ], + "source": [ + "# Your code here to calculate avg_age_survived\n", + "\n", + "avg_age_survived = data.Age[(data.Age.notnull())&(data.Survived == 1)].mean()\n", + "print 'The average of age of passengers who survived was ' + str(\"{0:.2f}\".format(avg_age_survived))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**9) What is the average age of passengers who did not survive?**" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The average of age of passengers who did not survive was 30.63\n" + ] + } + ], + "source": [ + "# Your code here to calculate avg_age_not_survive\n", + "avg_age_not_survive = data.Age[(data.Age.notnull())&(data.Survived == 0)].mean()\n", + "\n", + "print 'The average of age of passengers who did not survive was ' + str(\"{0:.2f}\".format(avg_age_not_survive))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**10) At this (early) point in our analysis, what might you infer about any patterns you are seeing in who survived / did not survive?**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "Survival rate is higher for women and the young. Lifeboat seating most likely prioritized women and children" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**11) How many passengers are in each of the three classes of service (e.g. First, Second, Third?)**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Your code here\n", + "# You do not need to format the output nicely like we did for the questions above.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**12) What is the survival rate for passengers in each of the three classes of service?**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Your code here\n", + "# HINT: Averaging of the 1's and 0's in the \"Survived\" column will give a survival rate.\n", + "# We want the survival rate for each passenger class.\n", + "# You do not need to format the output nicely.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**13) How does what we learned in 11) and 12) influence our early conclusions from 10) ?**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "_Your answer here as markdown_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**14) If we were to build a predictive model, which features in the data do you think we should include in the model and which can we leave out? Why?**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "_Your answer here as markdown_" + ] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/homework/Git Contributor Exercise.ipynb b/homework/Git Contributor Exercise.ipynb new file mode 100644 index 0000000..a5fbb72 --- /dev/null +++ b/homework/Git Contributor Exercise.ipynb @@ -0,0 +1,146 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#Class 3 - Processing Files with Python\n", + "###DATSF 19\n", + "####Justin Breucop - 12/7/2015\n", + "\n", + "For a lot of data files in class we'll use functionality from various libraries to process data very quickly. However, for custom files, raw text, and data that is configured in a non-standard way, it is important to be able to extract data in a customized fashion. We'll go through this exercise using only libraries that come with the default python distribution. The first step will be to open the file in sublime.\n", + "\n", + "Let's say that we are curious about the latest release of ScikitLearn, since we are (or soon will be) frequent users. Our goal is to take the raw commits, sort our authors alphabetically and also count the number of contributions they made. Let's first look at the file. You can do this via the command line but for simplicity's sake we can use the Jupyter cell magic." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# For Max/Linux users:\n", + "# ! more ../data/raw_commits.txt\n", + "\n", + "# For windows users:\n", + "# ! more ..\\data\\raw_commits.txt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see that each commit has an Author and a date. We need to be able to read the file line by line and add to a list of authors. Remember to use `with open('') as ` where `` is the full path to the file and the `` is any identifier (such as `f`).\n", + "\n", + "##### Lines of file -> List of Strings" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Open the file and try printing all lines that start with author\n", + "\n", + "# Make sure to append the author name to the list. You'll need to use string manipulation techniques." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Sort the authors to find the first and last authors, alphabetically. Make sure your data is clean! (No username should begin with an = sign, for example)\n", + "\n", + "#####List of Strings -> Sorted unique list" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Think of what data types you can take advantage of" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To count out our data, we can loop over our list and construct a dictionary where the key is the commit author and the value increases whenever we match a key.\n", + "#####List -> Dictionary" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Find the contributor with the highest number of commits. Useful dictionary method: `dict.get()`\n", + "\n", + "#####Dictionary -> Specific String" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Bonus: how do you handle a tie? Can you pull all authors with the lowest number of commits (without hardcoding the minimum)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "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.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/homework/iris_01nn_map.png b/homework/iris_01nn_map.png new file mode 100644 index 0000000000000000000000000000000000000000..6edf4ec8b61dfa10d048901d8b13eb2b1ddde149 GIT binary patch literal 22025 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 z�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 literal 0 HcmV?d00001 diff --git a/homework/iris_05nn_map.png b/homework/iris_05nn_map.png new file mode 100644 index 0000000000000000000000000000000000000000..a80721a56a70cf933d500b2637ff6616534f5f21 GIT binary patch literal 21819 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 WEs?viU1Pw7luA=w7hb0JIQ&1byp-<% literal 0 HcmV?d00001 diff --git a/homework/iris_50nn_map.png b/homework/iris_50nn_map.png new file mode 100644 index 0000000000000000000000000000000000000000..0c6b9736d302cb3315fbe627bbd0f5e9c4226d3e GIT binary patch literal 21569 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 DNGP@8lt0Vq(vReKD`8+T3VQWWev8}>%&(Iy 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
ra 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
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale2210A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female3810PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale2600STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female351011380353.1000C123S
4503Allen, Mr. William Henrymale35003734508.0500NaNS
5603Moran, Mr. JamesmaleNaN003308778.4583NaNQ
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "5 6 0 3 \n", + "\n", + " Name Sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 \n", + "2 Heikkinen, Miss. Laina female 26 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 \n", + "4 Allen, Mr. William Henry male 35 0 \n", + "5 Moran, Mr. James male NaN 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.2500 NaN S \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S \n", + "3 0 113803 53.1000 C123 S \n", + "4 0 373450 8.0500 NaN S \n", + "5 0 330877 8.4583 NaN Q " + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.head(6)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.383838383838\n", + "Of 891 passengers, 342 survived.\n", + "The survival rate is 0.383838383838 or 38%\n" + ] + } + ], "source": [ "#HINT: You may want to import another module here\n", "\n", - "\n", - "#Your code here to calculate num_survived and survival_rate. \n", - "#Again, we've provided some code you can use to format your answer.\n", - "\n", - "\n", - "#print 'Of ' + str(num_passengers) + ' passengers, ' + str(num_survived) + ' survived.'\n", - "#print 'The survival rate is ' + str(survival_rate) + ' or '+ str(\"{0:.0f}%\".format(survival_rate * 100))" + "import pandas as pd\n", + "data = pd.read_csv(\"../data/titanic.csv\")\n", + "Survived = data[data.Survived==1]\n", + "num_survived = Survived.shape[0]\n", + "survival_rate = num_survived/float(num_passengers)\n", + "print float(survival_rate)\n", + "print 'Of ' + str(num_passengers) + ' passengers, ' + str(num_survived) + ' survived.'\n", + "print 'The survival rate is ' + str(survival_rate) + ' or '+ str(\"{0:.0f}%\".format(survival_rate * 100))" ] }, { @@ -174,16 +384,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There were 577 male passengers onboard.\n" + ] + } + ], "source": [ "# Your code here to calculate num_males\n", + "num_males = data[data.Sex=='male'].shape[0]\n", "\n", - "\n", - "#print 'There were ' + str(num_males) + ' male passengers onboard.'" + "print 'There were ' + str(num_males) + ' male passengers onboard.'" ] }, { @@ -195,16 +413,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There were 314 female passengers onboard.\n" + ] + } + ], "source": [ "# Your code here to calculate num_females\n", + "num_females = num_passengers - num_males\n", "\n", - "\n", - "#print 'There were ' + str(num_females) + ' female passengers onboard.'" + "print 'There were ' + str(num_females) + ' female passengers onboard.'" ] }, { @@ -216,17 +442,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 76, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The survival rate of male passengers was 18.89%\n" + ] + } + ], "source": [ "# Your code here to calculate male_survival_rate\n", + "males_survived = data[(data.Sex == 'male')&(data.Survived ==1)].shape[0]\n", + "male_survival_rate = float(males_survived) / num_males\n", "\n", - "\n", - "\n", - "#print 'The survival rate of male passengers was ' + str(\"{0:.2f}%\".format(male_survival_rate * 100))" + "print 'The survival rate of male passengers was ' + str(\"{0:.2f}%\".format(male_survival_rate * 100))" ] }, { @@ -238,16 +472,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 64, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The survival rate of female passengers was 74.20%\n" + ] + } + ], "source": [ "# Your code here to calculate female_survival_rate\n", - "\n", - "\n", - "#print 'The survival rate of female passengers was ' + str(\"{0:.2f}%\".format(female_survival_rate * 100))" + "females_survived = data[(data.Sex=='female')&(data.Survived==1)].shape[0]\n", + "female_survival_rate = float(females_survived) / num_females\n", + "print 'The survival rate of female passengers was ' + str(\"{0:.2f}%\".format(female_survival_rate * 100))" ] }, { @@ -259,17 +501,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The average age of all passengers onboard was 29.70\n" + ] + } + ], "source": [ "# Your code here to calculate avg_age\n", "# HINT: This may be trickier than it first seems. Look at the age values in the raw data file.\n", - "\n", - "\n", - "#print 'The average age of all passengers onboard was ' + str(\"{0:.2f}\".format(avg_age))" + "avg_age = data.Age[data.Age.notnull()].mean()\n", + "print 'The average age of all passengers onboard was ' + str(\"{0:.2f}\".format(avg_age))" ] }, { @@ -281,16 +530,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 82, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The average of age of passengers who survived was 28.34\n" + ] + } + ], "source": [ "# Your code here to calculate avg_age_survived\n", "\n", - "\n", - "#print 'The average of age of passengers who survived was ' + str(\"{0:.2f}\".format(avg_age_survived))" + "avg_age_survived = data.Age[(data.Age.notnull())&(data.Survived == 1)].mean()\n", + "print 'The average of age of passengers who survived was ' + str(\"{0:.2f}\".format(avg_age_survived))" ] }, { @@ -302,16 +559,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 84, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The average of age of passengers who did not survive was 30.63\n" + ] + } + ], "source": [ "# Your code here to calculate avg_age_not_survive\n", + "avg_age_not_survive = data.Age[(data.Age.notnull())&(data.Survived == 0)].mean()\n", "\n", - "\n", - "#print 'The average of age of passengers who did not survive was ' + str(\"{0:.2f}\".format(avg_age_not_survive))" + "print 'The average of age of passengers who did not survive was ' + str(\"{0:.2f}\".format(avg_age_not_survive))" ] }, { @@ -327,7 +592,7 @@ "collapsed": true }, "source": [ - "_Your answer here as markdown_" + "Survival rate is higher for women and the young. Lifeboat seating most likely prioritized women and children" ] }, { @@ -421,7 +686,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.10" + "version": "2.7.11" } }, "nbformat": 4, From c13edbae7b56f084412fbbce522bfcf0cc942dd4 Mon Sep 17 00:00:00 2001 From: Denton Zhao Date: Thu, 17 Dec 2015 13:57:45 -0800 Subject: [PATCH 5/9] complete homework1 --- homework/DAT19-HW1-Assignment.ipynb | 83 ++++++++++++++++++++++------- 1 file changed, 63 insertions(+), 20 deletions(-) diff --git a/homework/DAT19-HW1-Assignment.ipynb b/homework/DAT19-HW1-Assignment.ipynb index c95e505..2513e41 100644 --- a/homework/DAT19-HW1-Assignment.ipynb +++ b/homework/DAT19-HW1-Assignment.ipynb @@ -160,7 +160,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 16, "metadata": { "collapsed": false }, @@ -188,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 17, "metadata": { "collapsed": false }, @@ -336,7 +336,7 @@ "5 0 330877 8.4583 NaN Q " ] }, - "execution_count": 66, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -347,7 +347,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 4, "metadata": { "collapsed": false }, @@ -384,7 +384,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 5, "metadata": { "collapsed": false }, @@ -413,7 +413,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 6, "metadata": { "collapsed": false }, @@ -442,7 +442,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 7, "metadata": { "collapsed": false }, @@ -472,7 +472,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 8, "metadata": { "collapsed": false }, @@ -501,7 +501,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 9, "metadata": { "collapsed": false }, @@ -530,7 +530,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 10, "metadata": { "collapsed": false }, @@ -559,7 +559,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 11, "metadata": { "collapsed": false }, @@ -604,15 +604,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Pclass\n", + "1 216\n", + "2 184\n", + "3 491\n", + "Name: PassengerId, dtype: int64" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Your code here\n", - "# You do not need to format the output nicely like we did for the questions above.\n", - "\n" + "data.groupby('Pclass')['PassengerId'].count()\n", + "# You do not need to format the output nicely like we did for the questions above.\n" ] }, { @@ -624,17 +639,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Pclass\n", + "1 0.629630\n", + "2 0.472826\n", + "3 0.242363\n", + "Name: Survived, dtype: float64" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Your code here\n", "# HINT: Averaging of the 1's and 0's in the \"Survived\" column will give a survival rate.\n", "# We want the survival rate for each passenger class.\n", "# You do not need to format the output nicely.\n", - "\n" + "data.groupby('Pclass')['Survived'].mean()\n" ] }, { @@ -650,7 +680,7 @@ "collapsed": true }, "source": [ - "_Your answer here as markdown_" + "People in higher classes have better chance of survival. Most of the deaths in the Titanic are from class 2 & 3. " ] }, { @@ -666,8 +696,21 @@ "collapsed": true }, "source": [ - "_Your answer here as markdown_" + "Features to include in our model would be: Age, Sex and Class. From a glance at our data, it seems that survivors are typically younger than those who died. They are also more likely to be from the upper class of the boat, and also female. \n", + "\n", + "The port embarked would likely be the first feature that can be removed. That information would likely not be a factor in determining whether a passenger lived or died. Cabin and fare price paid can also be removed. This information is already indirectly included in Passsenger Class feature.\n", + "\n", + "I also don't think we need to include # of siblings/spouse, however I could be mistaken. Children/Parents would likely be relevant in determining survival\n" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] } ], "metadata": { From e250088c5efd2920a1806fb08e0ef3c8543a24fd Mon Sep 17 00:00:00 2001 From: Denton Zhao Date: Mon, 11 Jan 2016 16:35:16 -0800 Subject: [PATCH 6/9] homework2 --- homework/DAT19-HW2-Assignment.ipynb | 601 ++++++++++++++++++++++++++++ 1 file changed, 601 insertions(+) create mode 100644 homework/DAT19-HW2-Assignment.ipynb diff --git a/homework/DAT19-HW2-Assignment.ipynb b/homework/DAT19-HW2-Assignment.ipynb new file mode 100644 index 0000000..1684ef4 --- /dev/null +++ b/homework/DAT19-HW2-Assignment.ipynb @@ -0,0 +1,601 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# DAT 19: Homework 2 Assignment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Instructions\n", + "\n", + "For Homework 2, we will build on the work we did with the Titanic dataset in Homework 1. In this assignment, we will build a logistic regression model to predict passenger survival.\n", + "\n", + "Please do all your analysis to answer the questions below in this Jupyter notebook. Show your work.\n", + "\n", + "**Please submit your completed notebook by 6:00PM on Monday, January 11.**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## About the Data\n", + "\n", + "```\n", + "VARIABLE DESCRIPTIONS:\n", + "survival Survival\n", + " (0 = No; 1 = Yes)\n", + "pclass Passenger Class\n", + " (1 = 1st; 2 = 2nd; 3 = 3rd)\n", + "name Name\n", + "sex Sex\n", + "age Age\n", + "sibsp Number of Siblings/Spouses Aboard\n", + "parch Number of Parents/Children Aboard\n", + "ticket Ticket Number\n", + "fare Passenger Fare\n", + "cabin Cabin\n", + "embarked Port of Embarkation\n", + " (C = Cherbourg; Q = Queenstown; S = Southampton)\n", + "\n", + "SPECIAL NOTES:\n", + "Pclass is a proxy for socio-economic status (SES)\n", + " 1st ~ Upper; 2nd ~ Middle; 3rd ~ Lower\n", + "\n", + "Age is in Years; Fractional if Age less than One (1)\n", + " If the Age is Estimated, it is in the form xx.5\n", + "\n", + "With respect to the family relation variables (i.e. sibsp and parch)\n", + "some relations were ignored. The following are the definitions used\n", + "for sibsp and parch.\n", + "\n", + "Sibling: Brother, Sister, Stepbrother, or Stepsister of Passenger Aboard Titanic\n", + "Spouse: Husband or Wife of Passenger Aboard Titanic (Mistresses and Fiances Ignored)\n", + "Parent: Mother or Father of Passenger Aboard Titanic\n", + "Child: Son, Daughter, Stepson, or Stepdaughter of Passenger Aboard Titanic\n", + "\n", + "Other family relatives excluded from this study include cousins,\n", + "nephews/nieces, aunts/uncles, and in-laws. Some children travelled\n", + "only with a nanny, therefore parch=0 for them. As well, some\n", + "travelled with very close friends or neighbors in a village, however,\n", + "the definitions do not support such relations.\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Homework Assignment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**1) Create a logistic regression model on the Titanic dataset to predict the survival of passengers. Show your model output. Include coefficient values.**" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + "\n", + "\n", + " \n", + "\n", + "
\n", + " \n", + " BokehJS successfully loaded.\n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import csv as csv\n", + "import numpy as np\n", + "import pandas as pd\n", + "data = pd.read_csv(\"../data/titanic.csv\")\n", + "from bokeh.plotting import figure,show,output_notebook\n", + "from bokeh.models import Range1d\n", + "\n", + "from sklearn import datasets\n", + "from sklearn.cross_validation import cross_val_score\n", + "from sklearn.linear_model import LinearRegression\n", + "\n", + "\n", + "output_notebook()\n", + "%matplotlib inline\n", + "\n", + "from sklearn.linear_model import LogisticRegression\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0 1]\n" + ] + } + ], + "source": [ + "data[\"Age\"] = data[\"Age\"].fillna(data[\"Age\"].median())\n", + "data.loc[data[\"Sex\"] == \"male\", \"Sex\"] = 0\n", + "data.loc[data[\"Sex\"] == \"female\", \"Sex\"] = 1\n", + "print (data[\"Sex\"].unique())\n" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "data[\"Embarked\"] = data[\"Embarked\"].fillna(\"S\")\n", + "data.loc[data[\"Embarked\"] == \"S\", \"Embarked\"] = 0\n", + "data.loc[data[\"Embarked\"] == \"C\", \"Embarked\"] = 1\n", + "data.loc[data[\"Embarked\"] == \"Q\", \"Embarked\"] = 3" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index([u'Pclass', u'Sex', u'Age', u'SibSp', u'Parch', u'Fare', u'Embarked'], dtype='object')\n", + "[[-0.99323929 2.60460012 -0.03418114 -0.31289749 -0.07997552 0.00347326\n", + " 0.15345449]]\n" + ] + } + ], + "source": [ + "model_lr = LogisticRegression(C=1)\n", + "\n", + "features = data.drop(['Survived', 'PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1)\n", + "target = data.Survived\n", + "\n", + "model_lr = LogisticRegression(C=1).fit(features, target)\n", + "x = np.arange(len(features.columns))\n", + "names = features.columns\n", + "print names\n", + "print model_lr.coef_\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**2) Which features are predictive for this logistic regression? Explain your thinking. Do not simply cite model statistics.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "\n", + "It looks like Sex, Passenger Class, Sibsp, Embarked, and Age are the best predictors in this regression.\n", + "Females would likely get priority in lifeboats, greatly increasing their chance at survival.\n", + "Passenger class is the 2nd largest predictor in this regression. People who paid more would likely get priority on lifeboats. \n", + "Siblings/spouse and parents/children are another big predictor, and it looks like more siblings/spouse and parents decreases your chance of survival. Perhaps families would want to stay together and this would decrease the chance of them getting onto a lifeboat. \n", + "A big predictor is where the passenger embarked. This has the 4th highest weight, after pclass, sex, and sibsp. Perhaps there is some relationship between port embarked and passenger class. Some cities are naturally more affluent than others. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**3) Implement cross-validation for your logistic regression model. Select the number of folds. Explain your choice.**" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.79580188955188946" + ] + }, + "execution_count": 115, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cross_val_score(model_lr,features,target,cv=8).mean()\n", + "\n", + "## 8 fold should be enough for this data set. Each fold will have > 100 data points so variance wont be too high" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**4) In the hw-assignments director on the class github repo, there is a file called titanic-test.csv. What does your logistic regression model predict for these previously unseen (i.e. out of sample) passengers?**" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "titanic_test = pd.read_csv(\"../hw-assignments/titanic-test.csv\")\n", + "\n", + "titanic_test[\"Age\"] = titanic_test[\"Age\"].fillna(data[\"Age\"].median())\n", + "titanic_test[\"Fare\"] = titanic_test[\"Fare\"].fillna(data[\"Fare\"].median())\n", + "\n", + "titanic_test.loc[titanic_test[\"Sex\"] == \"male\", \"Sex\"] = 0\n", + "titanic_test.loc[titanic_test[\"Sex\"] == \"female\", \"Sex\"] = 1\n", + "\n", + "titanic_test[\"Embarked\"] = titanic_test[\"Embarked\"].fillna(\"S\")\n", + "titanic_test.loc[titanic_test[\"Embarked\"] == \"S\", \"Embarked\"] = 0\n", + "titanic_test.loc[titanic_test[\"Embarked\"] == \"C\", \"Embarked\"] = 1\n", + "titanic_test.loc[titanic_test[\"Embarked\"] == \"Q\", \"Embarked\"] = 2\n", + "\n", + "predictors = titanic_test.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1)\n", + "predictions = model_lr.predict(predictors)\n", + "submission = pd.DataFrame({\n", + " \"Passenger ID\": titanic_test[\"PassengerId\"],\n", + " \"Survived\": predictions\n", + " })" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Passenger ID Survived\n", + "0 892 0\n", + "1 893 0\n", + "2 894 0\n", + "3 895 0\n", + "4 896 1\n", + "5 897 0\n", + "6 898 1\n", + "7 899 0\n", + "8 900 1\n", + "9 901 0\n", + "10 902 0\n", + "11 903 0\n", + "12 904 1\n", + "13 905 0\n", + "14 906 1\n", + "15 907 1\n", + "16 908 0\n", + "17 909 0\n", + "18 910 1\n", + "19 911 1\n", + "20 912 0\n", + "21 913 0\n", + "22 914 1\n", + "23 915 1\n", + "24 916 1\n", + "25 917 0\n", + "26 918 1\n", + "27 919 0\n", + "28 920 0\n", + "29 921 0\n", + ".. ... ...\n", + "388 1280 0\n", + "389 1281 0\n", + "390 1282 1\n", + "391 1283 1\n", + "392 1284 0\n", + "393 1285 0\n", + "394 1286 0\n", + "395 1287 1\n", + "396 1288 0\n", + "397 1289 1\n", + "398 1290 0\n", + "399 1291 0\n", + "400 1292 1\n", + "401 1293 0\n", + "402 1294 1\n", + "403 1295 1\n", + "404 1296 0\n", + "405 1297 0\n", + "406 1298 0\n", + "407 1299 0\n", + "408 1300 1\n", + "409 1301 1\n", + "410 1302 1\n", + "411 1303 1\n", + "412 1304 1\n", + "413 1305 0\n", + "414 1306 1\n", + "415 1307 0\n", + "416 1308 0\n", + "417 1309 0\n", + "\n", + "[418 rows x 2 columns]\n" + ] + } + ], + "source": [ + "print submission" + ] + }, + { + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} From c6a75baeee464005239ed929eb3e65ad614bfd25 Mon Sep 17 00:00:00 2001 From: Denton Zhao Date: Wed, 20 Jan 2016 16:10:04 -0800 Subject: [PATCH 7/9] homework3 --- homework/DAT19-HW3-Assignment.ipynb | 506 ++++++++++++++++++++++++++++ 1 file changed, 506 insertions(+) create mode 100644 homework/DAT19-HW3-Assignment.ipynb diff --git a/homework/DAT19-HW3-Assignment.ipynb b/homework/DAT19-HW3-Assignment.ipynb new file mode 100644 index 0000000..2f8971a --- /dev/null +++ b/homework/DAT19-HW3-Assignment.ipynb @@ -0,0 +1,506 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# DAT 19: Homework 3 Assignment - Clustering with K-means" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Instructions\n", + "\n", + "In this homework assignment, we will get practice with our first unsupervised learning technique, clustering. We will analyze wholesale purchases by 440 clients of a wholesale distributor. \n", + "\n", + "Please do all your analysis to answer the questions below in this Jupyter notebook. Show your work.\n", + "\n", + "**Please submit your completed notebook by 6:30PM on Wednesday, January 20.**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## About the Data\n", + "\n", + "The [Wholesale Customers dataset](http://archive.ics.uci.edu/ml/datasets/Wholesale+customers) and a description of the data is available from the UCI ML Repository." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Homework Assignment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**1) Load the dataset. Check for missing values, perform any normalization that you think is necessary (remember that K-means uses the Euclidean Distance function).**" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + "\n", + "\n", + " \n", + "\n", + "
\n", + " \n", + " BokehJS successfully loaded.\n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "from sklearn.cluster import KMeans\n", + "from bokeh.plotting import figure,show,output_notebook\n", + "output_notebook()\n", + "customer_data = pd.read_csv('../data/wholesale_customers_data.csv')\n", + "customer_data.head()\n", + "features = customer_data.drop(['Channel', 'Region'], axis=1)\n", + "features = features.astype(float)\n", + "from sklearn import preprocessing\n", + "normalized_features = preprocessing.normalize(features, norm='l2', axis=1, copy=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**2.1) Look at the dataset. There are both continuous and categorical variables. What are the categorical variables? From a business perspective, what do those categorical variables represent?**" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Categories represent where store is located and if it is a retail store or a store located in the hotel/restaurant/cafe" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**2.2) What results might we expect from the k-means clustering if we were to run it on the dataset as-is? Explain your thinking in words.**" + ] + }, + { + "cell_type": "raw", + "metadata": { + "collapsed": true + }, + "source": [ + "Data is how much customers spend on certain goods. Clusters will form based on how each customer distributes their spending. Data is from different regions and channels. The two channels will likely form their own clusters. Unless theres is a distinct difference between how customers allocate resources based on region, there should be no distinct difference." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**3) Using ONLY the continuous features in the dataset, apply the K-means algorithm to find clusters in the data.**" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "KMeans(copy_x=True, init='k-means++', max_iter=300, n_clusters=8, n_init=10,\n", + " n_jobs=1, precompute_distances='auto', random_state=None, tol=0.0001,\n", + " verbose=0)" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "km = KMeans()\n", + "km.fit(features)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**4.1) Plot the Silhouette Coefficient as a function of the number of clusters (remember that you set the number of clusters as an input to K-means).**" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from sklearn.metrics import silhouette_score\n", + "my_ks = range(2,5)\n", + "my_ks\n", + "silhouette = []\n", + "for k in my_ks:\n", + " temp_km = KMeans(k)\n", + " temp_km.fit(features)\n", + " temp_labels = temp_km.labels_\n", + " new_score = silhouette_score(features,temp_labels,metric='euclidean')\n", + " silhouette.append(new_score)\n", + " \n", + "p = figure(title='Silhouette')\n", + "p.line(my_ks,silhouette)\n", + "show(p)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**4.2) What is the ideal value for k, the number of clusters? Why?**" + ] + }, + { + "cell_type": "raw", + "metadata": { + "collapsed": true + }, + "source": [ + "2 is ideal value. Customer spending data will most likely be determined by channel, retail or HORECA. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**4.3) How does your answer for 3.2 compare with your thoughts from 2.2 above?**" + ] + }, + { + "cell_type": "raw", + "metadata": { + "collapsed": true + }, + "source": [ + "We can see that location of customers is not a distict difference, the primary feature is likely channel" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Extra Credit Questions\n", + "**The following questions are strongly encouraged, but not required for this homework assignment.**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**5) Read the scikit-learn user guide section about [clustering](http://scikit-learn.org/stable/modules/clustering.html). Pay particular attention to the section about [assumptions](http://scikit-learn.org/stable/auto_examples/cluster/plot_kmeans_assumptions.html#example-cluster-plot-kmeans-assumptions-py).**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**6) PCA & PLOTTING:**
With six continuous features, plotting our clusters in two dimensions will be challenging. We can use [Principal Components Analysis](http://scikit-learn.org/stable/modules/decomposition.html#pca) and then plot only the \"top two\" dimensions. More technically, these are the dimensions that capture most of the variance in our data set. For this extra credit question, read about [PCA in the sklearn.decomposition module](http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html), apply it to the wholesale dataset, repeat the k-means clustering, and plot your results using only the top two principal components." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "#your code here, should you choose to attempt it" + ] + } + ], + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} From 63f959a1c9e90a1a0a5d6fe19b00c21eacf0ce9f Mon Sep 17 00:00:00 2001 From: Denton Zhao Date: Wed, 3 Feb 2016 20:44:50 -0800 Subject: [PATCH 8/9] first commit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b79d50..e8c45df 100644 --- a/README.md +++ b/README.md @@ -342,3 +342,4 @@ _syllabus last updated: 02/01/2016_ * Project presentations! +# DAT19 From 6b465db68ab1d82907724e0991a002334f52d0a2 Mon Sep 17 00:00:00 2001 From: Denton Zhao Date: Wed, 17 Feb 2016 17:08:16 -0800 Subject: [PATCH 9/9] new hw4 --- hw-assignments/DAT19-HW2-Assignment Me.ipynb | 601 +++++++++++ ...ipynb => DAT19-HW2-Assignment-Copy1.ipynb} | 0 hw-assignments/DAT19-HW2-Solutions.ipynb | 2 +- hw-assignments/DAT19-HW3-Assignment.ipynb | 338 +++++- hw-assignments/DAT19-HW4-Assignment.ipynb | 999 +++++++++++++++++- project/Project NBA Draft.ipynb | 628 +++++++++++ project/Untitled.ipynb | 288 +++++ 7 files changed, 2806 insertions(+), 50 deletions(-) create mode 100644 hw-assignments/DAT19-HW2-Assignment Me.ipynb rename hw-assignments/{DAT19-HW2-Assignment.ipynb => DAT19-HW2-Assignment-Copy1.ipynb} (100%) create mode 100644 project/Project NBA Draft.ipynb create mode 100644 project/Untitled.ipynb diff --git a/hw-assignments/DAT19-HW2-Assignment Me.ipynb b/hw-assignments/DAT19-HW2-Assignment Me.ipynb new file mode 100644 index 0000000..1684ef4 --- /dev/null +++ b/hw-assignments/DAT19-HW2-Assignment Me.ipynb @@ -0,0 +1,601 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# DAT 19: Homework 2 Assignment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Instructions\n", + "\n", + "For Homework 2, we will build on the work we did with the Titanic dataset in Homework 1. In this assignment, we will build a logistic regression model to predict passenger survival.\n", + "\n", + "Please do all your analysis to answer the questions below in this Jupyter notebook. Show your work.\n", + "\n", + "**Please submit your completed notebook by 6:00PM on Monday, January 11.**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## About the Data\n", + "\n", + "```\n", + "VARIABLE DESCRIPTIONS:\n", + "survival Survival\n", + " (0 = No; 1 = Yes)\n", + "pclass Passenger Class\n", + " (1 = 1st; 2 = 2nd; 3 = 3rd)\n", + "name Name\n", + "sex Sex\n", + "age Age\n", + "sibsp Number of Siblings/Spouses Aboard\n", + "parch Number of Parents/Children Aboard\n", + "ticket Ticket Number\n", + "fare Passenger Fare\n", + "cabin Cabin\n", + "embarked Port of Embarkation\n", + " (C = Cherbourg; Q = Queenstown; S = Southampton)\n", + "\n", + "SPECIAL NOTES:\n", + "Pclass is a proxy for socio-economic status (SES)\n", + " 1st ~ Upper; 2nd ~ Middle; 3rd ~ Lower\n", + "\n", + "Age is in Years; Fractional if Age less than One (1)\n", + " If the Age is Estimated, it is in the form xx.5\n", + "\n", + "With respect to the family relation variables (i.e. sibsp and parch)\n", + "some relations were ignored. The following are the definitions used\n", + "for sibsp and parch.\n", + "\n", + "Sibling: Brother, Sister, Stepbrother, or Stepsister of Passenger Aboard Titanic\n", + "Spouse: Husband or Wife of Passenger Aboard Titanic (Mistresses and Fiances Ignored)\n", + "Parent: Mother or Father of Passenger Aboard Titanic\n", + "Child: Son, Daughter, Stepson, or Stepdaughter of Passenger Aboard Titanic\n", + "\n", + "Other family relatives excluded from this study include cousins,\n", + "nephews/nieces, aunts/uncles, and in-laws. Some children travelled\n", + "only with a nanny, therefore parch=0 for them. As well, some\n", + "travelled with very close friends or neighbors in a village, however,\n", + "the definitions do not support such relations.\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Homework Assignment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**1) Create a logistic regression model on the Titanic dataset to predict the survival of passengers. Show your model output. Include coefficient values.**" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + "\n", + "\n", + " \n", + "\n", + "
\n", + " \n", + " BokehJS successfully loaded.\n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import csv as csv\n", + "import numpy as np\n", + "import pandas as pd\n", + "data = pd.read_csv(\"../data/titanic.csv\")\n", + "from bokeh.plotting import figure,show,output_notebook\n", + "from bokeh.models import Range1d\n", + "\n", + "from sklearn import datasets\n", + "from sklearn.cross_validation import cross_val_score\n", + "from sklearn.linear_model import LinearRegression\n", + "\n", + "\n", + "output_notebook()\n", + "%matplotlib inline\n", + "\n", + "from sklearn.linear_model import LogisticRegression\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0 1]\n" + ] + } + ], + "source": [ + "data[\"Age\"] = data[\"Age\"].fillna(data[\"Age\"].median())\n", + "data.loc[data[\"Sex\"] == \"male\", \"Sex\"] = 0\n", + "data.loc[data[\"Sex\"] == \"female\", \"Sex\"] = 1\n", + "print (data[\"Sex\"].unique())\n" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "data[\"Embarked\"] = data[\"Embarked\"].fillna(\"S\")\n", + "data.loc[data[\"Embarked\"] == \"S\", \"Embarked\"] = 0\n", + "data.loc[data[\"Embarked\"] == \"C\", \"Embarked\"] = 1\n", + "data.loc[data[\"Embarked\"] == \"Q\", \"Embarked\"] = 3" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index([u'Pclass', u'Sex', u'Age', u'SibSp', u'Parch', u'Fare', u'Embarked'], dtype='object')\n", + "[[-0.99323929 2.60460012 -0.03418114 -0.31289749 -0.07997552 0.00347326\n", + " 0.15345449]]\n" + ] + } + ], + "source": [ + "model_lr = LogisticRegression(C=1)\n", + "\n", + "features = data.drop(['Survived', 'PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1)\n", + "target = data.Survived\n", + "\n", + "model_lr = LogisticRegression(C=1).fit(features, target)\n", + "x = np.arange(len(features.columns))\n", + "names = features.columns\n", + "print names\n", + "print model_lr.coef_\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**2) Which features are predictive for this logistic regression? Explain your thinking. Do not simply cite model statistics.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "\n", + "It looks like Sex, Passenger Class, Sibsp, Embarked, and Age are the best predictors in this regression.\n", + "Females would likely get priority in lifeboats, greatly increasing their chance at survival.\n", + "Passenger class is the 2nd largest predictor in this regression. People who paid more would likely get priority on lifeboats. \n", + "Siblings/spouse and parents/children are another big predictor, and it looks like more siblings/spouse and parents decreases your chance of survival. Perhaps families would want to stay together and this would decrease the chance of them getting onto a lifeboat. \n", + "A big predictor is where the passenger embarked. This has the 4th highest weight, after pclass, sex, and sibsp. Perhaps there is some relationship between port embarked and passenger class. Some cities are naturally more affluent than others. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**3) Implement cross-validation for your logistic regression model. Select the number of folds. Explain your choice.**" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.79580188955188946" + ] + }, + "execution_count": 115, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cross_val_score(model_lr,features,target,cv=8).mean()\n", + "\n", + "## 8 fold should be enough for this data set. Each fold will have > 100 data points so variance wont be too high" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**4) In the hw-assignments director on the class github repo, there is a file called titanic-test.csv. What does your logistic regression model predict for these previously unseen (i.e. out of sample) passengers?**" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "titanic_test = pd.read_csv(\"../hw-assignments/titanic-test.csv\")\n", + "\n", + "titanic_test[\"Age\"] = titanic_test[\"Age\"].fillna(data[\"Age\"].median())\n", + "titanic_test[\"Fare\"] = titanic_test[\"Fare\"].fillna(data[\"Fare\"].median())\n", + "\n", + "titanic_test.loc[titanic_test[\"Sex\"] == \"male\", \"Sex\"] = 0\n", + "titanic_test.loc[titanic_test[\"Sex\"] == \"female\", \"Sex\"] = 1\n", + "\n", + "titanic_test[\"Embarked\"] = titanic_test[\"Embarked\"].fillna(\"S\")\n", + "titanic_test.loc[titanic_test[\"Embarked\"] == \"S\", \"Embarked\"] = 0\n", + "titanic_test.loc[titanic_test[\"Embarked\"] == \"C\", \"Embarked\"] = 1\n", + "titanic_test.loc[titanic_test[\"Embarked\"] == \"Q\", \"Embarked\"] = 2\n", + "\n", + "predictors = titanic_test.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1)\n", + "predictions = model_lr.predict(predictors)\n", + "submission = pd.DataFrame({\n", + " \"Passenger ID\": titanic_test[\"PassengerId\"],\n", + " \"Survived\": predictions\n", + " })" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Passenger ID Survived\n", + "0 892 0\n", + "1 893 0\n", + "2 894 0\n", + "3 895 0\n", + "4 896 1\n", + "5 897 0\n", + "6 898 1\n", + "7 899 0\n", + "8 900 1\n", + "9 901 0\n", + "10 902 0\n", + "11 903 0\n", + "12 904 1\n", + "13 905 0\n", + "14 906 1\n", + "15 907 1\n", + "16 908 0\n", + "17 909 0\n", + "18 910 1\n", + "19 911 1\n", + "20 912 0\n", + "21 913 0\n", + "22 914 1\n", + "23 915 1\n", + "24 916 1\n", + "25 917 0\n", + "26 918 1\n", + "27 919 0\n", + "28 920 0\n", + "29 921 0\n", + ".. ... ...\n", + "388 1280 0\n", + "389 1281 0\n", + "390 1282 1\n", + "391 1283 1\n", + "392 1284 0\n", + "393 1285 0\n", + "394 1286 0\n", + "395 1287 1\n", + "396 1288 0\n", + "397 1289 1\n", + "398 1290 0\n", + "399 1291 0\n", + "400 1292 1\n", + "401 1293 0\n", + "402 1294 1\n", + "403 1295 1\n", + "404 1296 0\n", + "405 1297 0\n", + "406 1298 0\n", + "407 1299 0\n", + "408 1300 1\n", + "409 1301 1\n", + "410 1302 1\n", + "411 1303 1\n", + "412 1304 1\n", + "413 1305 0\n", + "414 1306 1\n", + "415 1307 0\n", + "416 1308 0\n", + "417 1309 0\n", + "\n", + "[418 rows x 2 columns]\n" + ] + } + ], + "source": [ + "print submission" + ] + }, + { + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/hw-assignments/DAT19-HW2-Assignment.ipynb b/hw-assignments/DAT19-HW2-Assignment-Copy1.ipynb similarity index 100% rename from hw-assignments/DAT19-HW2-Assignment.ipynb rename to hw-assignments/DAT19-HW2-Assignment-Copy1.ipynb diff --git a/hw-assignments/DAT19-HW2-Solutions.ipynb b/hw-assignments/DAT19-HW2-Solutions.ipynb index a7f6279..9fd0cc9 100644 --- a/hw-assignments/DAT19-HW2-Solutions.ipynb +++ b/hw-assignments/DAT19-HW2-Solutions.ipynb @@ -1506,7 +1506,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.10" + "version": "2.7.11" } }, "nbformat": 4, diff --git a/hw-assignments/DAT19-HW3-Assignment.ipynb b/hw-assignments/DAT19-HW3-Assignment.ipynb index 550bfe9..2f8971a 100644 --- a/hw-assignments/DAT19-HW3-Assignment.ipynb +++ b/hw-assignments/DAT19-HW3-Assignment.ipynb @@ -45,13 +45,246 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + " \n", + "\n", + "\n", + " \n", + "\n", + "
\n", + " \n", + " BokehJS successfully loaded.\n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "#your code here" + "import numpy as np\n", + "import pandas as pd\n", + "from sklearn.cluster import KMeans\n", + "from bokeh.plotting import figure,show,output_notebook\n", + "output_notebook()\n", + "customer_data = pd.read_csv('../data/wholesale_customers_data.csv')\n", + "customer_data.head()\n", + "features = customer_data.drop(['Channel', 'Region'], axis=1)\n", + "features = features.astype(float)\n", + "from sklearn import preprocessing\n", + "normalized_features = preprocessing.normalize(features, norm='l2', axis=1, copy=True)" ] }, { @@ -63,13 +296,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ - "#your text based answer here. Feel free to convert this cell to markdown." + "# Categories represent where store is located and if it is a retail store or a store located in the hotel/restaurant/cafe" ] }, { @@ -80,14 +313,12 @@ ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "raw", "metadata": { "collapsed": true }, - "outputs": [], "source": [ - "#your text based answer here. Feel free to convert this cell to markdown." + "Data is how much customers spend on certain goods. Clusters will form based on how each customer distributes their spending. Data is from different regions and channels. The two channels will likely form their own clusters. Unless theres is a distinct difference between how customers allocate resources based on region, there should be no distinct difference." ] }, { @@ -99,13 +330,27 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "KMeans(copy_x=True, init='k-means++', max_iter=300, n_clusters=8, n_init=10,\n", + " n_jobs=1, precompute_distances='auto', random_state=None, tol=0.0001,\n", + " verbose=0)" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "#your code here" + "km = KMeans()\n", + "km.fit(features)" ] }, { @@ -117,13 +362,58 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "metadata": { - "collapsed": false + "collapsed": false, + "scrolled": true }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "#your code here" + "from sklearn.metrics import silhouette_score\n", + "my_ks = range(2,5)\n", + "my_ks\n", + "silhouette = []\n", + "for k in my_ks:\n", + " temp_km = KMeans(k)\n", + " temp_km.fit(features)\n", + " temp_labels = temp_km.labels_\n", + " new_score = silhouette_score(features,temp_labels,metric='euclidean')\n", + " silhouette.append(new_score)\n", + " \n", + "p = figure(title='Silhouette')\n", + "p.line(my_ks,silhouette)\n", + "show(p)" ] }, { @@ -134,14 +424,12 @@ ] }, { - "cell_type": "code", - "execution_count": 3, + "cell_type": "raw", "metadata": { "collapsed": true }, - "outputs": [], "source": [ - "#your text based answer here. Feel free to convert this cell to markdown." + "2 is ideal value. Customer spending data will most likely be determined by channel, retail or HORECA. " ] }, { @@ -152,14 +440,12 @@ ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "raw", "metadata": { "collapsed": true }, - "outputs": [], "source": [ - "#your text based answer here. Feel free to convert this cell to markdown." + "We can see that location of customers is not a distict difference, the primary feature is likely channel" ] }, { @@ -186,7 +472,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": { "collapsed": true }, @@ -212,7 +498,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.10" + "version": "2.7.11" } }, "nbformat": 4, diff --git a/hw-assignments/DAT19-HW4-Assignment.ipynb b/hw-assignments/DAT19-HW4-Assignment.ipynb index e603532..53982ff 100644 --- a/hw-assignments/DAT19-HW4-Assignment.ipynb +++ b/hw-assignments/DAT19-HW4-Assignment.ipynb @@ -36,6 +36,244 @@ "## Homework Assignment" ] }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + "\n", + "\n", + " \n", + "\n", + "
\n", + " \n", + " BokehJS successfully loaded.\n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "from bokeh.plotting import figure,show,output_notebook\n", + "from bokeh.models import Range1d\n", + "output_notebook()" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -45,13 +283,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Benign 458\n", + "Malignant 241\n", + "Name: Class, dtype: int64" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "canc = pd.read_csv(\"./data/cancer_uci.csv\", index_col=0)\n", + "canc = pd.read_csv(\"../data/cancer_uci.csv\", index_col=0)\n", "canc.head()\n", "canc.Class.value_counts()\n", "# What are the frequencies of each class?" @@ -66,11 +317,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "metadata": { - "collapsed": true + "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0 458\n", + "1 241\n", + "Name: Class, dtype: int64" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "canc.Class = canc.Class.map({'Benign':0,'Malignant':1})\n", "canc.Class.value_counts()" @@ -85,11 +349,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": { - "collapsed": true + "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "916\n" + ] + } + ], "source": [ "# Separate your two classes:\n", "mal_example = canc[canc.Class == 1]\n", @@ -114,13 +386,207 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, + "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", + "
Sample_code_numberClump_ThicknessUniformity_of_Cell_SizeUniformity_of_Cell_ShapeMarginal_AdhesionSingle_Epithelial_Cell_SizeBland_ChromatinNormal_NucleoliMitosesClass
count916.000000916.000000916.000000916.000000916.000000916.000000916.000000916.000000916.000000916.000000
mean1058842.7390835.0775113.9224893.9628823.4323143.7172493.9606993.6331881.7074240.500000
std560643.2292482.9567923.2504723.1703443.1558432.4658912.6224313.3879811.8256190.500273
min61634.0000001.0000001.0000001.0000001.0000001.0000001.0000001.0000001.0000000.000000
25%859303.5000003.0000001.0000001.0000001.0000002.0000002.0000001.0000001.0000000.000000
50%1170420.0000005.0000003.0000003.0000002.0000003.0000003.0000001.0000001.0000000.500000
75%1237046.2500008.0000006.0000006.0000005.0000005.0000007.0000006.0000001.0000001.000000
max13454352.00000010.00000010.00000010.00000010.00000010.00000010.00000010.00000010.0000001.000000
\n", + "
" + ], + "text/plain": [ + " Sample_code_number Clump_Thickness Uniformity_of_Cell_Size \\\n", + "count 916.000000 916.000000 916.000000 \n", + "mean 1058842.739083 5.077511 3.922489 \n", + "std 560643.229248 2.956792 3.250472 \n", + "min 61634.000000 1.000000 1.000000 \n", + "25% 859303.500000 3.000000 1.000000 \n", + "50% 1170420.000000 5.000000 3.000000 \n", + "75% 1237046.250000 8.000000 6.000000 \n", + "max 13454352.000000 10.000000 10.000000 \n", + "\n", + " Uniformity_of_Cell_Shape Marginal_Adhesion \\\n", + "count 916.000000 916.000000 \n", + "mean 3.962882 3.432314 \n", + "std 3.170344 3.155843 \n", + "min 1.000000 1.000000 \n", + "25% 1.000000 1.000000 \n", + "50% 3.000000 2.000000 \n", + "75% 6.000000 5.000000 \n", + "max 10.000000 10.000000 \n", + "\n", + " Single_Epithelial_Cell_Size Bland_Chromatin Normal_Nucleoli \\\n", + "count 916.000000 916.000000 916.000000 \n", + "mean 3.717249 3.960699 3.633188 \n", + "std 2.465891 2.622431 3.387981 \n", + "min 1.000000 1.000000 1.000000 \n", + "25% 2.000000 2.000000 1.000000 \n", + "50% 3.000000 3.000000 1.000000 \n", + "75% 5.000000 7.000000 6.000000 \n", + "max 10.000000 10.000000 10.000000 \n", + "\n", + " Mitoses Class \n", + "count 916.000000 916.000000 \n", + "mean 1.707424 0.500000 \n", + "std 1.825619 0.500273 \n", + "min 1.000000 0.000000 \n", + "25% 1.000000 0.000000 \n", + "50% 1.000000 0.500000 \n", + "75% 1.000000 1.000000 \n", + "max 10.000000 1.000000 " + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "over_sample.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "#your code here" + "from sklearn.preprocessing import StandardScaler\n", + "scaler = StandardScaler()\n", + "features_to_train = ['Clump_Thickness', 'Uniformity_of_Cell_Size', 'Marginal_Adhesion', 'Single_Epithelial_Cell_Size', \n", + " 'Bland_Chromatin', 'Normal_Nucleoli', 'Mitoses']\n", + "X = over_sample[features_to_train]\n", + "Y = over_sample.Class\n", + "\n", + "X_norm = StandardScaler().fit_transform(X)\n" ] }, { @@ -132,13 +598,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "metadata": { - "collapsed": true + "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.94759825327510916" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "#your code here" + "from sklearn.cross_validation import train_test_split\n", + "from sklearn.svm import SVC\n", + "from sklearn.metrics import classification_report\n", + "from sklearn.cross_validation import cross_val_score\n", + "from sklearn.metrics import classification_report,confusion_matrix\n", + "from sklearn.metrics import roc_curve\n", + "from sklearn.metrics import auc\n", + "\n", + "\n", + "X_train, X_test, Y_train, Y_test = train_test_split(X, Y, random_state=1)\n", + "\n", + "model = SVC(kernel='linear',C=1).fit(X_train,Y_train)\n", + "model.score(X_test, Y_test) \n" ] }, { @@ -150,13 +639,150 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "metadata": { - "collapsed": true + "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", + "
Actual Class 0Actual Class 1
Predicted Class 01146
Predicted Class 16103
\n", + "
" + ], + "text/plain": [ + " Actual Class 0 Actual Class 1\n", + "Predicted Class 0 114 6\n", + "Predicted Class 1 6 103" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm = confusion_matrix(Y_test,model.predict(X_test))\n", + "cm_df = pd.DataFrame(cm, index=['Predicted Class 0', 'Predicted Class 1'], \n", + " columns=['Actual Class 0', 'Actual Class 1'])\n", + "cm_df" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.95 0.95 0.95 120\n", + " 1 0.94 0.94 0.94 109\n", + "\n", + "avg / total 0.95 0.95 0.95 229\n", + "\n" + ] + } + ], + "source": [ + "print classification_report(Y_test,model.predict(X_test))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false }, "outputs": [], "source": [ - "#your code here" + "false_positive_rate, true_positive_rate, thresholds = roc_curve(Y_test, model.predict(X_test))\n", + "\n", + "roc_auc = auc(false_positive_rate, true_positive_rate)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def plot_roc_curve(target_test, target_predicted_proba):\n", + " fpr, tpr, thresholds = roc_curve(target_test, target_predicted_proba[:, ])\n", + " \n", + " roc_auc = auc(fpr, tpr)\n", + " \n", + " p = figure(title='Receiver Operating Characteristic')\n", + " # Plot ROC curve\n", + " p.line(x=fpr,y=tpr,legend='ROC curve (area = %0.3f)' % roc_auc)\n", + " p.x_range=Range1d(0,1)\n", + " p.y_range=Range1d(0,1)\n", + " p.xaxis.axis_label='False Positive Rate'\n", + " p.yaxis.axis_label='True Positive Rate'\n", + " p.legend.orientation = \"bottom_right\"\n", + " show(p)\n", + " \n", + "%matplotlib inline\n", + "plot_roc_curve(Y_test, model.predict(X_test))" ] }, { @@ -168,13 +794,174 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.943231441048\n" + ] + } + ], + "source": [ + "from sklearn.tree import DecisionTreeClassifier\n", + "tree = DecisionTreeClassifier(max_depth=3, random_state=1)\n", + "tree.fit(X_train, Y_train)\n", + "print tree.score(X_test, Y_test) \n" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "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", + "
Actual Class 0Actual Class 1
Predicted Class 01146
Predicted Class 17102
\n", + "
" + ], + "text/plain": [ + " Actual Class 0 Actual Class 1\n", + "Predicted Class 0 114 6\n", + "Predicted Class 1 7 102" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm = confusion_matrix(Y_test,tree.predict(X_test))\n", + "cm_df = pd.DataFrame(cm, index=['Predicted Class 0', 'Predicted Class 1'], \n", + " columns=['Actual Class 0', 'Actual Class 1'])\n", + "cm_df" + ] + }, + { + "cell_type": "code", + "execution_count": 48, "metadata": { "collapsed": false }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.94 0.95 0.95 120\n", + " 1 0.94 0.94 0.94 109\n", + "\n", + "avg / total 0.94 0.94 0.94 229\n", + "\n" + ] + } + ], + "source": [ + "print classification_report(Y_test,tree.predict(X_test))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "false_positive_rate, true_positive_rate, thresholds = roc_curve(Y_test, tree.predict(X_test))\n", + "\n", + "roc_auc = auc(false_positive_rate, true_positive_rate)\n", + "\n", + "def plot_roc_curve(target_test, target_predicted_proba):\n", + " fpr, tpr, thresholds = roc_curve(target_test, target_predicted_proba[:, ])\n", + " \n", + " roc_auc = auc(fpr, tpr)\n", + " \n", + " p = figure(title='Receiver Operating Characteristic')\n", + " # Plot ROC curve\n", + " p.line(x=fpr,y=tpr,legend='ROC curve (area = %0.3f)' % roc_auc)\n", + " p.x_range=Range1d(0,1)\n", + " p.y_range=Range1d(0,1)\n", + " p.xaxis.axis_label='False Positive Rate'\n", + " p.yaxis.axis_label='True Positive Rate'\n", + " p.legend.orientation = \"bottom_right\"\n", + " show(p)\n", + " \n", + "%matplotlib inline\n", + "plot_roc_curve(Y_test, tree.predict(X_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ - "#your code here" + "##Results are not as good as SVM, lose out slightly on precision with class 0" ] }, { @@ -186,13 +973,179 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "metadata": { "collapsed": false }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.96506550218340614" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier\n", + "\n", + "rfc = RandomForestClassifier(max_depth=5, n_estimators=100, max_features=3)\n", + "rfc.fit(X_train,Y_train)\n", + "rfc.score(X_test,Y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "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", + "
Actual Class 0Actual Class 1
Predicted Class 01146
Predicted Class 12107
\n", + "
" + ], + "text/plain": [ + " Actual Class 0 Actual Class 1\n", + "Predicted Class 0 114 6\n", + "Predicted Class 1 2 107" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm = confusion_matrix(Y_test,rfc.predict(X_test))\n", + "cm_df = pd.DataFrame(cm, index=['Predicted Class 0', 'Predicted Class 1'], \n", + " columns=['Actual Class 0', 'Actual Class 1'])\n", + "cm_df" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.98 0.95 0.97 120\n", + " 1 0.95 0.98 0.96 109\n", + "\n", + "avg / total 0.97 0.97 0.97 229\n", + "\n" + ] + } + ], + "source": [ + "print classification_report(Y_test,rfc.predict(X_test))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "false_positive_rate, true_positive_rate, thresholds = roc_curve(Y_test, rfc.predict(X_test))\n", + "\n", + "roc_auc = auc(false_positive_rate, true_positive_rate)\n", + "\n", + "def plot_roc_curve(target_test, target_predicted_proba):\n", + " fpr, tpr, thresholds = roc_curve(target_test, target_predicted_proba[:, ])\n", + " \n", + " roc_auc = auc(fpr, tpr)\n", + " \n", + " p = figure(title='Receiver Operating Characteristic')\n", + " # Plot ROC curve\n", + " p.line(x=fpr,y=tpr,legend='ROC curve (area = %0.3f)' % roc_auc)\n", + " p.x_range=Range1d(0,1)\n", + " p.y_range=Range1d(0,1)\n", + " p.xaxis.axis_label='False Positive Rate'\n", + " p.yaxis.axis_label='True Positive Rate'\n", + " p.legend.orientation = \"bottom_right\"\n", + " show(p)\n", + " \n", + "%matplotlib inline\n", + "plot_roc_curve(Y_test, rfc.predict(X_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ - "#your code here" + "## Random Forest is most accurate. Gain both precision and recall for both class 0 & 1" ] }, { @@ -256,7 +1209,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.10" + "version": "2.7.11" } }, "nbformat": 4, diff --git a/project/Project NBA Draft.ipynb b/project/Project NBA Draft.ipynb new file mode 100644 index 0000000..f4e21a8 --- /dev/null +++ b/project/Project NBA Draft.ipynb @@ -0,0 +1,628 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from urllib2 import urlopen\n", + "from bs4 import BeautifulSoup\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "url_template = \"http://www.basketball-reference.com/draft/NBA_{year}.html\"\n", + "draft_df = pd.DataFrame()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "for year in range(2000, 2011): # for each year\n", + " url = url_template.format(year=year) # get the url\n", + " \n", + " html = urlopen(url) # get the html\n", + " soup = BeautifulSoup(html, \"lxml\") # create our BS object\n", + " \n", + "\n", + " # get our player data\n", + " data_rows = soup.findAll('tr')[2:] \n", + " player_data = [[td.getText() for td in data_rows[i].findAll('td')]\n", + " for i in range(len(data_rows))]\n", + " \n", + " column_headers = [th.getText() for th in \n", + " soup.findAll('tr', limit=2)[1].findAll('th')]\n", + " \n", + " # Turn yearly data into a DatFrame\n", + " year_df = pd.DataFrame(player_data, columns=column_headers)\n", + " # create and insert the Draft_Yr column\n", + " year_df.insert(0, 'Draft_Yr', year)\n", + " \n", + " # Append to the big dataframe\n", + " draft_df = draft_df.append(year_df, ignore_index=True)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "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", + "
Draft_YrPkTmPlayerCollegeYrsGMPPTSTRB...3P_PercFT_PercMP_per_GPTS_per_GTRB_per_GAST_per_GWSWS_per_48BPMVORP
020001NJNKenyon MartinUniversity of Cincinnati157572313493255159...0.2340.62930.612.36.81.948.00.1000.715.5
120002VANStromile SwiftLouisiana State University95471080445822535...0.0740.69919.88.44.60.521.30.095-1.90.2
220003LACDarius Miles74461173045072190...0.1680.59026.310.14.91.99.50.039-1.22.3
320004CHIMarcus FizerIowa State University6289603227821340...0.1910.69120.99.64.61.22.70.022-4.7-4.1
420005ORLMike MillerUniversity of Florida16100327598109284330...0.4070.76927.510.94.32.660.60.1050.920.4
\n", + "

5 rows × 22 columns

\n", + "
" + ], + "text/plain": [ + " Draft_Yr Pk Tm Player College Yrs G \\\n", + "0 2000 1 NJN Kenyon Martin University of Cincinnati 15 757 \n", + "1 2000 2 VAN Stromile Swift Louisiana State University 9 547 \n", + "2 2000 3 LAC Darius Miles 7 446 \n", + "3 2000 4 CHI Marcus Fizer Iowa State University 6 289 \n", + "4 2000 5 ORL Mike Miller University of Florida 16 1003 \n", + "\n", + " MP PTS TRB ... 3P_Perc FT_Perc MP_per_G PTS_per_G TRB_per_G \\\n", + "0 23134 9325 5159 ... 0.234 0.629 30.6 12.3 6.8 \n", + "1 10804 4582 2535 ... 0.074 0.699 19.8 8.4 4.6 \n", + "2 11730 4507 2190 ... 0.168 0.590 26.3 10.1 4.9 \n", + "3 6032 2782 1340 ... 0.191 0.691 20.9 9.6 4.6 \n", + "4 27598 10928 4330 ... 0.407 0.769 27.5 10.9 4.3 \n", + "\n", + " AST_per_G WS WS_per_48 BPM VORP \n", + "0 1.9 48.0 0.100 0.7 15.5 \n", + "1 0.5 21.3 0.095 -1.9 0.2 \n", + "2 1.9 9.5 0.039 -1.2 2.3 \n", + "3 1.2 2.7 0.022 -4.7 -4.1 \n", + "4 2.6 60.6 0.105 0.9 20.4 \n", + "\n", + "[5 rows x 22 columns]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "draft_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Draft_YrRkPkTmPlayerCollegeYrsGMPPTS...3P%FT%MPPTSTRBASTWSWS/48BPMVORP
66620105656MINHamady N'DiayeRutgers University33315720....4624.80.60.80.10.0.013-4.9-0.1
66720105757INDRyan ReidFlorida State University15178...3.41.60.40.00.1.142-5.50.0
66820105858LALDerrick CaracterUniversity of Texas at El Paso14121581....7395.22.01.00.20.3.057-4.9-0.2
66920105959ORLStanley RobinsonUniversity of Connecticut...
67020106060PHODwayne CollinsUniversity of Miami...
\n", + "

5 rows × 23 columns

\n", + "
" + ], + "text/plain": [ + " Draft_Yr Rk Pk Tm Player College \\\n", + "666 2010 56 56 MIN Hamady N'Diaye Rutgers University \n", + "667 2010 57 57 IND Ryan Reid Florida State University \n", + "668 2010 58 58 LAL Derrick Caracter University of Texas at El Paso \n", + "669 2010 59 59 ORL Stanley Robinson University of Connecticut \n", + "670 2010 60 60 PHO Dwayne Collins University of Miami \n", + "\n", + " Yrs G MP PTS ... 3P% FT% MP PTS TRB AST WS WS/48 BPM \\\n", + "666 3 33 157 20 ... .462 4.8 0.6 0.8 0.1 0.0 .013 -4.9 \n", + "667 1 5 17 8 ... 3.4 1.6 0.4 0.0 0.1 .142 -5.5 \n", + "668 1 41 215 81 ... .739 5.2 2.0 1.0 0.2 0.3 .057 -4.9 \n", + "669 ... \n", + "670 ... \n", + "\n", + " VORP \n", + "666 -0.1 \n", + "667 0.0 \n", + "668 -0.2 \n", + "669 \n", + "670 \n", + "\n", + "[5 rows x 23 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "draft_df.tail()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/dentonzhao/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:4: FutureWarning: convert_objects is deprecated. Use the data-type specific converters pd.to_datetime, pd.to_timedelta and pd.to_numeric.\n" + ] + } + ], + "source": [ + "# Clean the Data\n", + "\n", + "# Convert data to proper data types\n", + "draft_df = draft_df.convert_objects(convert_numeric=True)\n", + "\n", + "# Get rid of the rows full of null values\n", + "draft_df = draft_df[draft_df.Player.notnull()]\n", + "\n", + "# Replace NaNs with 0s\n", + "draft_df = draft_df.fillna(0)\n", + "\n", + "# Rename Columns\n", + "draft_df.rename(columns={'WS/48':'WS_per_48'}, inplace=True)\n", + "# Change % symbol\n", + "draft_df.columns = draft_df.columns.str.replace('%', '_Perc')\n", + "# Add per_G to per game stats\n", + "draft_df.columns.values[15:19] = [draft_df.columns.values[15:19][col] + \n", + " \"_per_G\" for col in range(4)]\n", + "\n", + "# Changing the Data Types to int\n", + "draft_df.loc[:,'Yrs':'AST'] = draft_df.loc[:,'Yrs':'AST'].astype(int)\n", + "\n", + "# Delete the 'Rk' column\n", + "draft_df.drop('Rk', axis='columns', inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Draft_Yr int64\n", + "Pk float64\n", + "Tm object\n", + "Player object\n", + "College object\n", + "Yrs int64\n", + "G int64\n", + "MP int64\n", + "PTS int64\n", + "TRB int64\n", + "AST int64\n", + "FG_Perc float64\n", + "3P_Perc float64\n", + "FT_Perc float64\n", + "MP_per_G float64\n", + "PTS_per_G float64\n", + "TRB_per_G float64\n", + "AST_per_G float64\n", + "WS float64\n", + "WS_per_48 float64\n", + "BPM float64\n", + "VORP float64\n", + "dtype: object" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "draft_df.dtypes\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "draft_df['Pk'] = draft_df['Pk'].astype(int) # change Pk to int\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Draft_Yr 0\n", + "Pk 0\n", + "Tm 0\n", + "Player 0\n", + "College 0\n", + "Yrs 0\n", + "G 0\n", + "MP 0\n", + "PTS 0\n", + "TRB 0\n", + "AST 0\n", + "FG_Perc 0\n", + "3P_Perc 0\n", + "FT_Perc 0\n", + "MP_per_G 0\n", + "PTS_per_G 0\n", + "TRB_per_G 0\n", + "AST_per_G 0\n", + "WS 0\n", + "WS_per_48 0\n", + "BPM 0\n", + "VORP 0\n", + "dtype: int64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "draft_df.isnull().sum() # No missing values in our DataFrame\n" + ] + }, + { + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/project/Untitled.ipynb b/project/Untitled.ipynb new file mode 100644 index 0000000..0fe081c --- /dev/null +++ b/project/Untitled.ipynb @@ -0,0 +1,288 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import urllib2, sys\n", + "from bs4 import BeautifulSoup\n", + "import pandas as pd\n", + "urltemplate2 = \"http://nbasavant.com/apps/combine.php?txtLastName=&txtFirstName=&ddlPosition=&ddlSeason={year}&txtWeightGT=&txtWeightLT=&txtHeightGT=&txtHeightLT=&txtBodyFatGT=&txtBodyFatLT=&txtVerticalGT=&txtVerticalLT=&txtWingspanGT=&txtWingspanLT=#results\"\n", + "combine_df = pd.DataFrame()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "for year in range(2000, 2011):\n", + " url = urltemplate2.format(year=year) # get the url\n", + " \n", + " hdr = {'User-Agent': 'Mozilla/5.0'}\n", + " req = urllib2.Request(url,headers=hdr)\n", + " page = urllib2.urlopen(req)\n", + " soup = BeautifulSoup(page)\n", + " \n", + " data_rows = soup.findAll('tr')[1:] # skip the first header row\n", + " player_data = [[td.getText() for td in data_rows[i].findAll('th')]\n", + " for i in range(len(data_rows))]\n", + " \n", + " column_headers = [th.getText() for th in \n", + " soup.findAll('tr')[0].findAll('th')]\n", + " \n", + " # Turn yearly data into a DataFrame\n", + " year_df = pd.DataFrame(player_data, columns=column_headers)\n", + " \n", + " # Append to the big dataframe\n", + " combine_df = combine_df.append(year_df, ignore_index=True)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + "
NamePos.WeightHeightBody FatVerticalWingspanStanding ReachT.Q. SpringL.A.T.Season
0Allen, MalikPF-C271.000.000.0029.0086.50109.003.3811.832000
1Arceneaux, HaroldSG-SF219.000.000.0029.0080.50103.000.0013.802000
2Barnes, LamontPF-C235.500.000.0029.5087.50108.003.4012.302000
3Bland, MarioPF287.000.000.0031.0084.00103.003.4713.042000
4Brezec, PrimozC243.000.000.0029.5086.00110.003.5511.532000
\n", + "
" + ], + "text/plain": [ + " Name Pos. Weight Height Body Fat Vertical Wingspan \\\n", + "0 Allen, Malik PF-C 271.00 0.00 0.00 29.00 86.50 \n", + "1 Arceneaux, Harold SG-SF 219.00 0.00 0.00 29.00 80.50 \n", + "2 Barnes, Lamont PF-C 235.50 0.00 0.00 29.50 87.50 \n", + "3 Bland, Mario PF 287.00 0.00 0.00 31.00 84.00 \n", + "4 Brezec, Primoz C 243.00 0.00 0.00 29.50 86.00 \n", + "\n", + " Standing Reach T.Q. Spring L.A.T. Season \n", + "0 109.00 3.38 11.83 2000 \n", + "1 103.00 0.00 13.80 2000 \n", + "2 108.00 3.40 12.30 2000 \n", + "3 103.00 3.47 13.04 2000 \n", + "4 110.00 3.55 11.53 2000 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "combine_df.head()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "First=combine_df.Name.apply(lambda x: x.split(',')[1])\n", + "Last=combine_df.Name.apply(lambda x: x.split(',')[0])\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "column_headers" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "data_rows = soup.findAll('tr')[1:] # skip the first header row\n", + "type(data_rows) # now we have a list of table rows\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "player_data = [[td.getText() for td in data_rows[i].findAll('th')]\n", + " for i in range(len(data_rows))]\n", + "player_data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "df = pd.DataFrame(player_data, columns=column_headers)\n", + "df.head() # head() lets us see the 1st 5 rows of our DataFrame by default\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Finding the None rows\n", + "df[df['Pk'].isnull()]" + ] + }, + { + "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.11" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}

DcodaJ;UM6sKiAt`r{ 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 !i|iX~G&;D0uLlg&)2wgKHyQ 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 z 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 DlW&=z literal 0 HcmV?d00001 From e2e37de4373893d7803d4cc663a6617c03b7ec8a Mon Sep 17 00:00:00 2001 From: Denton Zhao Date: Wed, 16 Dec 2015 19:43:59 -0800 Subject: [PATCH 4/9] hw --- .../DAT19-HW1-Assignment-Copy1.ipynb | 429 ++++++++++++++++++ hw-assignments/DAT19-HW1-Assignment.ipynb | 361 +++++++++++++-- 2 files changed, 742 insertions(+), 48 deletions(-) create mode 100644 hw-assignments/DAT19-HW1-Assignment-Copy1.ipynb diff --git a/hw-assignments/DAT19-HW1-Assignment-Copy1.ipynb b/hw-assignments/DAT19-HW1-Assignment-Copy1.ipynb new file mode 100644 index 0000000..f75e60a --- /dev/null +++ b/hw-assignments/DAT19-HW1-Assignment-Copy1.ipynb @@ -0,0 +1,429 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# DAT 19: Homework 1 Assignment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Instructions\n", + "\n", + "In this assignment, we will explore the passenger list of the Titanic, as provided in a well-known [Kaggle](https://www.kaggle.com) competition. For this assignment, we are concerned only with initial exploration. Please answer the specific questions listed below.\n", + "\n", + "The dataset is a list of passengers. The second column of the dataset is the label for each person indicating whether that person survived (1) or did not survive (0). The data is described in more detail below.\n", + "\n", + "There is no need to download the data from Kaggle. We have provided the titanic.csv dataset for you in the same directory as this assignment.\n", + "\n", + "Please do all your analysis to answer the questions below in this Jupyter notebook. Show your work. Questions 10, 13, and 14 ask for your thoughts as a few sentences (regular prose, not code :-).\n", + "\n", + "**Please submit your completed notebook by 11:59PM on Thursday, December 17.**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## About the Data\n", + "\n", + "```\n", + "VARIABLE DESCRIPTIONS:\n", + "survival Survival\n", + " (0 = No; 1 = Yes)\n", + "pclass Passenger Class\n", + " (1 = 1st; 2 = 2nd; 3 = 3rd)\n", + "name Name\n", + "sex Sex\n", + "age Age\n", + "sibsp Number of Siblings/Spouses Aboard\n", + "parch Number of Parents/Children Aboard\n", + "ticket Ticket Number\n", + "fare Passenger Fare\n", + "cabin Cabin\n", + "embarked Port of Embarkation\n", + " (C = Cherbourg; Q = Queenstown; S = Southampton)\n", + "\n", + "SPECIAL NOTES:\n", + "Pclass is a proxy for socio-economic status (SES)\n", + " 1st ~ Upper; 2nd ~ Middle; 3rd ~ Lower\n", + "\n", + "Age is in Years; Fractional if Age less than One (1)\n", + " If the Age is Estimated, it is in the form xx.5\n", + "\n", + "With respect to the family relation variables (i.e. sibsp and parch)\n", + "some relations were ignored. The following are the definitions used\n", + "for sibsp and parch.\n", + "\n", + "Sibling: Brother, Sister, Stepbrother, or Stepsister of Passenger Aboard Titanic\n", + "Spouse: Husband or Wife of Passenger Aboard Titanic (Mistresses and Fiances Ignored)\n", + "Parent: Mother or Father of Passenger Aboard Titanic\n", + "Child: Son, Daughter, Stepson, or Stepdaughter of Passenger Aboard Titanic\n", + "\n", + "Other family relatives excluded from this study include cousins,\n", + "nephews/nieces, aunts/uncles, and in-laws. Some children travelled\n", + "only with a nanny, therefore parch=0 for them. As well, some\n", + "travelled with very close friends or neighbors in a village, however,\n", + "the definitions do not support such relations.\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Load Data\n", + "\n", + "Start by loading the Titanic data into a numpy array. The code to do this is included below to get you started." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# We'll use the csv module from the Python standard library to read each row of our input data file\n", + "# into a list that we then convert into a numpy array.\n", + "\n", + "import csv as csv\n", + "import numpy as np\n", + "\n", + "file_object = csv.reader(open('titanic.csv', 'rb'))\n", + "header = file_object.next() #First, let's strip off the header\n", + "\n", + "data = []\n", + "for row in file_object:\n", + " data.append(row)\n", + "\n", + "data = np.array(data) #Turn our Python list into a numpy array\n", + "\n", + "# Let's see what our data looks like. Notice what type the data appears to be inside the numpy array.\n", + "print type(data)\n", + "print data.shape\n", + "\n", + "print data[:10,:]\n", + "print '\\n' + '...'\n", + "print data[-1,:]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Homework Questions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**1) How many passengers are in our passenger list? For this assignment, we’ll assume our dataset represents the full passenger list for the Titanic.**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Your code here for num_passengers. Uncomment the line below to format your answer.\n", + "\n", + "#print 'There are ' + str(num_passengers) + ' passengers in our list.'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**2) What is the overall survival rate (as a percentage of total passengers in our list)?**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "#HINT: You may want to import another module here\n", + "\n", + "\n", + "#Your code here to calculate num_survived and survival_rate. \n", + "#Again, we've provided some code you can use to format your answer.\n", + "\n", + "\n", + "#print 'Of ' + str(num_passengers) + ' passengers, ' + str(num_survived) + ' survived.'\n", + "#print 'The survival rate is ' + str(survival_rate) + ' or '+ str(\"{0:.0f}%\".format(survival_rate * 100))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**3) How many male passengers were onboard?**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Your code here to calculate num_males\n", + "\n", + "\n", + "#print 'There were ' + str(num_males) + ' male passengers onboard.'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**4) How many female passengers were onboard?**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Your code here to calculate num_females\n", + "\n", + "\n", + "#print 'There were ' + str(num_females) + ' female passengers onboard.'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**5) What is the overall survival rate of male passengers?**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Your code here to calculate male_survival_rate\n", + "\n", + "\n", + "\n", + "#print 'The survival rate of male passengers was ' + str(\"{0:.2f}%\".format(male_survival_rate * 100))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**6) What is the overall survival rate of female passengers?**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Your code here to calculate female_survival_rate\n", + "\n", + "\n", + "#print 'The survival rate of female passengers was ' + str(\"{0:.2f}%\".format(female_survival_rate * 100))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**7) What is the average age of all passengers onboard?**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Your code here to calculate avg_age\n", + "# HINT: This may be trickier than it first seems. Look at the age values in the raw data file.\n", + "\n", + "\n", + "#print 'The average age of all passengers onboard was ' + str(\"{0:.2f}\".format(avg_age))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**8) What is the average age of passengers who survived?**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Your code here to calculate avg_age_survived\n", + "\n", + "\n", + "#print 'The average of age of passengers who survived was ' + str(\"{0:.2f}\".format(avg_age_survived))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**9) What is the average age of passengers who did not survive?**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Your code here to calculate avg_age_not_survive\n", + "\n", + "\n", + "#print 'The average of age of passengers who did not survive was ' + str(\"{0:.2f}\".format(avg_age_not_survive))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**10) At this (early) point in our analysis, what might you infer about any patterns you are seeing in who survived / did not survive?**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "_Your answer here as markdown_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**11) How many passengers are in each of the three classes of service (e.g. First, Second, Third?)**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Your code here\n", + "# You do not need to format the output nicely like we did for the questions above.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**12) What is the survival rate for passengers in each of the three classes of service?**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Your code here\n", + "# HINT: Averaging of the 1's and 0's in the \"Survived\" column will give a survival rate.\n", + "# We want the survival rate for each passenger class.\n", + "# You do not need to format the output nicely.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**13) How does what we learned in 11) and 12) influence our early conclusions from 10) ?**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "_Your answer here as markdown_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**14) If we were to build a predictive model, which features in the data do you think we should include in the model and which can we leave out? Why?**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "_Your answer here as markdown_" + ] + } + ], + "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.10" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/hw-assignments/DAT19-HW1-Assignment.ipynb b/hw-assignments/DAT19-HW1-Assignment.ipynb index f75e60a..c95e505 100644 --- a/hw-assignments/DAT19-HW1-Assignment.ipynb +++ b/hw-assignments/DAT19-HW1-Assignment.ipynb @@ -82,11 +82,43 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "(891, 12)\n", + "[['1' '0' '3' 'Braund, Mr. Owen Harris' 'male' '22' '1' '0' 'A/5 21171'\n", + " '7.25' '' 'S']\n", + " ['2' '1' '1' 'Cumings, Mrs. John Bradley (Florence Briggs Thayer)'\n", + " 'female' '38' '1' '0' 'PC 17599' '71.2833' 'C85' 'C']\n", + " ['3' '1' '3' 'Heikkinen, Miss. Laina' 'female' '26' '0' '0'\n", + " 'STON/O2. 3101282' '7.925' '' 'S']\n", + " ['4' '1' '1' 'Futrelle, Mrs. Jacques Heath (Lily May Peel)' 'female' '35'\n", + " '1' '0' '113803' '53.1' 'C123' 'S']\n", + " ['5' '0' '3' 'Allen, Mr. William Henry' 'male' '35' '0' '0' '373450'\n", + " '8.05' '' 'S']\n", + " ['6' '0' '3' 'Moran, Mr. James' 'male' '' '0' '0' '330877' '8.4583' '' 'Q']\n", + " ['7' '0' '1' 'McCarthy, Mr. Timothy J' 'male' '54' '0' '0' '17463'\n", + " '51.8625' 'E46' 'S']\n", + " ['8' '0' '3' 'Palsson, Master. Gosta Leonard' 'male' '2' '3' '1' '349909'\n", + " '21.075' '' 'S']\n", + " ['9' '1' '3' 'Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)' 'female'\n", + " '27' '0' '2' '347742' '11.1333' '' 'S']\n", + " ['10' '1' '2' 'Nasser, Mrs. Nicholas (Adele Achem)' 'female' '14' '1' '0'\n", + " '237736' '30.0708' '' 'C']]\n", + "\n", + "...\n", + "['891' '0' '3' 'Dooley, Mr. Patrick' 'male' '32' '0' '0' '370376' '7.75' ''\n", + " 'Q']\n" + ] + } + ], "source": [ "# We'll use the csv module from the Python standard library to read each row of our input data file\n", "# into a list that we then convert into a numpy array.\n", @@ -128,15 +160,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There are 891 passengers in our list.\n" + ] + } + ], "source": [ "# Your code here for num_passengers. Uncomment the line below to format your answer.\n", - "\n", - "#print 'There are ' + str(num_passengers) + ' passengers in our list.'" + "num_passengers = data.shape[0]\n", + "print 'There are ' + str(num_passengers) + ' passengers in our list.'" ] }, { @@ -148,21 +188,191 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 66, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "