From d2ed459128cffb414674986dc702f74378733256 Mon Sep 17 00:00:00 2001 From: Lance Rogers Date: Mon, 22 Jun 2015 14:52:53 -0400 Subject: [PATCH 1/5] Titanic --- .gitignore | 2 + ...ction to Machine Learning-checkpoint.ipynb | 504 ++++++++ ...itanic Survivors - Part 1-checkpoint.ipynb | 577 +++++++++ 01 - Introduction to Machine Learning.ipynb | 948 ++++++++++++++ ...redicting Titanic Survivors - Part 1.ipynb | 1100 +++++++++++++++++ 02a - Linear Regression.ipynb | 338 +++++ clinton - titanic.ipynb | 783 ++++++++++++ requirments.txt | 5 + titanic/bayes.csv | 419 +++++++ titanic/forest.csv | 419 +++++++ titanic/gender_age_set.csv | 419 +++++++ titanic/gender_set.csv | 419 +++++++ titanic/genderclassmodel.csv | 419 +++++++ titanic/gendermodel.csv | 419 +++++++ titanic/knc.csv | 419 +++++++ titanic/test.csv | 419 +++++++ titanic/train.csv | 892 +++++++++++++ titanic/tree.csv | 419 +++++++ titanic/tree.dot | 151 +++ titanic/tree.pdf | Bin 0 -> 25437 bytes 20 files changed, 9071 insertions(+) create mode 100644 .gitignore create mode 100644 .ipynb_checkpoints/01 - Introduction to Machine Learning-checkpoint.ipynb create mode 100644 .ipynb_checkpoints/02 - Predicting Titanic Survivors - Part 1-checkpoint.ipynb create mode 100644 01 - Introduction to Machine Learning.ipynb create mode 100644 02 - Predicting Titanic Survivors - Part 1.ipynb create mode 100644 02a - Linear Regression.ipynb create mode 100644 clinton - titanic.ipynb create mode 100644 requirments.txt create mode 100644 titanic/bayes.csv create mode 100644 titanic/forest.csv create mode 100644 titanic/gender_age_set.csv create mode 100644 titanic/gender_set.csv create mode 100644 titanic/genderclassmodel.csv create mode 100644 titanic/gendermodel.csv create mode 100644 titanic/knc.csv create mode 100644 titanic/test.csv create mode 100644 titanic/train.csv create mode 100644 titanic/tree.csv create mode 100644 titanic/tree.dot create mode 100644 titanic/tree.pdf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a84ff4b --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.envrc + diff --git a/.ipynb_checkpoints/01 - Introduction to Machine Learning-checkpoint.ipynb b/.ipynb_checkpoints/01 - Introduction to Machine Learning-checkpoint.ipynb new file mode 100644 index 0000000..8dccada --- /dev/null +++ b/.ipynb_checkpoints/01 - Introduction to Machine Learning-checkpoint.ipynb @@ -0,0 +1,504 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sbs" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Machine learning is a very large topic, and we're covering it for the one week, so this will be a survey." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## scikit-learn\n", + "\n", + "The Python package we will be using for most everything this week is `scikit-learn`.\n", + "\n", + "Download it: `pip install scikit-learn`.\n", + "\n", + "Learn about it: http://scikit-learn.org/" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## What is machine learning?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lots of definitions. A simple one: \"a field of study that gives computers the ability to learn without being explicitly programmed.\" (Arthur Samuel)\n", + "\n", + "Different types:\n", + "\n", + "* supervised learning: prediction/regression, classification\n", + "* unsupervised learning: clustering, organizing\n", + "\n", + "Machine learning \"involves observing a set of examples that represent incomplete information about some statistical phenomenon, and then attempting to infer something about the process that generated those examples.\" (John Gottag, _Introduction to Programming and Computation with Python_)\n", + "\n", + "(A large amount of what comes below comes from _Introduction to Programming and Computation with Python._)\n", + "\n", + "Machine learning is at its core about representation and generalization.\n", + "\n", + "* __representation__ is extracting structure from data\n", + "* __generalization__ is making predictions from data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Feature vectors" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "dog_breeds = {\"Alaskan Malamute\": {\"height\": 24, \"weight\": 80, \"energy\": 4},\n", + " \"Bichon Frise\": {\"height\": 10, \"weight\": 9.5, \"energy\": 4},\n", + " \"Irish Wolfhound\": {\"height\": 32, \"weight\": 120, \"energy\": 2},\n", + " \"Basset Hound\": {\"height\": 14, \"weight\": 50, \"energy\": 2}}\n", + "\n", + "set_a = {\"Alaskan Malamute\", \"Irish Wolfhound\"}\n", + "set_b = {\"Bichon Frise\", \"Basset Hound\"}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_How were the above separated?_\n", + "\n", + "The information being used here is called a _feature vector_. Each element of the vector describes some feature of the example. _What other feature vectors might we have here? Which ones are more useful than others?_\n", + "\n", + "In __supervised learning__, we have the labels we want to apply to our data and the feature vectors of our data, like we do above. Classification, a supervised learning technique, could take the data above and then given a new example, place it in the right set based on its height. This is used for many applications: detecting spam or fraud, labeling documents, recommending products.\n", + "\n", + "In __unsupervised learning__, we have our feature vectors, but no labels. Unsupervised learning looks for structure in our feature vectors that we do not yet know. Given the dog breeds above, unsupervised learning might break them into tall and short dogs, heavy and light dogs, or high and low energy dogs." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Figuring out our feature vectors" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The problem with much of our data is that there's too much of it. If you used every possible feature to organize your data, you would likely end up with just a giant mess. Using too many features can make a bad statistical model, and can also slow down the learning process.\n", + "\n", + "__Feature extraction__ is hard, but is necessary. Even in unsupervised learning, we need human input to decide what feature vectors to use." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create a `list` of `dict`s that contain the following features:\n", + " - _name (string)\n", + " - egg-laying (bool)\n", + " - scales (bool)\n", + " - poisonous (bool)\n", + " - cold-blooded (bool)\n", + " - num_legs (int)\n", + " \n", + "Create a `dataFrame` with this list.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_What features help determine if an animal is a reptile or not, based off this data?_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Measuring distance" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's say we want to use the above data to give us the similarity of two animals. We might ask, for example, if an alligator is more like a cobra or a dart frog.\n", + "\n", + "In order to do this, we can measure the similarity of the feature vectors, but the vectors must be made up of numbers first. Four of ours are booleans, so let's convert them.\n", + "\n", + "Iterate over the `df.columns` and set anything not `_name` to an `int`\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's create a feature vector for each animal.\n", + "\n", + "You can convert your `dataFrame` to a dictionary with:\n", + "\n", + "`df.T.to_dict()`\n", + "\n", + "Iterate over it's `.items()` and set the value in our animals dict to an `np.array` of the list of values.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we are going to use a formula called the __Euclidean distance.__ This is used to compare the distance between equal-length vectors of numbers.\n", + "\n", + "$$distance(V1, V2) = \\sqrt{\\sum\\limits_{i=1}^{len}(V1_i-V2_i)^{2}}$$\n", + "\n", + "Here's that in English:\n", + "\n", + "The distance between vector 1 and vector 2 is the square root of the sum of the difference between each of their features squared.\n", + "\n", + "This sounds really hard, but is much like something we've done before: the Pythagorean theorem. If you have two vectors with two elements each, you could see those as x/y coordinates.\n", + "\n", + "* V1 = [0, 0]\n", + "* V2 = [3, 4]\n", + "\n", + "Take the difference of each coordinate squared: $(3 - 0)^2 = 9; (4 - 0)^2 = 16$. \n", + "\n", + "Sum them: $9 + 16 = 25$.\n", + "\n", + "Now find the square root: $\\sqrt{25} = 5$.\n", + "\n", + "The Euclidean distance between these vectors is 5, the same as the hypotenuse of a right triangle using them as coordinates would be. The difference is that the Euclidean distance can be used with vectors of any length." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets write our own Euclidean distance function to help us out.\n", + "\n", + "Make sure it takes 2 vectors (lists of numbers) as parameters, calculates the squares of the vectors and stores as a new vector, and return the square root of the sum of the numbers in the squared vector.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "Create a function that dates a dictionary (of animals for example), and creates a new `dataFrame` that contains the animal as both columns and rows while each cell contains the Euclidean distance between each of the animals. Display `--` for instances of the animal when compared with itself.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets view the `dataFrame` returned when asked to compare the following animals:\n", + "\n", + " - Rattlesnake\n", + " - Boa Constrictor\n", + " - Dart frog\n", + " - Alligator\n", + " \n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Well, that looks wrong. _What might the problem be_?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "of course! The num_legs doesn't contain a `bool`, it contains the count of legs for the given animal. Lets replace `num_legs` to a boolean that represents if the animals has legs or not.\n", + "\n", + " - 0 if the animal has no legs\n", + " - 1 if the animals has 1 or more legs\n", + " \n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Again, we need to convert our dataframe to a dictionary containing the `key` of the animal name and the `value` of a vector of feature values. We've done this before but lets do it again for practice.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How does this change our Euclidean distance for each animal?\n", + "\n", + " - Rattlesnake\n", + " - Boa Constrictor\n", + " - Dart frog\n", + " - Alligator\n", + " \n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And for funzies lets check all animals against eachother.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References and Further Reading\n", + "\n", + "* [A Few Useful Things to Know about Machine Learning](http://www.astro.caltech.edu/~george/ay122/cacm12.pdf)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.4.3" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/.ipynb_checkpoints/02 - Predicting Titanic Survivors - Part 1-checkpoint.ipynb b/.ipynb_checkpoints/02 - Predicting Titanic Survivors - Part 1-checkpoint.ipynb new file mode 100644 index 0000000..21671d2 --- /dev/null +++ b/.ipynb_checkpoints/02 - Predicting Titanic Survivors - Part 1-checkpoint.ipynb @@ -0,0 +1,577 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sb" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Given what we've learned so far, let's tackle [this Kaggle competition](https://www.kaggle.com/c/titanic-gettingStarted)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "----\n", + "Read the `titanic/train.csv` and get some info on it." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What does our `dataFrame.head()` look like?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We've got many features here:\n", + "\n", + "* The passenger class (first, second, or third)\n", + "* The sex of the passenger\n", + "* The age of the passenger (some are missing -- we'll have to figure out what to do about that)\n", + "* The number of siblings and spouses the passenger had on board (SubSp)\n", + "* The number of parents and children the passenger had on board (Parch)\n", + "* The amount the passenger paid for their ticket\n", + "* Where the passenger embarked from\n", + "\n", + "The name and cabin are immaterial. The cabin might help, if we had a map of the ship and\n", + "there weren't so many null values for cabin.\n", + "\n", + "_Using your intuition, what feature vectors might be important?_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Finding patterns in the data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets make a horizontal bar chart based on the survival occurences given the sex of the passenger.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There's a marked difference in survival rates between men and women. Let's go ahead and enter the competition just using that as our metric." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We need to output a CSV with the following structure:\n", + "\n", + " - PassengerId\n", + " - Survived (as 1(Yes) or 0(No))\n", + " \n", + "Given our assumption, lets mark Females as 1 and Males as 0.\n", + "\n", + "Write this to a CSV and upload it to the kaggle competition.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Does age seem to matter?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What do our survival rates look like when we further aggregate our sex based on their \"Adult Status\" (>= 18 years old)?\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How about passenger class?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `dataFrame` contains a `Pclass` column denoting the passenger class.\n", + "\n", + " - 1: First Class\n", + " - 2: Second Class\n", + " - 3: Third Class\n", + " \n", + "Add the `Pclass` column to our pivot table and see how this affects our survival rates.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Passenger class definitely mattered. The survival rate for women in 3rd class is under 50%.\n", + "\n", + "What if we added in the price of the ticket? This will work best with discrete values, so we break it into tickets less than \\$10, tickets between \\$10 and \\$20, tickets between \\$20 and \\$30, and tickets over \\$30." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Recalculate our `TicketPrice` column to be less exact but contain price ranges. Include our new range in our pivot table and see how this further aggregation affects our result.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ok, this is now meaningful. The groups with survival rate > 50% are:\n", + "\n", + "* Women in 1st and 2nd class.\n", + "* Women in 3rd class that paid $20 or less." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So with our new mark a passenger as Survived or not based on the above criteria.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Cleaning data\n", + "\n", + "To do any better than this, we'll need to clean up our data. We'll need everything to be numerical so we can use them as real features.\n", + "\n", + "Let's turn all the strings we might use into numbers.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get the median age of passengers by sex and class, for filling in missing ages.\n", + "\n", + "Given 2 sexes and 3 classes each, calculate each median age for each category.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Calculate the median age for each sex/class permutation as well.\n", + "\n", + "Find each missing age and set it's age to the appropriate median age.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create a new column `AgeIsNull` and store an integer representing a Boolean as it's value.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Helper Functions - provided for brevity\n", + "\n", + "def calc_median_ages(df):\n", + " median_ages = np.zeros((2,3))\n", + " \n", + " # find median age for each combination of Gender and Pclass\n", + " \n", + " for i in range(0, 2):\n", + " for j in range(0, 3):\n", + " median_ages[i,j] = df[(df['Gender'] == i) & \\\n", + " (df['Pclass'] == j+1)]['Age'].dropna().median()\n", + " \n", + " return median_ages\n", + "\n", + "\n", + "def guess_ages(df, median_ages=None):\n", + " if median_ages is None:\n", + " median_ages = calc_median_ages(df)\n", + " \n", + " # Get each combination of Gender and Pclass that is null and set it's \n", + " # `Age` to the median age associated with it's Gender and Pclass\n", + " for i in range(0, 2):\n", + " for j in range(0, 3):\n", + " df.loc[(df.Age.isnull()) & (df.Gender == i) & (df.Pclass == j+1),\\\n", + " 'Age'] = median_ages[i,j]\n", + " \n", + " df['GuessedAge'] = pd.isnull(df.Age).astype(int)\n", + " return df\n", + "\n", + "def clean(df, median_ages=None):\n", + " df['Gender'] = df['Sex'].map( {'female': 0, 'male': 1} ).astype(int)\n", + " df = guess_ages(df, median_ages)\n", + " df = df.drop(['Ticket', 'Cabin', 'Sex'], axis=1)\n", + " \n", + " return df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Read in the CSV again, clean the `dataFrame` and see the `.info()` on it." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We might want to get the port the passenger embarked from as a number. Do this as an exercise.\n", + "\n", + "We also might want to use regular expressions on the names to look for titles like \"Dr\" and \"Rev\".\n", + "\n", + "We may want to add new features, like total family size." + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 418 entries, 0 to 417\n", + "Data columns (total 11 columns):\n", + "PassengerId 418 non-null int64\n", + "Pclass 418 non-null int64\n", + "Name 418 non-null object\n", + "Sex 418 non-null object\n", + "Age 332 non-null float64\n", + "SibSp 418 non-null int64\n", + "Parch 418 non-null int64\n", + "Ticket 418 non-null object\n", + "Fare 417 non-null float64\n", + "Cabin 91 non-null object\n", + "Embarked 418 non-null object\n", + "dtypes: float64(2), int64(4), object(5)\n", + "memory usage: 39.2+ KB\n" + ] + } + ], + "source": [ + "median_ages = calc_median_ages(train)\n", + "test = pd.read_csv(\"titanic/test.csv\")\n", + "test.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 418 entries, 0 to 417\n", + "Data columns (total 10 columns):\n", + "PassengerId 418 non-null int64\n", + "Pclass 418 non-null int64\n", + "Name 418 non-null object\n", + "Age 418 non-null float64\n", + "SibSp 418 non-null int64\n", + "Parch 418 non-null int64\n", + "Fare 417 non-null float64\n", + "Embarked 418 non-null object\n", + "Gender 418 non-null int64\n", + "GuessedAge 418 non-null int64\n", + "dtypes: float64(2), int64(6), object(2)\n", + "memory usage: 35.9+ KB\n" + ] + } + ], + "source": [ + "test = clean(test, median_ages)\n", + "test.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.4.3" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/01 - Introduction to Machine Learning.ipynb b/01 - Introduction to Machine Learning.ipynb new file mode 100644 index 0000000..0fa93ae --- /dev/null +++ b/01 - Introduction to Machine Learning.ipynb @@ -0,0 +1,948 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sbs\n", + "import math" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Machine learning is a very large topic, and we're covering it for the one week, so this will be a survey." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## scikit-learn\n", + "\n", + "The Python package we will be using for most everything this week is `scikit-learn`.\n", + "\n", + "Download it: `pip install scikit-learn`.\n", + "\n", + "Learn about it: http://scikit-learn.org/" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## What is machine learning?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lots of definitions. A simple one: \"a field of study that gives computers the ability to learn without being explicitly programmed.\" (Arthur Samuel)\n", + "\n", + "Different types:\n", + "\n", + "* supervised learning: prediction/regression, classification\n", + "* unsupervised learning: clustering, organizing\n", + "\n", + "Machine learning \"involves observing a set of examples that represent incomplete information about some statistical phenomenon, and then attempting to infer something about the process that generated those examples.\" (John Gottag, _Introduction to Programming and Computation with Python_)\n", + "\n", + "(A large amount of what comes below comes from _Introduction to Programming and Computation with Python._)\n", + "\n", + "Machine learning is at its core about representation and generalization.\n", + "\n", + "* __representation__ is extracting structure from data\n", + "* __generalization__ is making predictions from data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Feature vectors" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "dog_breeds = {\"Alaskan Malamute\": {\"height\": 24, \"weight\": 80, \"energy\": 4},\n", + " \"Bichon Frise\": {\"height\": 10, \"weight\": 9.5, \"energy\": 4},\n", + " \"Irish Wolfhound\": {\"height\": 32, \"weight\": 120, \"energy\": 2},\n", + " \"Basset Hound\": {\"height\": 14, \"weight\": 50, \"energy\": 2}}\n", + "\n", + "set_a = {\"Alaskan Malamute\", \"Irish Wolfhound\"}\n", + "set_b = {\"Bichon Frise\", \"Basset Hound\"}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_How were the above separated?_\n", + "\n", + "The information being used here is called a _feature vector_. Each element of the vector describes some feature of the example. _What other feature vectors might we have here? Which ones are more useful than others?_\n", + "\n", + "In __supervised learning__, we have the labels we want to apply to our data and the feature vectors of our data, like we do above. Classification, a supervised learning technique, could take the data above and then given a new example, place it in the right set based on its height. This is used for many applications: detecting spam or fraud, labeling documents, recommending products.\n", + "\n", + "In __unsupervised learning__, we have our feature vectors, but no labels. Unsupervised learning looks for structure in our feature vectors that we do not yet know. Given the dog breeds above, unsupervised learning might break them into tall and short dogs, heavy and light dogs, or high and low energy dogs." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Figuring out our feature vectors" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The problem with much of our data is that there's too much of it. If you used every possible feature to organize your data, you would likely end up with just a giant mess. Using too many features can make a bad statistical model, and can also slow down the learning process.\n", + "\n", + "__Feature extraction__ is hard, but is necessary. Even in unsupervised learning, we need human input to decide what feature vectors to use." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create a `list` of `dict`s that contain the following features:\n", + " - _name (string)\n", + " - egg-laying (bool)\n", + " - scales (bool)\n", + " - poisonous (bool)\n", + " - cold-blooded (bool)\n", + " - num_legs (int)\n", + " \n", + "Create a `dataFrame` with this list.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "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", + "
_namecold_bloodedegg_layingnum_legspoisonousscale
0AlligatorTrueTrue4FalseTrue
1Boa ConstrictorTrueTrue0FalseTrue
2NewtTrueTrue4TrueFalse
3PythonTrueTrue0FalseTrue
4King CobraTrueTrue0TrueTrue
\n", + "
" + ], + "text/plain": [ + " _name cold_blooded egg_laying num_legs poisonous scale\n", + "0 Alligator True True 4 False True\n", + "1 Boa Constrictor True True 0 False True\n", + "2 Newt True True 4 True False\n", + "3 Python True True 0 False True\n", + "4 King Cobra True True 0 True True" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = [\n", + " {\"_name\": \"Alligator\", \"egg_laying\": True, \"scale\": True, \"poisonous\": False, \"cold_blooded\": True, \"num_legs\": 4}, \n", + " {\"_name\": \"Boa Constrictor\", \"egg_laying\": True, \"scale\": True, \"poisonous\": False, \"cold_blooded\": True, \"num_legs\": 0}, \n", + " {\"_name\": \"Newt\", \"egg_laying\": True, \"scale\": False, \"poisonous\": True, \"cold_blooded\": True, \"num_legs\": 4}, \n", + " {\"_name\": \"Python\", \"egg_laying\": True, \"scale\": True, \"poisonous\": False, \"cold_blooded\": True, \"num_legs\": 0}, \n", + " {\"_name\": \"King Cobra\", \"egg_laying\": True, \"scale\": True, \"poisonous\": True, \"cold_blooded\": True, \"num_legs\": 0}, \n", + "]\n", + "\n", + "original_df = pd.DataFrame(data)\n", + "original_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_What features help determine if an animal is a reptile or not, based off this data?_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Measuring distance" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's say we want to use the above data to give us the similarity of two animals. We might ask, for example, if an alligator is more like a cobra or a dart frog.\n", + "\n", + "In order to do this, we can measure the similarity of the feature vectors, but the vectors must be made up of numbers first. Four of ours are booleans, so let's convert them.\n", + "\n", + "Iterate over the `df.columns` and set anything not `_name` to an `int`\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "for column in original_df.columns:\n", + " if column != \"_name\":\n", + " #df[column] = \n", + " original_df[column] = original_df[column].astype(np.int)" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "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", + "
_namecold_bloodedegg_layingnum_legspoisonousscale
0Alligator11401
1Boa Constrictor11001
2Newt11410
3Python11001
4King Cobra11011
\n", + "
" + ], + "text/plain": [ + " _name cold_blooded egg_laying num_legs poisonous scale\n", + "0 Alligator 1 1 4 0 1\n", + "1 Boa Constrictor 1 1 0 0 1\n", + "2 Newt 1 1 4 1 0\n", + "3 Python 1 1 0 0 1\n", + "4 King Cobra 1 1 0 1 1" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "original_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's create a feature vector for each animal.\n", + "\n", + "You can convert your `dataFrame` to a dictionary with:\n", + "\n", + "`df.T.to_dict()`\n", + "\n", + "Iterate over it's `.items()` and set the value in our animals dict to an `np.array` of the list of values.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "animal_dict = original_df.T.to_dict()\n", + "new_animal_list = {}\n", + "\n", + "for key, features in animal_dict.items():\n", + " animal_name = features.pop('_name')\n", + " new_animal_list[animal_name] = np.array(list(features.values()))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Alligator': array([0, 1, 1, 4, 1]),\n", + " 'Boa Constrictor': array([0, 1, 1, 0, 1]),\n", + " 'King Cobra': array([1, 1, 1, 0, 1]),\n", + " 'Newt': array([1, 1, 1, 4, 0]),\n", + " 'Python': array([0, 1, 1, 0, 1])}" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "new_animal_list" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, we are going to use a formula called the __Euclidean distance.__ This is used to compare the distance between equal-length vectors of numbers.\n", + "\n", + "$$distance(V1, V2) = \\sqrt{\\sum\\limits_{i=1}^{len}(V1_i-V2_i)^{2}}$$\n", + "\n", + "Here's that in English:\n", + "\n", + "The distance between vector 1 and vector 2 is the square root of the sum of the difference between each of their features squared.\n", + "\n", + "This sounds really hard, but is much like something we've done before: the Pythagorean theorem. If you have two vectors with two elements each, you could see those as x/y coordinates.\n", + "\n", + "* V1 = [0, 0]\n", + "* V2 = [3, 4]\n", + "\n", + "Take the difference of each coordinate squared: $(3 - 0)^2 = 9; (4 - 0)^2 = 16$. \n", + "\n", + "Sum them: $9 + 16 = 25$.\n", + "\n", + "Now find the square root: $\\sqrt{25} = 5$.\n", + "\n", + "The Euclidean distance between these vectors is 5, the same as the hypotenuse of a right triangle using them as coordinates would be. The difference is that the Euclidean distance can be used with vectors of any length." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets write our own Euclidean distance function to help us out.\n", + "\n", + "Make sure it takes 2 vectors (lists of numbers) as parameters, calculates the squares of the vectors and stores as a new vector, and return the square root of the sum of the numbers in the squared vector.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "15.362291495737216\n" + ] + } + ], + "source": [ + "def euclidean_distance(v1, v2):\n", + " squares = (v1 - v2) ** 2\n", + " return math.sqrt(squares.sum())\n", + "\n", + "print(euclidean_distance(np.array([1, 6, 8, 0]), np.array([7, 0, 0, 10])))\n", + " \n", + "assert euclidean_distance(np.array([0, 0]), np.array([3, 4])) == 5" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "Create a function that creates a dictionary (of animals for example), and creates a new `dataFrame` that contains the animal as both columns and rows while each cell contains the Euclidean distance between each of the animals. Display `--` for instances of the animal when compared with itself.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "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", + "
AlligatorBoa ConstrictorNewtPython
Alligator---41.4142144
Boa Constrictor4---4.2426410
Newt1.4142144.242641---4.242641
Python404.242641---
\n", + "
" + ], + "text/plain": [ + " Alligator Boa Constrictor Newt Python\n", + "Alligator --- 4 1.414214 4\n", + "Boa Constrictor 4 --- 4.242641 0\n", + "Newt 1.414214 4.242641 --- 4.242641\n", + "Python 4 0 4.242641 ---" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "search_animals = [\"Alligator\", \"Boa Constrictor\", \"Newt\", \"Python\"]\n", + "def create_distance_table(search_animals, new_animal_list):\n", + " data_frame_list = []\n", + " for column_animal in search_animals:\n", + " animal_dict_ = {}\n", + " distance_list = []\n", + " for row_animal in search_animals:\n", + " if row_animal == column_animal:\n", + " distance_list.append(\"---\")\n", + " animal_dict_[row_animal] = \"---\"\n", + " else:\n", + " distance = euclidean_distance(new_animal_list[column_animal], new_animal_list[row_animal])\n", + " distance_list.append(distance)\n", + " animal_dict_[row_animal] = distance\n", + "\n", + " data_frame_list.append(animal_dict_)\n", + " return data_frame_list\n", + "\n", + "df = pd.DataFrame(create_distance_table([\"Alligator\", \"Boa Constrictor\", \"Newt\", \"Python\"], new_animal_list))\n", + "df.index = search_animals\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets view the `dataFrame` returned when asked to compare the following animals:\n", + "\n", + " - Rattlesnake\n", + " - Boa Constrictor\n", + " - Dart frog\n", + " - Alligator\n", + " \n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Well, that looks wrong. _What might the problem be_?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "of course! The num_legs doesn't contain a `bool`, it contains the count of legs for the given animal. Lets replace `num_legs` to a boolean that represents if the animals has legs or not.\n", + "\n", + " - 0 if the animal has no legs\n", + " - 1 if the animals has 1 or more legs\n", + " \n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets look at the animal list again." + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Alligator': array([0, 1, 1, 4, 1]),\n", + " 'Boa Constrictor': array([0, 1, 1, 0, 1]),\n", + " 'King Cobra': array([1, 1, 1, 0, 1]),\n", + " 'Newt': array([1, 1, 1, 4, 0]),\n", + " 'Python': array([0, 1, 1, 0, 1])}" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "new_animal_list" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "original_df['num_legs'] = original_df['num_legs'].astype(bool).astype(np.int)" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "animal_dict = original_df.T.to_dict()\n", + "new_animal_list = {}\n", + "\n", + "for key, features in animal_dict.items():\n", + " animal_name = features.pop('_name')\n", + " new_animal_list[animal_name] = np.array(list(features.values()))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "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", + "
AlligatorBoa ConstrictorNewtPython
Alligator---11.4142141
Boa Constrictor1---1.7320510
Newt1.4142141.732051---1.732051
Python101.732051---
\n", + "
" + ], + "text/plain": [ + " Alligator Boa Constrictor Newt Python\n", + "Alligator --- 1 1.414214 1\n", + "Boa Constrictor 1 --- 1.732051 0\n", + "Newt 1.414214 1.732051 --- 1.732051\n", + "Python 1 0 1.732051 ---" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cleaned_df = pd.DataFrame(create_distance_table([\"Alligator\", \"Boa Constrictor\", \"Newt\", \"Python\"], new_animal_list))\n", + "cleaned_df.index = search_animals\n", + "cleaned_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Again, we need to convert our dataframe to a dictionary containing the `key` of the animal name and the `value` of a vector of feature values. We've done this before but lets do it again for practice.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How does this change our Euclidean distance for each animal?\n", + "\n", + " - Rattlesnake\n", + " - Boa Constrictor\n", + " - Dart frog\n", + " - Alligator\n", + " \n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And for funzies lets check all animals against eachother.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# References and Further Reading\n", + "\n", + "* [A Few Useful Things to Know about Machine Learning](http://www.astro.caltech.edu/~george/ay122/cacm12.pdf)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.4.3" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/02 - Predicting Titanic Survivors - Part 1.ipynb b/02 - Predicting Titanic Survivors - Part 1.ipynb new file mode 100644 index 0000000..50e273b --- /dev/null +++ b/02 - Predicting Titanic Survivors - Part 1.ipynb @@ -0,0 +1,1100 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sb" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Given what we've learned so far, let's tackle [this Kaggle competition](https://www.kaggle.com/c/titanic-gettingStarted)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "----\n", + "Read the `titanic/train.csv` and get some info on it." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 891 entries, 0 to 890\n", + "Data columns (total 12 columns):\n", + "PassengerId 891 non-null int64\n", + "Survived 891 non-null int64\n", + "Pclass 891 non-null int64\n", + "Name 891 non-null object\n", + "Sex 891 non-null object\n", + "Age 714 non-null float64\n", + "SibSp 891 non-null int64\n", + "Parch 891 non-null int64\n", + "Ticket 891 non-null object\n", + "Fare 891 non-null float64\n", + "Cabin 204 non-null object\n", + "Embarked 889 non-null object\n", + "dtypes: float64(2), int64(5), object(5)\n", + "memory usage: 90.5+ KB\n" + ] + } + ], + "source": [ + "train = pd.read_csv(\"titanic/train.csv\")\n", + "train.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What does our `dataFrame.head()` look like?" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \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
\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", + "\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", + "\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 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We've got many features here:\n", + "\n", + "* The passenger class (first, second, or third)\n", + "* The sex of the passenger\n", + "* The age of the passenger (some are missing -- we'll have to figure out what to do about that)\n", + "* The number of siblings and spouses the passenger had on board (SubSp)\n", + "* The number of parents and children the passenger had on board (Parch)\n", + "* The amount the passenger paid for their ticket\n", + "* Where the passenger embarked from\n", + "\n", + "The name and cabin are immaterial. The cabin might help, if we had a map of the ship and\n", + "there weren't so many null values for cabin.\n", + "\n", + "_Using your intuition, what feature vectors might be important?_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Finding patterns in the data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets make a horizontal bar chart based on the survival occurences given the sex of the passenger.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Survived
Sex
female0.742038
male0.188908
\n", + "
" + ], + "text/plain": [ + " Survived\n", + "Sex \n", + "female 0.742038\n", + "male 0.188908" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAAD9CAYAAABwfjqFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEItJREFUeJzt3XuQZHV5xvHvwAKyXMb1AsG1AKPyKqiJBkEF1AWtSkQS\nEExKo4hrBBeiBrRQ19LVSrwlKkEiKDc1Xqu0NqGMGkpw0YhGxSiI4juaSKIYs4pmuKy6C3vyx+nB\nYdnpniVv95me+X6qpqYvZ04/c85MP/07v75MNE2DJEmVduo6gCRp8bFcJEnlLBdJUjnLRZJUznKR\nJJWzXCRJ5ZZauVzfdYB5MmedccgI5qxmzo5NLLHXuTTARNch5sGcdcYhI5izmjk7ttRGLpKkEbBc\nJEnlLBdJUjnLRZJUznKRJJWzXCRJ5ZZ1HUCSRm1iYmJX4MDi1d7YNM3m4nWOLctF0lJ04GHPWpfL\nJ/cpWdmm6Y18df0bA5jqt1xEvBo4BtgF2Lp+/XoOOeSQe3WbEXEO8M7M/OG9/Pm/Az6emZ+/VwEG\nsFwkLUnLJ/dhzxUrR3Z7EXEwcFxmHtE7/ztr16795mWXXXav1peZZ/4/Iw31FfSWiySNxjSwf0Ss\nBi7PzGs3b95MRFwFnJqZUxHxEmBf4P3APwE/Az4NvDAzD4a7RhxXAC8HXgJ8CDgpM/8zIk4CjgRe\nD1wK3K932y/LzOt76z8V2AjsAXxiWL+sE/qSNAKZeRPwh8ARwJci4oYNGzbA3UcQs0/vCzw9M/8G\nuC4ijoqI3YCnAp+ctdwlwMm906cAFwKvBa7IzKOB04ALIuKBwF8AhwPP6N3W0EYvloskjUBEPBSY\nzswXZeYBwPPWrVsHvxldwN3vk3+QmXf0Tl8EvIC2nC7LzDt7lzfAR4CTImI/YO/M/A7waGB1RGyg\nLZsVwMOAGzJzS2ZuBa5miO9rZrlI0mg8Bnh3ROzSO/+9yclJaA99Pah32eNmLb915kRmXgk8FlgN\nXDx7pZl5C/B14G9pD4UB3ACck5mrgOcBHwC+BxwSEbtHxARwGEMcuTjnImlJ2jS9caTrysx/iIhH\nAl+LiNuAnc4++2xOP/30twPnR8R/ATfxmzv8be/4PwEck5k/2M7qLwI+Q3tYDOBNwCURcSqwN7Au\nM38WEX8FfBH4ObBlR37HHeVb7i9M5qwzDhnBnNX65lxAr3MZl+25wyyXhcmcdcYhI5izmjk75pyL\nJKmc5SJJKme5SJLKWS6SpHKWiySpnOUiSSpnuUiSylkukqRyloskqdySem+xqakpIuKgrnMMkpkL\nMacf4Spp3pbU278cfuIbmqqPNV1KZj7CtWmabT/CdRzeumIcMoI5q5mzY0tq5DLqjzWVpKXKORdJ\nUjnLRZJUznKRJJWzXCRJ5SwXSVI5y0WSVM5ykSSVs1wkSeUsF0lSOctFklTOcpEklbNcJEnlLBdJ\nUjnLRZJUznKRJJWzXCRJ5SwXSVI5y0WSVM5ykSSVs1wkSeUsF0lSOctFklRu7MolIk6JiLd0nUOS\nNLexKxeg6TqAJKm/ZV3eeEScAhwH3AfYDzgX+CPgUcArgf2BE4A9gJ/1Tk/M+vmXAs+hLZyPZeZ5\nI4wvSZrDQhi57JGZxwJvA9Zk5rOAU4EXASuAp2XmE2iL8PH0Ri4RcTDwx8ARwJOB4yPioA7yLwmZ\nmbTbfvYX27lsoX2NQ0ZzmnOhf+2wTkcutKG/2Ts9DdzQO/2/wK7AFuCjEXEb8GBgl1k/ewhwAPC5\n3vn7Ag8DpoaceUmKiGiaZttt2zBrJLlAjUNGMGc1c3as63KBuVtxN+D4zHxCRCwHruHuOyGBb2fm\nHwBExFnAdUNNKkmal4VULtsOE7cAt0XEF2jnW/4NeNDM9Zl5XURcGRFfpJ2z+Vfgx6OLLUmay0TT\n3KvDaWNp1erzmz1XrOw6xti57Rc3cdX7zvCw2HCZs5Y5O7YQJvQlSYuM5SJJKme5SJLKWS6SpHKW\niySpnOUiSSpnuUiSylkukqRyloskqZzlIkkqZ7lIkspZLpKkcpaLJKmc5SJJKme5SJLKWS6SpHKW\niySpnOUiSSpnuUiSylkukqRyloskqZzlIkkqt6zrAKO0aXpj1xHGkttN0o6aaJqm6wwjMzU11URE\ndJ1jkMzMBZjzxqZpNm9zWQNMdBFmB4xDRjBnNXN2bEmVC+OzI81ZZxwygjmrmbNjzrlIkspZLpKk\ncpaLJKmc5SJJKme5SJLKWS6SpHKWiySpnOUiSSpnuUiSylkukqRyloskqZzlIkkqZ7lIkspZLpKk\ncpaLJKmc5SJJKme5SJLKWS6SpHKWiySp3MByiYiXbHN+eUS8e3iRJEnjbtk8ljkhIo4DVgMBXAxc\nPtRUkqSxNtE0zcCFIuIM4E3A7cDxmfm1YQcbkgaY6DrEPJizzjhkBHNWM2fHBpZLRBwNnA9soB25\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sex_survivor_table = pd.pivot_table(train, index=[\"Sex\"], values=[\"Survived\"])\n", + "sex_survivor_table.plot(kind=\"barh\")\n", + "sex_survivor_table\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There's a marked difference in survival rates between men and women. Let's go ahead and enter the competition just using that as our metric." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We need to output a CSV with the following structure:\n", + "\n", + " - PassengerId\n", + " - Survived (as 1(Yes) or 0(No))\n", + " \n", + "Given our assumption, lets mark Females as 1 and Males as 0.\n", + "\n", + "Read in `titanic/test.csv` - otherwise your life will suck.\n", + "\n", + "Write this to a CSV and upload it to the kaggle competition.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "test = pd.read_csv(\"titanic/test.csv\")\n", + "test['Survived'] = 0\n", + "test.loc[test[\"Sex\"] == \"female\", \"Survived\"] = 1\n", + "test = test[[\"PassengerId\", \"Survived\"]]\n", + "test.to_csv(\"titanic/gender_set.csv\", index=False)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Does age seem to matter?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What do our survival rates look like when we further aggregate our sex based on their \"Adult Status\" (>= 18 years old)?\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "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", + "
Survived
SexAgeRange
femaleadult0.771845
child0.690909
unknown0.679245
maleadult0.177215
child0.396552
unknown0.129032
\n", + "
" + ], + "text/plain": [ + " Survived\n", + "Sex AgeRange \n", + "female adult 0.771845\n", + " child 0.690909\n", + " unknown 0.679245\n", + "male adult 0.177215\n", + " child 0.396552\n", + " unknown 0.129032" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\ngg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def create_age_range(age):\n", + " if str(age) == \"nan\":\n", + " return \"unknown\"\n", + " elif age >= 18: \n", + " return \"adult\" \n", + " else:\n", + " return \"child\"\n", + " \n", + "train[\"AgeRange\"] = train[\"Age\"].map(create_age_range)\n", + "\n", + "\n", + "age_sex_survivor_table = pd.pivot_table(train, index=[\"Sex\", \"AgeRange\"], values=[\"Survived\"])\n", + "age_sex_survivor_table.plot(kind=\"barh\")\n", + "age_sex_survivor_table\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How about passenger class?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `dataFrame` contains a `Pclass` column denoting the passenger class.\n", + "\n", + " - 1: First Class\n", + " - 2: Second Class\n", + " - 3: Third Class\n", + " \n", + "Add the `Pclass` column to our pivot table and see how this affects our survival rates.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "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", + "
Survived
SexAgeRangePclass
femaleadult10.974026
20.903226
30.417910
child10.941176
21.000000
30.571429
maleadult10.371134
20.068182
30.133333
child10.360000
20.550000
30.138686
\n", + "
" + ], + "text/plain": [ + " Survived\n", + "Sex AgeRange Pclass \n", + "female adult 1 0.974026\n", + " 2 0.903226\n", + " 3 0.417910\n", + " child 1 0.941176\n", + " 2 1.000000\n", + " 3 0.571429\n", + "male adult 1 0.371134\n", + " 2 0.068182\n", + " 3 0.133333\n", + " child 1 0.360000\n", + " 2 0.550000\n", + " 3 0.138686" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pclass_survivor_table = pd.pivot_table(train, index=[\"Sex\", \"AgeRange\", \"Pclass\"], values=[\"Survived\"])\n", + "pclass_survivor_table.plot(kind=\"barh\")\n", + "pclass_survivor_table" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Passenger class definitely mattered. The survival rate for women in 3rd class is under 50%.\n", + "\n", + "What if we added in the price of the ticket? This will work best with discrete values, so we break it into tickets less than \\$10, tickets between \\$10 and \\$20, tickets between \\$20 and \\$30, and tickets over \\$30." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Recalculate our `TicketPrice` column to be less exact but contain price ranges. Include our new range in our pivot table and see how this further aggregation affects our result.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "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", + "
Survived
SexAgeRangePclassTicketPrice
femaleadult1$20-300.833333
> $300.985915
2$10-200.903226
$20-300.880000
> $301.000000
\n", + "
" + ], + "text/plain": [ + " Survived\n", + "Sex AgeRange Pclass TicketPrice \n", + "female adult 1 $20-30 0.833333\n", + " > $30 0.985915\n", + " 2 $10-20 0.903226\n", + " $20-30 0.880000\n", + " > $30 1.000000" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nIYRQ8P8BNoV9Qca7QD8AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def ticket_price(fare):\n", + " if fare < 10:\n", + " return \"< $10\"\n", + " elif fare < 20:\n", + " return \"$10-20\"\n", + " elif fare < 30:\n", + " return \"$20-30\"\n", + " else:\n", + " return \"> $30\"\n", + " \n", + "train[\"TicketPrice\"] = train[\"Fare\"].apply(ticket_price)\n", + "price_survivor_table = pd.pivot_table(train, index=[\"Sex\", \"AgeRange\", \"Pclass\", \"TicketPrice\"], values=[\"Survived\"])\n", + "price_survivor_table.plot(kind=\"barh\", figsize=(10, 10))\n", + "plt.axvline(x=0.5, linewidth=2, color='r')\n", + "price_survivor_table.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ok, this is now meaningful. The groups with survival rate > 50% are:\n", + "\n", + "* Women in 1st and 2nd class.\n", + "* Women in 3rd class that paid $20 or less." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So with our new mark a passenger as Survived or not based on the above criteria.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "test = pd.read_csv(\"titanic/test.csv\")\n", + "test['Survived'] = 0\n", + "\n", + "test.loc[(test[\"Sex\"] == \"female\"), \"Survived\"] = 1\n", + "test.loc[(test[\"Sex\"] == \"female\") & (test[\"Fare\"] > 20) & (test[\"Pclass\"] == 3), \"Survived\"] = 0\n", + "test = test[[\"PassengerId\", \"Survived\"]]\n", + "test.to_csv(\"titanic/gender_age_set.csv\", index=False)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Cleaning data\n", + "\n", + "To do any better than this, we'll need to clean up our data. We'll need everything to be numerical so we can use them as real features.\n", + "\n", + "Let's turn all the strings we might use into numbers.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Get the median age of passengers by sex and class, for filling in missing ages.\n", + "\n", + "Given 2 sexes and 3 classes each, calculate each median age for each category.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Calculate the median age for each sex/class permutation as well.\n", + "\n", + "Find each missing age and set it's age to the appropriate median age.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create a new column `AgeIsNull` and store an integer representing a Boolean as it's value.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Helper Functions - provided for brevity\n", + "\n", + "def calc_median_ages(df):\n", + " median_ages = np.zeros((2,3))\n", + " \n", + " # find median age for each combination of Gender and Pclass\n", + " \n", + " for i in range(0, 2):\n", + " for j in range(0, 3):\n", + " median_ages[i,j] = df[(df['Gender'] == i) & \\\n", + " (df['Pclass'] == j+1)]['Age'].dropna().median()\n", + " \n", + " return median_ages\n", + "\n", + "\n", + "def guess_ages(df, median_ages=None):\n", + " if median_ages is None:\n", + " median_ages = calc_median_ages(df)\n", + " \n", + " # Get each combination of Gender and Pclass that is null and set it's \n", + " # `Age` to the median age associated with it's Gender and Pclass\n", + " for i in range(0, 2):\n", + " for j in range(0, 3):\n", + " df.loc[(df.Age.isnull()) & (df.Gender == i) & (df.Pclass == j+1),\\\n", + " 'Age'] = median_ages[i,j]\n", + " \n", + " df['GuessedAge'] = pd.isnull(df.Age).astype(int)\n", + " return df\n", + "\n", + "def clean(df, median_ages=None):\n", + " df['Gender'] = df['Sex'].map( {'female': 0, 'male': 1} ).astype(int)\n", + " df = guess_ages(df, median_ages)\n", + " df = df.drop(['Ticket', 'Cabin', 'Sex'], axis=1)\n", + " \n", + " return df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Read in the CSV again, clean the `dataFrame` and see the `.info()` on it." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We might want to get the port the passenger embarked from as a number. Do this as an exercise.\n", + "\n", + "We also might want to use regular expressions on the names to look for titles like \"Dr\" and \"Rev\".\n", + "\n", + "We may want to add new features, like total family size." + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 418 entries, 0 to 417\n", + "Data columns (total 11 columns):\n", + "PassengerId 418 non-null int64\n", + "Pclass 418 non-null int64\n", + "Name 418 non-null object\n", + "Sex 418 non-null object\n", + "Age 332 non-null float64\n", + "SibSp 418 non-null int64\n", + "Parch 418 non-null int64\n", + "Ticket 418 non-null object\n", + "Fare 417 non-null float64\n", + "Cabin 91 non-null object\n", + "Embarked 418 non-null object\n", + "dtypes: float64(2), int64(4), object(5)\n", + "memory usage: 39.2+ KB\n" + ] + } + ], + "source": [ + "median_ages = calc_median_ages(train)\n", + "test = pd.read_csv(\"titanic/test.csv\")\n", + "test.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 418 entries, 0 to 417\n", + "Data columns (total 10 columns):\n", + "PassengerId 418 non-null int64\n", + "Pclass 418 non-null int64\n", + "Name 418 non-null object\n", + "Age 418 non-null float64\n", + "SibSp 418 non-null int64\n", + "Parch 418 non-null int64\n", + "Fare 417 non-null float64\n", + "Embarked 418 non-null object\n", + "Gender 418 non-null int64\n", + "GuessedAge 418 non-null int64\n", + "dtypes: float64(2), int64(6), object(2)\n", + "memory usage: 35.9+ KB\n" + ] + } + ], + "source": [ + "test = clean(test, median_ages)\n", + "test.info()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.4.3" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/02a - Linear Regression.ipynb b/02a - Linear Regression.ipynb new file mode 100644 index 0000000..675e8b1 --- /dev/null +++ b/02a - Linear Regression.ipynb @@ -0,0 +1,338 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import seaborn as sns\n", + "from sklearn import linear_model\n", + "sns.set_style(\"whitegrid\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before we get started on learning about Linear Regression let's load in our ATUS data so we've got a starting point." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "summary = pd.read_csv(\"atussum_2013.dat\")\n", + "summary.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here is a handy function to give us back a `dataFrame` containing ages with mean minutes for any given category." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def activity_by_age(df, activity_code, subsample=True):\n", + " activity_col = \"t{}\".format(activity_code)\n", + " df = df[['TUFINLWGT', 'TEAGE', activity_col]]\n", + " df = df.rename(columns={\"TUFINLWGT\": \"weight\", \"TEAGE\": \"age\", activity_col: \"minutes\"})\n", + " if subsample:\n", + " df = df[df.age % 5 == 0]\n", + " df['weighted_minutes'] = df.weight * df.minutes\n", + " df = df.groupby(\"age\").sum()\n", + " df['mean_minutes'] = df.weighted_minutes / df.weight\n", + " df = df[['mean_minutes']]\n", + " return df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets get a `dataFrame` from our summary containing \"Medical Care\" data.\n", + "\n", + "The code for Medical Care is `080401`.\n", + "\n", + "Also do a scatter plot with the `medical_care.index` as the x, and the `medical_care.mean_minutes` as the y.\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## Linear Regression\n", + "\n", + "Linear regression is a way of modeling a relationship between two features in a way that given 2 variables, 1 known, and 1 unknown we can give a close approximation of what our unknown value may equate to.\n", + "\n", + "Or as wikipedia says:\n", + "> In linear regression, data are modeled using linear predictor functions, and unknown model parameters are estimated from the data \n", + "\n", + "Without getting too in depth with how to calculate the predictor function (our line) our goal is going to be to get the minimum (closest to the mean) of our data along an axis. If our prediction is too aggressive (steep) we will not get an accurate function. If our prediction is too conservator (shallow) we will also not get an accurate function. You ultimately want your line to visibly bisect your distribution of data." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The function below will apply a regression function across a dataframe and square the differences in each cell from the mean. Finally it will divide the sum of differences by 2 times the amount of differences we find." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def linear_least_squares(df, fn):\n", + " values = df.index.map(fn)\n", + " diffs = df.mean_minutes - values\n", + " diffs_squared = diffs ** 2\n", + " return diffs_squared.sum() / (2 * len(diffs)) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to use our `linear_least_squares` function we need to pass it a function. This function will act as our \"line prediction\" in which we are attempting to correctly bisect our data.\n", + "\n", + "This is the code to plot a line with a slope of `1/4`:\n", + ">`lambda x: 0 + 0.25 * x`\n", + "\n", + "Should I explain linear slope? Remember - I used to have to calculate roof slope for a living.\n", + "\n", + "Pass the `medical_care` frame to the `linear_least_squares` along with the function above and print your findings.\n", + "\n", + "Also create a scatter plot of your data as well as your regression line prediction.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Try the same but this time with the following linear function:\n", + "\n", + ">`lambda x: 0 + 0.15 * x`\n", + "\n", + "Overlay your original line with an alpha of `0.3`\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally lets try with the following function:\n", + "\n", + ">`lambda x: 0 + 0.1 * x`\n", + "\n", + "Overlay previous lines with an alpha of `0.3`\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Neat! But this isn't really a realistic way to figure out a regression line. Better yet we should use a library to predict our line for us given our data! We can do this by creating a `LinearRegression()` model and calling it's `fit` method with our data.\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have fit our prediction model to our data lets do cool stuff to it." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "regression.predict(60)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "print(regression.coef_, regression.intercept_)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "regression.score(np.array(medical_care.index.values).reshape((-1, 1)), \n", + " medical_care.mean_minutes.values)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "fn = lambda x: regression.predict(x)[0]\n", + "print(linear_least_squares(medical_care, fn))\n", + "plt.scatter(medical_care.index, medical_care.mean_minutes)\n", + "xmin, xmax = plt.xlim()\n", + "xs = np.linspace(xmin, xmax, 100)\n", + "plt.plot(xs, [fn(x) for x in xs])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "linear_least_squares(medical_care, lambda x: regression.predict(x)[0])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.4.3" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/clinton - titanic.ipynb b/clinton - titanic.ipynb new file mode 100644 index 0000000..32e3873 --- /dev/null +++ b/clinton - titanic.ipynb @@ -0,0 +1,783 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:d9871aa697aaceeb2267c20ae9be4f9aa65eb7b4def09b1b61f5c59db92e3818" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sb" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%matplotlib inline" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Given what we've learned so far, let's tackle [this Kaggle competition](https://www.kaggle.com/c/titanic-gettingStarted)." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "train = pd.read_csv(\"titanic/train.csv\")\n", + "train.info()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Int64Index: 891 entries, 0 to 890\n", + "Data columns (total 12 columns):\n", + "PassengerId 891 non-null int64\n", + "Survived 891 non-null int64\n", + "Pclass 891 non-null int64\n", + "Name 891 non-null object\n", + "Sex 891 non-null object\n", + "Age 714 non-null float64\n", + "SibSp 891 non-null int64\n", + "Parch 891 non-null int64\n", + "Ticket 891 non-null object\n", + "Fare 891 non-null float64\n", + "Cabin 204 non-null object\n", + "Embarked 889 non-null object\n", + "dtypes: float64(2), int64(5), object(5)\n", + "memory usage: 90.5+ KB\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "train.head()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "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", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0 1 0 3 Braund, Mr. Owen Harris male 22 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35 0 0 373450 8.0500 NaN S
\n", + "
" + ], + "metadata": {}, + "output_type": "pyout", + "prompt_number": 4, + "text": [ + " 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", + "\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", + "\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 " + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We've got many features here:\n", + "\n", + "* The passenger class (first, second, or third)\n", + "* The sex of the passenger\n", + "* The age of the passenger (some are missing -- we'll have to figure out what to do about that)\n", + "* The number of siblings and spouses the passenger had on board (SubSp)\n", + "* The number of parents and children the passenger had on board (Parch)\n", + "* The amount the passenger paid for their ticket\n", + "* Where the passenger embarked from\n", + "\n", + "The name and cabin are immaterial. The cabin might help, if we had a map of the ship and\n", + "there weren't so many null values for cabin.\n", + "\n", + "_Using your intuition, what feature vectors might be important?_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Finding patterns in the data" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "pd.pivot_table(train, index=[\"Sex\"], values=[\"Survived\"]).plot(kind=\"barh\")\n", + "plt.axvline(x=0.5, linewidth=2, color='r')" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 5, + "text": [ + "" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There's a marked difference in survival rates between men and women. Let's go ahead and enter the competition just using that as our metric." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "test = pd.read_csv(\"titanic/test.csv\")\n", + "test[\"Survived\"] = 0\n", + "test.loc[test[\"Sex\"] == \"female\", \"Survived\"] = 1\n", + "test = test[[\"PassengerId\", \"Survived\"]]\n", + "test.to_csv(\"titanic/gendermodel.csv\", index=False)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Does age seem to matter?" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "train[\"AgeRange\"] = train[\"Age\"].map(lambda x: \"adult\" if x >= 18 else \"child\")\n", + "pd.pivot_table(train, index=[\"Sex\", \"AgeRange\"], values=[\"Survived\"]).plot(kind=\"barh\")\n", + "plt.axvline(x=0.5, linewidth=2, color='r')" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 156, + "text": [ + "" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nAABJRU5ErkJggg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 156 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How about passenger class?" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "pd.pivot_table(train, index=[\"Sex\", \"Pclass\"], values=[\"Survived\"]).plot(kind=\"barh\")\n", + "plt.axvline(x=0.5, linewidth=2, color='r')" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 157, + "text": [ + "" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 157 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Passenger class definitely mattered. The survival rate for women in 3rd class is under 50%.\n", + "\n", + "What if we added in the price of the ticket? This will work best with discrete values, so we break it into tickets less than \\$10, tickets between \\$10 and \\$20, tickets between \\$20 and \\$30, and tickets over \\$30." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def ticket_price(fare):\n", + " if fare < 10:\n", + " return \"< $10\"\n", + " elif fare < 20:\n", + " return \"$10-20\"\n", + " elif fare < 30:\n", + " return \"$20-30\"\n", + " else:\n", + " return \"> $30\"\n", + " \n", + "train[\"TicketPrice\"] = train[\"Fare\"].map(ticket_price)\n", + "pd.pivot_table(train, index=[\"Sex\", \"Pclass\", \"TicketPrice\"], values=[\"Survived\"]) \\\n", + " .plot(kind=\"barh\")\n", + "plt.axvline(x=0.5, linewidth=2, color='r')" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 158, + "text": [ + "" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nRFGBEyBbwiUAAAAASUVORK5CYII=\n", + "text": [ + "" + ] + } + ], + "prompt_number": 158 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ok, this is now meaningful. The groups with survival rate > 50% are:\n", + "\n", + "* Women in 1st and 2nd class.\n", + "* Women in 3rd class that paid $20 or less." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "test = pd.read_csv(\"titanic/test.csv\")\n", + "\n", + "test[\"Survived\"] = 0\n", + "test.loc[test[\"Sex\"] == \"female\", \"Survived\"] = 1\n", + "test.loc[(test[\"Pclass\"] == 3) & (test[\"Fare\"] > 20), \"Survived\"] = 0\n", + "test = test[[\"PassengerId\", \"Survived\"]]\n", + "test.to_csv(\"titanic/genderclassmodel.csv\", index=False)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Cleaning data\n", + "\n", + "To do any better than this, we'll need to clean up our data. We'll need everything to be numerical so we can use them as real features.\n", + "\n", + "Let's turn all the strings we might use into numbers." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "train['Gender'] = train['Sex'].map( {'female': 0, 'male': 1} ).astype(int)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 160 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Get the median age of passengers by sex and class, for filling in missing ages.\n", + "median_ages = np.zeros((2,3))\n", + "\n", + "for i in range(0, 2):\n", + " for j in range(0, 3):\n", + " median_ages[i,j] = train[(train['Gender'] == i) & \\\n", + " (train['Pclass'] == j+1)]['Age'].dropna().median()\n", + "\n", + "median_ages" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 161, + "text": [ + "array([[ 35. , 28. , 21.5],\n", + " [ 40. , 30. , 25. ]])" + ] + } + ], + "prompt_number": 161 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Fill in the median age for persons with missing ages.\n", + "for i in range(0, 2):\n", + " for j in range(0, 3):\n", + " train.loc[(train.Age.isnull()) & (train.Gender == i) & (train.Pclass == j+1),\\\n", + " 'AgeFill'] = median_ages[i,j]\n", + "\n", + "train[ train['Age'].isnull() ][['Gender','Pclass','Age','AgeFill']].head()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "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", + "
GenderPclassAgeAgeFill
5 1 3NaN 25.0
17 1 2NaN 30.0
19 0 3NaN 21.5
26 1 3NaN 25.0
28 0 3NaN 21.5
\n", + "
" + ], + "metadata": {}, + "output_type": "pyout", + "prompt_number": 162, + "text": [ + " Gender Pclass Age AgeFill\n", + "5 1 3 NaN 25.0\n", + "17 1 2 NaN 30.0\n", + "19 0 3 NaN 21.5\n", + "26 1 3 NaN 25.0\n", + "28 0 3 NaN 21.5" + ] + } + ], + "prompt_number": 162 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Remember which ages were null.\n", + "train['AgeIsNull'] = pd.isnull(train.Age).astype(int)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 163 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def calc_median_ages(df):\n", + " median_ages = np.zeros((2,3))\n", + "\n", + " for i in range(0, 2):\n", + " for j in range(0, 3):\n", + " median_ages[i,j] = df[(df['Gender'] == i) & \\\n", + " (df['Pclass'] == j+1)]['Age'].dropna().median()\n", + " \n", + " return median_ages\n", + "\n", + "\n", + "def guess_ages(df, median_ages=None):\n", + " if median_ages is None:\n", + " median_ages = calc_median_ages(df)\n", + " \n", + " for i in range(0, 2):\n", + " for j in range(0, 3):\n", + " df.loc[(df.Age.isnull()) & (df.Gender == i) & (df.Pclass == j+1),\\\n", + " 'Age'] = median_ages[i,j]\n", + " \n", + " df['GuessedAge'] = pd.isnull(df.Age).astype(int)\n", + " return df\n", + "\n", + "def clean(df, median_ages=None):\n", + " df['Gender'] = df['Sex'].map( {'female': 0, 'male': 1} ).astype(int)\n", + " df = guess_ages(df, median_ages)\n", + " df = df.drop(['Ticket', 'Cabin', 'Sex'], axis=1)\n", + " \n", + " return df" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 164 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "train = pd.read_csv(\"titanic/train.csv\")\n", + "train = clean(train)\n", + "train.info()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Int64Index: 891 entries, 0 to 890\n", + "Data columns (total 11 columns):\n", + "PassengerId 891 non-null int64\n", + "Survived 891 non-null int64\n", + "Pclass 891 non-null int64\n", + "Name 891 non-null object\n", + "Age 891 non-null float64\n", + "SibSp 891 non-null int64\n", + "Parch 891 non-null int64\n", + "Fare 891 non-null float64\n", + "Embarked 889 non-null object\n", + "Gender 891 non-null int64\n", + "GuessedAge 891 non-null int64\n", + "dtypes: float64(2), int64(7), object(2)\n", + "memory usage: 83.5+ KB\n" + ] + } + ], + "prompt_number": 165 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "train.dtypes[train.dtypes.map(lambda x: x=='object')]" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 166, + "text": [ + "Name object\n", + "Embarked object\n", + "dtype: object" + ] + } + ], + "prompt_number": 166 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We might want to get the port the passenger embarked from as a number. Do this as an exercise.\n", + "\n", + "We also might want to use regular expressions on the names to look for titles like \"Dr\" and \"Rev\".\n", + "\n", + "We may want to add new features, like total family size." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "median_ages = calc_median_ages(train)\n", + "test = pd.read_csv(\"titanic/test.csv\")\n", + "test.info()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Int64Index: 418 entries, 0 to 417\n", + "Data columns (total 11 columns):\n", + "PassengerId 418 non-null int64\n", + "Pclass 418 non-null int64\n", + "Name 418 non-null object\n", + "Sex 418 non-null object\n", + "Age 332 non-null float64\n", + "SibSp 418 non-null int64\n", + "Parch 418 non-null int64\n", + "Ticket 418 non-null object\n", + "Fare 417 non-null float64\n", + "Cabin 91 non-null object\n", + "Embarked 418 non-null object\n", + "dtypes: float64(2), int64(4), object(5)\n", + "memory usage: 39.2+ KB\n" + ] + } + ], + "prompt_number": 167 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "test = clean(test, median_ages)\n", + "test.info()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Int64Index: 418 entries, 0 to 417\n", + "Data columns (total 10 columns):\n", + "PassengerId 418 non-null int64\n", + "Pclass 418 non-null int64\n", + "Name 418 non-null object\n", + "Age 418 non-null float64\n", + "SibSp 418 non-null int64\n", + "Parch 418 non-null int64\n", + "Fare 417 non-null float64\n", + "Embarked 418 non-null object\n", + "Gender 418 non-null int64\n", + "GuessedAge 418 non-null int64\n", + "dtypes: float64(2), int64(6), object(2)\n", + "memory usage: 35.9+ KB\n" + ] + } + ], + "prompt_number": 168 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 168 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/requirments.txt b/requirments.txt new file mode 100644 index 0000000..9c7557b --- /dev/null +++ b/requirments.txt @@ -0,0 +1,5 @@ +pandas +matplotlib +numpy +seaborn +"ipython[notebook]" diff --git a/titanic/bayes.csv b/titanic/bayes.csv new file mode 100644 index 0000000..b34513d --- /dev/null +++ b/titanic/bayes.csv @@ -0,0 +1,419 @@ +Survived,PassengerId +0,892 +1,893 +0,894 +0,895 +1,896 +0,897 +1,898 +0,899 +1,900 +0,901 +0,902 +0,903 +1,904 +0,905 +1,906 +1,907 +0,908 +0,909 +1,910 +1,911 +0,912 +0,913 +1,914 +0,915 +1,916 +0,917 +1,918 +0,919 +0,920 +0,921 +0,922 +0,923 +1,924 +1,925 +0,926 +0,927 +1,928 +1,929 +0,930 +0,931 +0,932 +0,933 +0,934 +1,935 +1,936 +0,937 +0,938 +0,939 +1,940 +1,941 +0,942 +0,943 +1,944 +1,945 +0,946 +0,947 +0,948 +0,949 +0,950 +1,951 +0,952 +0,953 +0,954 +1,955 +1,956 +1,957 +1,958 +0,959 +0,960 +1,961 +1,962 +0,963 +1,964 +0,965 +1,966 +1,967 +0,968 +1,969 +0,970 +1,971 +0,972 +1,973 +0,974 +0,975 +0,976 +0,977 +1,978 +1,979 +1,980 +0,981 +1,982 +0,983 +1,984 +0,985 +0,986 +0,987 +1,988 +0,989 +1,990 +0,991 +1,992 +0,993 +0,994 +0,995 +1,996 +0,997 +0,998 +0,999 +0,1000 +0,1001 +0,1002 +1,1003 +1,1004 +1,1005 +1,1006 +0,1007 +0,1008 +1,1009 +1,1010 +1,1011 +1,1012 +0,1013 +1,1014 +0,1015 +0,1016 +1,1017 +0,1018 +1,1019 +0,1020 +0,1021 +0,1022 +0,1023 +1,1024 +0,1025 +0,1026 +0,1027 +0,1028 +0,1029 +1,1030 +0,1031 +1,1032 +1,1033 +1,1034 +0,1035 +0,1036 +0,1037 +0,1038 +0,1039 +0,1040 +0,1041 +1,1042 +0,1043 +0,1044 +1,1045 +0,1046 +0,1047 +1,1048 +1,1049 +0,1050 +1,1051 +1,1052 +0,1053 +1,1054 +0,1055 +0,1056 +1,1057 +0,1058 +0,1059 +1,1060 +1,1061 +0,1062 +0,1063 +0,1064 +0,1065 +0,1066 +1,1067 +1,1068 +0,1069 +1,1070 +1,1071 +0,1072 +1,1073 +1,1074 +0,1075 +1,1076 +0,1077 +1,1078 +0,1079 +1,1080 +0,1081 +0,1082 +0,1083 +0,1084 +0,1085 +0,1086 +0,1087 +1,1088 +1,1089 +0,1090 +1,1091 +1,1092 +0,1093 +1,1094 +1,1095 +0,1096 +0,1097 +1,1098 +0,1099 +1,1100 +0,1101 +0,1102 +0,1103 +0,1104 +1,1105 +1,1106 +0,1107 +1,1108 +1,1109 +1,1110 +0,1111 +1,1112 +0,1113 +1,1114 +0,1115 +1,1116 +1,1117 +0,1118 +1,1119 +0,1120 +0,1121 +0,1122 +1,1123 +0,1124 +0,1125 +1,1126 +0,1127 +1,1128 +0,1129 +1,1130 +1,1131 +1,1132 +1,1133 +1,1134 +0,1135 +0,1136 +0,1137 +1,1138 +0,1139 +1,1140 +1,1141 +1,1142 +0,1143 +1,1144 +0,1145 +0,1146 +0,1147 +0,1148 +0,1149 +1,1150 +0,1151 +0,1152 +0,1153 +1,1154 +1,1155 +0,1156 +0,1157 +0,1158 +0,1159 +1,1160 +0,1161 +1,1162 +0,1163 +1,1164 +1,1165 +0,1166 +1,1167 +0,1168 +0,1169 +0,1170 +0,1171 +1,1172 +0,1173 +1,1174 +1,1175 +1,1176 +0,1177 +0,1178 +1,1179 +0,1180 +0,1181 +0,1182 +1,1183 +0,1184 +1,1185 +0,1186 +0,1187 +1,1188 +0,1189 +0,1190 +0,1191 +0,1192 +0,1193 +0,1194 +0,1195 +1,1196 +1,1197 +1,1198 +0,1199 +1,1200 +1,1201 +0,1202 +0,1203 +0,1204 +1,1205 +1,1206 +1,1207 +1,1208 +0,1209 +0,1210 +0,1211 +0,1212 +0,1213 +0,1214 +0,1215 +1,1216 +0,1217 +1,1218 +1,1219 +0,1220 +0,1221 +1,1222 +0,1223 +0,1224 +1,1225 +0,1226 +0,1227 +0,1228 +0,1229 +0,1230 +0,1231 +0,1232 +0,1233 +0,1234 +1,1235 +0,1236 +1,1237 +0,1238 +1,1239 +0,1240 +1,1241 +1,1242 +0,1243 +0,1244 +0,1245 +1,1246 +0,1247 +1,1248 +0,1249 +0,1250 +1,1251 +0,1252 +1,1253 +1,1254 +0,1255 +1,1256 +1,1257 +0,1258 +1,1259 +1,1260 +0,1261 +0,1262 +1,1263 +0,1264 +0,1265 +1,1266 +1,1267 +1,1268 +0,1269 +0,1270 +0,1271 +0,1272 +0,1273 +1,1274 +1,1275 +0,1276 +1,1277 +0,1278 +0,1279 +0,1280 +0,1281 +1,1282 +1,1283 +0,1284 +0,1285 +0,1286 +1,1287 +0,1288 +1,1289 +0,1290 +0,1291 +1,1292 +0,1293 +1,1294 +0,1295 +0,1296 +0,1297 +0,1298 +1,1299 +1,1300 +1,1301 +1,1302 +1,1303 +1,1304 +0,1305 +1,1306 +0,1307 +0,1308 +0,1309 diff --git a/titanic/forest.csv b/titanic/forest.csv new file mode 100644 index 0000000..10a534f --- /dev/null +++ b/titanic/forest.csv @@ -0,0 +1,419 @@ +Survived,PassengerId +0,892 +1,893 +0,894 +0,895 +1,896 +0,897 +1,898 +0,899 +1,900 +0,901 +0,902 +0,903 +1,904 +0,905 +1,906 +1,907 +0,908 +0,909 +1,910 +1,911 +0,912 +0,913 +1,914 +0,915 +1,916 +0,917 +1,918 +0,919 +0,920 +0,921 +0,922 +0,923 +0,924 +0,925 +0,926 +0,927 +1,928 +1,929 +0,930 +1,931 +0,932 +0,933 +0,934 +1,935 +1,936 +0,937 +0,938 +0,939 +1,940 +1,941 +0,942 +0,943 +1,944 +1,945 +0,946 +0,947 +0,948 +0,949 +0,950 +1,951 +0,952 +0,953 +0,954 +1,955 +0,956 +1,957 +1,958 +0,959 +0,960 +1,961 +1,962 +0,963 +1,964 +0,965 +1,966 +0,967 +0,968 +1,969 +0,970 +1,971 +0,972 +0,973 +0,974 +0,975 +0,976 +0,977 +1,978 +1,979 +1,980 +0,981 +1,982 +0,983 +1,984 +0,985 +0,986 +0,987 +1,988 +0,989 +1,990 +0,991 +1,992 +0,993 +0,994 +0,995 +1,996 +0,997 +0,998 +0,999 +0,1000 +0,1001 +0,1002 +1,1003 +1,1004 +1,1005 +1,1006 +0,1007 +0,1008 +1,1009 +0,1010 +1,1011 +1,1012 +0,1013 +1,1014 +0,1015 +0,1016 +1,1017 +0,1018 +0,1019 +0,1020 +0,1021 +0,1022 +0,1023 +0,1024 +0,1025 +0,1026 +0,1027 +0,1028 +0,1029 +1,1030 +0,1031 +0,1032 +1,1033 +0,1034 +0,1035 +0,1036 +0,1037 +0,1038 +0,1039 +0,1040 +0,1041 +1,1042 +0,1043 +0,1044 +1,1045 +0,1046 +0,1047 +1,1048 +1,1049 +0,1050 +1,1051 +1,1052 +0,1053 +1,1054 +0,1055 +0,1056 +0,1057 +0,1058 +0,1059 +1,1060 +1,1061 +0,1062 +0,1063 +0,1064 +0,1065 +0,1066 +1,1067 +1,1068 +0,1069 +1,1070 +1,1071 +0,1072 +1,1073 +1,1074 +0,1075 +1,1076 +0,1077 +1,1078 +0,1079 +0,1080 +0,1081 +0,1082 +0,1083 +0,1084 +0,1085 +0,1086 +0,1087 +1,1088 +1,1089 +0,1090 +1,1091 +1,1092 +0,1093 +0,1094 +1,1095 +0,1096 +0,1097 +1,1098 +0,1099 +1,1100 +0,1101 +0,1102 +0,1103 +0,1104 +1,1105 +1,1106 +0,1107 +1,1108 +1,1109 +1,1110 +0,1111 +1,1112 +0,1113 +1,1114 +0,1115 +1,1116 +1,1117 +0,1118 +1,1119 +0,1120 +0,1121 +0,1122 +1,1123 +0,1124 +0,1125 +0,1126 +0,1127 +0,1128 +0,1129 +1,1130 +1,1131 +1,1132 +1,1133 +1,1134 +0,1135 +0,1136 +0,1137 +1,1138 +0,1139 +1,1140 +1,1141 +1,1142 +0,1143 +1,1144 +0,1145 +0,1146 +0,1147 +0,1148 +0,1149 +1,1150 +0,1151 +0,1152 +0,1153 +1,1154 +1,1155 +0,1156 +0,1157 +0,1158 +0,1159 +1,1160 +0,1161 +0,1162 +0,1163 +1,1164 +1,1165 +0,1166 +1,1167 +0,1168 +0,1169 +0,1170 +0,1171 +1,1172 +0,1173 +1,1174 +1,1175 +0,1176 +0,1177 +0,1178 +1,1179 +0,1180 +0,1181 +0,1182 +1,1183 +0,1184 +1,1185 +0,1186 +0,1187 +1,1188 +0,1189 +0,1190 +0,1191 +0,1192 +0,1193 +0,1194 +0,1195 +1,1196 +1,1197 +1,1198 +0,1199 +1,1200 +1,1201 +0,1202 +0,1203 +0,1204 +1,1205 +1,1206 +1,1207 +1,1208 +0,1209 +0,1210 +0,1211 +0,1212 +0,1213 +0,1214 +0,1215 +1,1216 +0,1217 +1,1218 +0,1219 +0,1220 +0,1221 +1,1222 +0,1223 +0,1224 +1,1225 +0,1226 +0,1227 +0,1228 +0,1229 +0,1230 +0,1231 +0,1232 +0,1233 +0,1234 +1,1235 +0,1236 +1,1237 +0,1238 +1,1239 +0,1240 +1,1241 +1,1242 +0,1243 +0,1244 +0,1245 +0,1246 +0,1247 +1,1248 +0,1249 +0,1250 +1,1251 +0,1252 +1,1253 +1,1254 +0,1255 +1,1256 +0,1257 +0,1258 +0,1259 +1,1260 +0,1261 +0,1262 +1,1263 +0,1264 +0,1265 +1,1266 +1,1267 +1,1268 +0,1269 +0,1270 +0,1271 +0,1272 +0,1273 +1,1274 +1,1275 +0,1276 +1,1277 +0,1278 +0,1279 +0,1280 +0,1281 +1,1282 +1,1283 +0,1284 +0,1285 +0,1286 +1,1287 +0,1288 +1,1289 +0,1290 +0,1291 +1,1292 +0,1293 +1,1294 +0,1295 +0,1296 +0,1297 +0,1298 +0,1299 +1,1300 +1,1301 +1,1302 +1,1303 +1,1304 +0,1305 +1,1306 +0,1307 +0,1308 +0,1309 diff --git a/titanic/gender_age_set.csv b/titanic/gender_age_set.csv new file mode 100644 index 0000000..bdaa08a --- /dev/null +++ b/titanic/gender_age_set.csv @@ -0,0 +1,419 @@ +PassengerId,Survived +892,0 +893,1 +894,0 +895,0 +896,1 +897,0 +898,1 +899,0 +900,1 +901,0 +902,0 +903,0 +904,1 +905,0 +906,1 +907,1 +908,0 +909,0 +910,1 +911,1 +912,0 +913,0 +914,1 +915,0 +916,1 +917,0 +918,1 +919,0 +920,0 +921,0 +922,0 +923,0 +924,0 +925,0 +926,0 +927,0 +928,1 +929,1 +930,0 +931,0 +932,0 +933,0 +934,0 +935,1 +936,1 +937,0 +938,0 +939,0 +940,1 +941,1 +942,0 +943,0 +944,1 +945,1 +946,0 +947,0 +948,0 +949,0 +950,0 +951,1 +952,0 +953,0 +954,0 +955,1 +956,0 +957,1 +958,1 +959,0 +960,0 +961,1 +962,1 +963,0 +964,1 +965,0 +966,1 +967,0 +968,0 +969,1 +970,0 +971,1 +972,0 +973,0 +974,0 +975,0 +976,0 +977,0 +978,1 +979,1 +980,1 +981,0 +982,1 +983,0 +984,1 +985,0 +986,0 +987,0 +988,1 +989,0 +990,1 +991,0 +992,1 +993,0 +994,0 +995,0 +996,1 +997,0 +998,0 +999,0 +1000,0 +1001,0 +1002,0 +1003,1 +1004,1 +1005,1 +1006,1 +1007,0 +1008,0 +1009,1 +1010,0 +1011,1 +1012,1 +1013,0 +1014,1 +1015,0 +1016,0 +1017,1 +1018,0 +1019,0 +1020,0 +1021,0 +1022,0 +1023,0 +1024,0 +1025,0 +1026,0 +1027,0 +1028,0 +1029,0 +1030,1 +1031,0 +1032,0 +1033,1 +1034,0 +1035,0 +1036,0 +1037,0 +1038,0 +1039,0 +1040,0 +1041,0 +1042,1 +1043,0 +1044,0 +1045,1 +1046,0 +1047,0 +1048,1 +1049,1 +1050,0 +1051,1 +1052,1 +1053,0 +1054,1 +1055,0 +1056,0 +1057,0 +1058,0 +1059,0 +1060,1 +1061,1 +1062,0 +1063,0 +1064,0 +1065,0 +1066,0 +1067,1 +1068,1 +1069,0 +1070,1 +1071,1 +1072,0 +1073,0 +1074,1 +1075,0 +1076,1 +1077,0 +1078,1 +1079,0 +1080,0 +1081,0 +1082,0 +1083,0 +1084,0 +1085,0 +1086,0 +1087,0 +1088,0 +1089,1 +1090,0 +1091,1 +1092,1 +1093,0 +1094,0 +1095,1 +1096,0 +1097,0 +1098,1 +1099,0 +1100,1 +1101,0 +1102,0 +1103,0 +1104,0 +1105,1 +1106,1 +1107,0 +1108,1 +1109,0 +1110,1 +1111,0 +1112,1 +1113,0 +1114,1 +1115,0 +1116,1 +1117,1 +1118,0 +1119,1 +1120,0 +1121,0 +1122,0 +1123,1 +1124,0 +1125,0 +1126,0 +1127,0 +1128,0 +1129,0 +1130,1 +1131,1 +1132,1 +1133,1 +1134,0 +1135,0 +1136,0 +1137,0 +1138,1 +1139,0 +1140,1 +1141,1 +1142,1 +1143,0 +1144,0 +1145,0 +1146,0 +1147,0 +1148,0 +1149,0 +1150,1 +1151,0 +1152,0 +1153,0 +1154,1 +1155,1 +1156,0 +1157,0 +1158,0 +1159,0 +1160,1 +1161,0 +1162,0 +1163,0 +1164,1 +1165,1 +1166,0 +1167,1 +1168,0 +1169,0 +1170,0 +1171,0 +1172,1 +1173,0 +1174,1 +1175,1 +1176,0 +1177,0 +1178,0 +1179,0 +1180,0 +1181,0 +1182,0 +1183,1 +1184,0 +1185,0 +1186,0 +1187,0 +1188,1 +1189,0 +1190,0 +1191,0 +1192,0 +1193,0 +1194,0 +1195,0 +1196,1 +1197,1 +1198,0 +1199,0 +1200,0 +1201,1 +1202,0 +1203,0 +1204,0 +1205,1 +1206,1 +1207,1 +1208,0 +1209,0 +1210,0 +1211,0 +1212,0 +1213,0 +1214,0 +1215,0 +1216,1 +1217,0 +1218,1 +1219,0 +1220,0 +1221,0 +1222,1 +1223,0 +1224,0 +1225,1 +1226,0 +1227,0 +1228,0 +1229,0 +1230,0 +1231,0 +1232,0 +1233,0 +1234,0 +1235,1 +1236,0 +1237,1 +1238,0 +1239,1 +1240,0 +1241,1 +1242,1 +1243,0 +1244,0 +1245,0 +1246,0 +1247,0 +1248,1 +1249,0 +1250,0 +1251,1 +1252,0 +1253,1 +1254,1 +1255,0 +1256,1 +1257,0 +1258,0 +1259,0 +1260,1 +1261,0 +1262,0 +1263,1 +1264,0 +1265,0 +1266,1 +1267,1 +1268,1 +1269,0 +1270,0 +1271,0 +1272,0 +1273,0 +1274,1 +1275,1 +1276,0 +1277,1 +1278,0 +1279,0 +1280,0 +1281,0 +1282,0 +1283,1 +1284,0 +1285,0 +1286,0 +1287,1 +1288,0 +1289,1 +1290,0 +1291,0 +1292,1 +1293,0 +1294,1 +1295,0 +1296,0 +1297,0 +1298,0 +1299,0 +1300,1 +1301,1 +1302,1 +1303,1 +1304,1 +1305,0 +1306,1 +1307,0 +1308,0 +1309,0 diff --git a/titanic/gender_set.csv b/titanic/gender_set.csv new file mode 100644 index 0000000..80bbbd8 --- /dev/null +++ b/titanic/gender_set.csv @@ -0,0 +1,419 @@ +PassengerId,Survived +892,0 +893,1 +894,0 +895,0 +896,1 +897,0 +898,1 +899,0 +900,1 +901,0 +902,0 +903,0 +904,1 +905,0 +906,1 +907,1 +908,0 +909,0 +910,1 +911,1 +912,0 +913,0 +914,1 +915,0 +916,1 +917,0 +918,1 +919,0 +920,0 +921,0 +922,0 +923,0 +924,1 +925,1 +926,0 +927,0 +928,1 +929,1 +930,0 +931,0 +932,0 +933,0 +934,0 +935,1 +936,1 +937,0 +938,0 +939,0 +940,1 +941,1 +942,0 +943,0 +944,1 +945,1 +946,0 +947,0 +948,0 +949,0 +950,0 +951,1 +952,0 +953,0 +954,0 +955,1 +956,0 +957,1 +958,1 +959,0 +960,0 +961,1 +962,1 +963,0 +964,1 +965,0 +966,1 +967,0 +968,0 +969,1 +970,0 +971,1 +972,0 +973,0 +974,0 +975,0 +976,0 +977,0 +978,1 +979,1 +980,1 +981,0 +982,1 +983,0 +984,1 +985,0 +986,0 +987,0 +988,1 +989,0 +990,1 +991,0 +992,1 +993,0 +994,0 +995,0 +996,1 +997,0 +998,0 +999,0 +1000,0 +1001,0 +1002,0 +1003,1 +1004,1 +1005,1 +1006,1 +1007,0 +1008,0 +1009,1 +1010,0 +1011,1 +1012,1 +1013,0 +1014,1 +1015,0 +1016,0 +1017,1 +1018,0 +1019,1 +1020,0 +1021,0 +1022,0 +1023,0 +1024,1 +1025,0 +1026,0 +1027,0 +1028,0 +1029,0 +1030,1 +1031,0 +1032,1 +1033,1 +1034,0 +1035,0 +1036,0 +1037,0 +1038,0 +1039,0 +1040,0 +1041,0 +1042,1 +1043,0 +1044,0 +1045,1 +1046,0 +1047,0 +1048,1 +1049,1 +1050,0 +1051,1 +1052,1 +1053,0 +1054,1 +1055,0 +1056,0 +1057,1 +1058,0 +1059,0 +1060,1 +1061,1 +1062,0 +1063,0 +1064,0 +1065,0 +1066,0 +1067,1 +1068,1 +1069,0 +1070,1 +1071,1 +1072,0 +1073,0 +1074,1 +1075,0 +1076,1 +1077,0 +1078,1 +1079,0 +1080,1 +1081,0 +1082,0 +1083,0 +1084,0 +1085,0 +1086,0 +1087,0 +1088,0 +1089,1 +1090,0 +1091,1 +1092,1 +1093,0 +1094,0 +1095,1 +1096,0 +1097,0 +1098,1 +1099,0 +1100,1 +1101,0 +1102,0 +1103,0 +1104,0 +1105,1 +1106,1 +1107,0 +1108,1 +1109,0 +1110,1 +1111,0 +1112,1 +1113,0 +1114,1 +1115,0 +1116,1 +1117,1 +1118,0 +1119,1 +1120,0 +1121,0 +1122,0 +1123,1 +1124,0 +1125,0 +1126,0 +1127,0 +1128,0 +1129,0 +1130,1 +1131,1 +1132,1 +1133,1 +1134,0 +1135,0 +1136,0 +1137,0 +1138,1 +1139,0 +1140,1 +1141,1 +1142,1 +1143,0 +1144,0 +1145,0 +1146,0 +1147,0 +1148,0 +1149,0 +1150,1 +1151,0 +1152,0 +1153,0 +1154,1 +1155,1 +1156,0 +1157,0 +1158,0 +1159,0 +1160,1 +1161,0 +1162,0 +1163,0 +1164,1 +1165,1 +1166,0 +1167,1 +1168,0 +1169,0 +1170,0 +1171,0 +1172,1 +1173,0 +1174,1 +1175,1 +1176,1 +1177,0 +1178,0 +1179,0 +1180,0 +1181,0 +1182,0 +1183,1 +1184,0 +1185,0 +1186,0 +1187,0 +1188,1 +1189,0 +1190,0 +1191,0 +1192,0 +1193,0 +1194,0 +1195,0 +1196,1 +1197,1 +1198,0 +1199,0 +1200,0 +1201,1 +1202,0 +1203,0 +1204,0 +1205,1 +1206,1 +1207,1 +1208,0 +1209,0 +1210,0 +1211,0 +1212,0 +1213,0 +1214,0 +1215,0 +1216,1 +1217,0 +1218,1 +1219,0 +1220,0 +1221,0 +1222,1 +1223,0 +1224,0 +1225,1 +1226,0 +1227,0 +1228,0 +1229,0 +1230,0 +1231,0 +1232,0 +1233,0 +1234,0 +1235,1 +1236,0 +1237,1 +1238,0 +1239,1 +1240,0 +1241,1 +1242,1 +1243,0 +1244,0 +1245,0 +1246,1 +1247,0 +1248,1 +1249,0 +1250,0 +1251,1 +1252,0 +1253,1 +1254,1 +1255,0 +1256,1 +1257,1 +1258,0 +1259,1 +1260,1 +1261,0 +1262,0 +1263,1 +1264,0 +1265,0 +1266,1 +1267,1 +1268,1 +1269,0 +1270,0 +1271,0 +1272,0 +1273,0 +1274,1 +1275,1 +1276,0 +1277,1 +1278,0 +1279,0 +1280,0 +1281,0 +1282,0 +1283,1 +1284,0 +1285,0 +1286,0 +1287,1 +1288,0 +1289,1 +1290,0 +1291,0 +1292,1 +1293,0 +1294,1 +1295,0 +1296,0 +1297,0 +1298,0 +1299,0 +1300,1 +1301,1 +1302,1 +1303,1 +1304,1 +1305,0 +1306,1 +1307,0 +1308,0 +1309,0 diff --git a/titanic/genderclassmodel.csv b/titanic/genderclassmodel.csv new file mode 100644 index 0000000..bdaa08a --- /dev/null +++ b/titanic/genderclassmodel.csv @@ -0,0 +1,419 @@ +PassengerId,Survived +892,0 +893,1 +894,0 +895,0 +896,1 +897,0 +898,1 +899,0 +900,1 +901,0 +902,0 +903,0 +904,1 +905,0 +906,1 +907,1 +908,0 +909,0 +910,1 +911,1 +912,0 +913,0 +914,1 +915,0 +916,1 +917,0 +918,1 +919,0 +920,0 +921,0 +922,0 +923,0 +924,0 +925,0 +926,0 +927,0 +928,1 +929,1 +930,0 +931,0 +932,0 +933,0 +934,0 +935,1 +936,1 +937,0 +938,0 +939,0 +940,1 +941,1 +942,0 +943,0 +944,1 +945,1 +946,0 +947,0 +948,0 +949,0 +950,0 +951,1 +952,0 +953,0 +954,0 +955,1 +956,0 +957,1 +958,1 +959,0 +960,0 +961,1 +962,1 +963,0 +964,1 +965,0 +966,1 +967,0 +968,0 +969,1 +970,0 +971,1 +972,0 +973,0 +974,0 +975,0 +976,0 +977,0 +978,1 +979,1 +980,1 +981,0 +982,1 +983,0 +984,1 +985,0 +986,0 +987,0 +988,1 +989,0 +990,1 +991,0 +992,1 +993,0 +994,0 +995,0 +996,1 +997,0 +998,0 +999,0 +1000,0 +1001,0 +1002,0 +1003,1 +1004,1 +1005,1 +1006,1 +1007,0 +1008,0 +1009,1 +1010,0 +1011,1 +1012,1 +1013,0 +1014,1 +1015,0 +1016,0 +1017,1 +1018,0 +1019,0 +1020,0 +1021,0 +1022,0 +1023,0 +1024,0 +1025,0 +1026,0 +1027,0 +1028,0 +1029,0 +1030,1 +1031,0 +1032,0 +1033,1 +1034,0 +1035,0 +1036,0 +1037,0 +1038,0 +1039,0 +1040,0 +1041,0 +1042,1 +1043,0 +1044,0 +1045,1 +1046,0 +1047,0 +1048,1 +1049,1 +1050,0 +1051,1 +1052,1 +1053,0 +1054,1 +1055,0 +1056,0 +1057,0 +1058,0 +1059,0 +1060,1 +1061,1 +1062,0 +1063,0 +1064,0 +1065,0 +1066,0 +1067,1 +1068,1 +1069,0 +1070,1 +1071,1 +1072,0 +1073,0 +1074,1 +1075,0 +1076,1 +1077,0 +1078,1 +1079,0 +1080,0 +1081,0 +1082,0 +1083,0 +1084,0 +1085,0 +1086,0 +1087,0 +1088,0 +1089,1 +1090,0 +1091,1 +1092,1 +1093,0 +1094,0 +1095,1 +1096,0 +1097,0 +1098,1 +1099,0 +1100,1 +1101,0 +1102,0 +1103,0 +1104,0 +1105,1 +1106,1 +1107,0 +1108,1 +1109,0 +1110,1 +1111,0 +1112,1 +1113,0 +1114,1 +1115,0 +1116,1 +1117,1 +1118,0 +1119,1 +1120,0 +1121,0 +1122,0 +1123,1 +1124,0 +1125,0 +1126,0 +1127,0 +1128,0 +1129,0 +1130,1 +1131,1 +1132,1 +1133,1 +1134,0 +1135,0 +1136,0 +1137,0 +1138,1 +1139,0 +1140,1 +1141,1 +1142,1 +1143,0 +1144,0 +1145,0 +1146,0 +1147,0 +1148,0 +1149,0 +1150,1 +1151,0 +1152,0 +1153,0 +1154,1 +1155,1 +1156,0 +1157,0 +1158,0 +1159,0 +1160,1 +1161,0 +1162,0 +1163,0 +1164,1 +1165,1 +1166,0 +1167,1 +1168,0 +1169,0 +1170,0 +1171,0 +1172,1 +1173,0 +1174,1 +1175,1 +1176,0 +1177,0 +1178,0 +1179,0 +1180,0 +1181,0 +1182,0 +1183,1 +1184,0 +1185,0 +1186,0 +1187,0 +1188,1 +1189,0 +1190,0 +1191,0 +1192,0 +1193,0 +1194,0 +1195,0 +1196,1 +1197,1 +1198,0 +1199,0 +1200,0 +1201,1 +1202,0 +1203,0 +1204,0 +1205,1 +1206,1 +1207,1 +1208,0 +1209,0 +1210,0 +1211,0 +1212,0 +1213,0 +1214,0 +1215,0 +1216,1 +1217,0 +1218,1 +1219,0 +1220,0 +1221,0 +1222,1 +1223,0 +1224,0 +1225,1 +1226,0 +1227,0 +1228,0 +1229,0 +1230,0 +1231,0 +1232,0 +1233,0 +1234,0 +1235,1 +1236,0 +1237,1 +1238,0 +1239,1 +1240,0 +1241,1 +1242,1 +1243,0 +1244,0 +1245,0 +1246,0 +1247,0 +1248,1 +1249,0 +1250,0 +1251,1 +1252,0 +1253,1 +1254,1 +1255,0 +1256,1 +1257,0 +1258,0 +1259,0 +1260,1 +1261,0 +1262,0 +1263,1 +1264,0 +1265,0 +1266,1 +1267,1 +1268,1 +1269,0 +1270,0 +1271,0 +1272,0 +1273,0 +1274,1 +1275,1 +1276,0 +1277,1 +1278,0 +1279,0 +1280,0 +1281,0 +1282,0 +1283,1 +1284,0 +1285,0 +1286,0 +1287,1 +1288,0 +1289,1 +1290,0 +1291,0 +1292,1 +1293,0 +1294,1 +1295,0 +1296,0 +1297,0 +1298,0 +1299,0 +1300,1 +1301,1 +1302,1 +1303,1 +1304,1 +1305,0 +1306,1 +1307,0 +1308,0 +1309,0 diff --git a/titanic/gendermodel.csv b/titanic/gendermodel.csv new file mode 100644 index 0000000..80bbbd8 --- /dev/null +++ b/titanic/gendermodel.csv @@ -0,0 +1,419 @@ +PassengerId,Survived +892,0 +893,1 +894,0 +895,0 +896,1 +897,0 +898,1 +899,0 +900,1 +901,0 +902,0 +903,0 +904,1 +905,0 +906,1 +907,1 +908,0 +909,0 +910,1 +911,1 +912,0 +913,0 +914,1 +915,0 +916,1 +917,0 +918,1 +919,0 +920,0 +921,0 +922,0 +923,0 +924,1 +925,1 +926,0 +927,0 +928,1 +929,1 +930,0 +931,0 +932,0 +933,0 +934,0 +935,1 +936,1 +937,0 +938,0 +939,0 +940,1 +941,1 +942,0 +943,0 +944,1 +945,1 +946,0 +947,0 +948,0 +949,0 +950,0 +951,1 +952,0 +953,0 +954,0 +955,1 +956,0 +957,1 +958,1 +959,0 +960,0 +961,1 +962,1 +963,0 +964,1 +965,0 +966,1 +967,0 +968,0 +969,1 +970,0 +971,1 +972,0 +973,0 +974,0 +975,0 +976,0 +977,0 +978,1 +979,1 +980,1 +981,0 +982,1 +983,0 +984,1 +985,0 +986,0 +987,0 +988,1 +989,0 +990,1 +991,0 +992,1 +993,0 +994,0 +995,0 +996,1 +997,0 +998,0 +999,0 +1000,0 +1001,0 +1002,0 +1003,1 +1004,1 +1005,1 +1006,1 +1007,0 +1008,0 +1009,1 +1010,0 +1011,1 +1012,1 +1013,0 +1014,1 +1015,0 +1016,0 +1017,1 +1018,0 +1019,1 +1020,0 +1021,0 +1022,0 +1023,0 +1024,1 +1025,0 +1026,0 +1027,0 +1028,0 +1029,0 +1030,1 +1031,0 +1032,1 +1033,1 +1034,0 +1035,0 +1036,0 +1037,0 +1038,0 +1039,0 +1040,0 +1041,0 +1042,1 +1043,0 +1044,0 +1045,1 +1046,0 +1047,0 +1048,1 +1049,1 +1050,0 +1051,1 +1052,1 +1053,0 +1054,1 +1055,0 +1056,0 +1057,1 +1058,0 +1059,0 +1060,1 +1061,1 +1062,0 +1063,0 +1064,0 +1065,0 +1066,0 +1067,1 +1068,1 +1069,0 +1070,1 +1071,1 +1072,0 +1073,0 +1074,1 +1075,0 +1076,1 +1077,0 +1078,1 +1079,0 +1080,1 +1081,0 +1082,0 +1083,0 +1084,0 +1085,0 +1086,0 +1087,0 +1088,0 +1089,1 +1090,0 +1091,1 +1092,1 +1093,0 +1094,0 +1095,1 +1096,0 +1097,0 +1098,1 +1099,0 +1100,1 +1101,0 +1102,0 +1103,0 +1104,0 +1105,1 +1106,1 +1107,0 +1108,1 +1109,0 +1110,1 +1111,0 +1112,1 +1113,0 +1114,1 +1115,0 +1116,1 +1117,1 +1118,0 +1119,1 +1120,0 +1121,0 +1122,0 +1123,1 +1124,0 +1125,0 +1126,0 +1127,0 +1128,0 +1129,0 +1130,1 +1131,1 +1132,1 +1133,1 +1134,0 +1135,0 +1136,0 +1137,0 +1138,1 +1139,0 +1140,1 +1141,1 +1142,1 +1143,0 +1144,0 +1145,0 +1146,0 +1147,0 +1148,0 +1149,0 +1150,1 +1151,0 +1152,0 +1153,0 +1154,1 +1155,1 +1156,0 +1157,0 +1158,0 +1159,0 +1160,1 +1161,0 +1162,0 +1163,0 +1164,1 +1165,1 +1166,0 +1167,1 +1168,0 +1169,0 +1170,0 +1171,0 +1172,1 +1173,0 +1174,1 +1175,1 +1176,1 +1177,0 +1178,0 +1179,0 +1180,0 +1181,0 +1182,0 +1183,1 +1184,0 +1185,0 +1186,0 +1187,0 +1188,1 +1189,0 +1190,0 +1191,0 +1192,0 +1193,0 +1194,0 +1195,0 +1196,1 +1197,1 +1198,0 +1199,0 +1200,0 +1201,1 +1202,0 +1203,0 +1204,0 +1205,1 +1206,1 +1207,1 +1208,0 +1209,0 +1210,0 +1211,0 +1212,0 +1213,0 +1214,0 +1215,0 +1216,1 +1217,0 +1218,1 +1219,0 +1220,0 +1221,0 +1222,1 +1223,0 +1224,0 +1225,1 +1226,0 +1227,0 +1228,0 +1229,0 +1230,0 +1231,0 +1232,0 +1233,0 +1234,0 +1235,1 +1236,0 +1237,1 +1238,0 +1239,1 +1240,0 +1241,1 +1242,1 +1243,0 +1244,0 +1245,0 +1246,1 +1247,0 +1248,1 +1249,0 +1250,0 +1251,1 +1252,0 +1253,1 +1254,1 +1255,0 +1256,1 +1257,1 +1258,0 +1259,1 +1260,1 +1261,0 +1262,0 +1263,1 +1264,0 +1265,0 +1266,1 +1267,1 +1268,1 +1269,0 +1270,0 +1271,0 +1272,0 +1273,0 +1274,1 +1275,1 +1276,0 +1277,1 +1278,0 +1279,0 +1280,0 +1281,0 +1282,0 +1283,1 +1284,0 +1285,0 +1286,0 +1287,1 +1288,0 +1289,1 +1290,0 +1291,0 +1292,1 +1293,0 +1294,1 +1295,0 +1296,0 +1297,0 +1298,0 +1299,0 +1300,1 +1301,1 +1302,1 +1303,1 +1304,1 +1305,0 +1306,1 +1307,0 +1308,0 +1309,0 diff --git a/titanic/knc.csv b/titanic/knc.csv new file mode 100644 index 0000000..47fc1be --- /dev/null +++ b/titanic/knc.csv @@ -0,0 +1,419 @@ +Survived,PassengerId +0,892 +0,893 +0,894 +0,895 +0,896 +0,897 +1,898 +0,899 +0,900 +0,901 +0,902 +0,903 +1,904 +0,905 +1,906 +1,907 +0,908 +0,909 +1,910 +0,911 +0,912 +1,913 +1,914 +0,915 +1,916 +0,917 +1,918 +0,919 +0,920 +0,921 +0,922 +0,923 +0,924 +0,925 +0,926 +0,927 +1,928 +1,929 +0,930 +1,931 +0,932 +0,933 +0,934 +1,935 +1,936 +0,937 +0,938 +0,939 +1,940 +0,941 +0,942 +0,943 +1,944 +1,945 +0,946 +0,947 +0,948 +0,949 +0,950 +1,951 +0,952 +0,953 +0,954 +1,955 +1,956 +0,957 +1,958 +0,959 +0,960 +1,961 +1,962 +0,963 +1,964 +0,965 +1,966 +0,967 +0,968 +1,969 +0,970 +1,971 +1,972 +0,973 +0,974 +0,975 +0,976 +0,977 +1,978 +1,979 +1,980 +1,981 +0,982 +0,983 +1,984 +0,985 +0,986 +0,987 +1,988 +0,989 +1,990 +0,991 +1,992 +0,993 +0,994 +0,995 +0,996 +0,997 +0,998 +0,999 +0,1000 +0,1001 +0,1002 +1,1003 +1,1004 +1,1005 +1,1006 +0,1007 +0,1008 +1,1009 +0,1010 +1,1011 +1,1012 +0,1013 +1,1014 +0,1015 +0,1016 +0,1017 +0,1018 +0,1019 +0,1020 +0,1021 +0,1022 +1,1023 +0,1024 +0,1025 +0,1026 +0,1027 +0,1028 +0,1029 +1,1030 +0,1031 +1,1032 +1,1033 +0,1034 +0,1035 +0,1036 +0,1037 +0,1038 +0,1039 +0,1040 +0,1041 +1,1042 +0,1043 +0,1044 +0,1045 +0,1046 +0,1047 +1,1048 +1,1049 +0,1050 +0,1051 +1,1052 +1,1053 +1,1054 +0,1055 +0,1056 +1,1057 +0,1058 +0,1059 +1,1060 +1,1061 +0,1062 +0,1063 +0,1064 +0,1065 +0,1066 +1,1067 +1,1068 +0,1069 +1,1070 +1,1071 +0,1072 +0,1073 +1,1074 +0,1075 +1,1076 +0,1077 +1,1078 +0,1079 +0,1080 +0,1081 +0,1082 +0,1083 +0,1084 +0,1085 +1,1086 +0,1087 +0,1088 +1,1089 +0,1090 +1,1091 +1,1092 +1,1093 +0,1094 +1,1095 +0,1096 +0,1097 +0,1098 +0,1099 +1,1100 +0,1101 +0,1102 +0,1103 +0,1104 +1,1105 +0,1106 +0,1107 +1,1108 +1,1109 +1,1110 +0,1111 +1,1112 +0,1113 +1,1114 +0,1115 +1,1116 +1,1117 +0,1118 +1,1119 +0,1120 +0,1121 +0,1122 +1,1123 +0,1124 +0,1125 +0,1126 +0,1127 +0,1128 +0,1129 +1,1130 +1,1131 +1,1132 +1,1133 +0,1134 +0,1135 +0,1136 +0,1137 +1,1138 +0,1139 +1,1140 +1,1141 +1,1142 +0,1143 +0,1144 +0,1145 +0,1146 +0,1147 +0,1148 +0,1149 +1,1150 +0,1151 +0,1152 +0,1153 +1,1154 +1,1155 +0,1156 +0,1157 +0,1158 +0,1159 +1,1160 +0,1161 +0,1162 +0,1163 +1,1164 +1,1165 +0,1166 +1,1167 +0,1168 +0,1169 +0,1170 +0,1171 +1,1172 +1,1173 +1,1174 +1,1175 +0,1176 +0,1177 +0,1178 +0,1179 +0,1180 +0,1181 +1,1182 +1,1183 +0,1184 +1,1185 +0,1186 +0,1187 +1,1188 +0,1189 +1,1190 +0,1191 +0,1192 +0,1193 +0,1194 +0,1195 +1,1196 +1,1197 +0,1198 +1,1199 +0,1200 +0,1201 +0,1202 +0,1203 +0,1204 +0,1205 +1,1206 +1,1207 +0,1208 +0,1209 +0,1210 +0,1211 +0,1212 +0,1213 +0,1214 +0,1215 +1,1216 +0,1217 +1,1218 +0,1219 +0,1220 +0,1221 +1,1222 +0,1223 +0,1224 +0,1225 +0,1226 +0,1227 +0,1228 +0,1229 +0,1230 +0,1231 +0,1232 +0,1233 +0,1234 +1,1235 +0,1236 +1,1237 +0,1238 +0,1239 +0,1240 +0,1241 +1,1242 +0,1243 +0,1244 +0,1245 +0,1246 +0,1247 +1,1248 +0,1249 +0,1250 +0,1251 +1,1252 +1,1253 +1,1254 +0,1255 +1,1256 +0,1257 +0,1258 +0,1259 +1,1260 +0,1261 +0,1262 +1,1263 +0,1264 +0,1265 +1,1266 +1,1267 +1,1268 +0,1269 +0,1270 +0,1271 +0,1272 +0,1273 +1,1274 +0,1275 +0,1276 +1,1277 +0,1278 +0,1279 +0,1280 +0,1281 +0,1282 +1,1283 +0,1284 +0,1285 +0,1286 +1,1287 +0,1288 +1,1289 +0,1290 +0,1291 +1,1292 +0,1293 +1,1294 +1,1295 +0,1296 +0,1297 +0,1298 +0,1299 +1,1300 +1,1301 +1,1302 +1,1303 +1,1304 +0,1305 +1,1306 +0,1307 +0,1308 +0,1309 diff --git a/titanic/test.csv b/titanic/test.csv new file mode 100644 index 0000000..f705412 --- /dev/null +++ b/titanic/test.csv @@ -0,0 +1,419 @@ +PassengerId,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked +892,3,"Kelly, Mr. James",male,34.5,0,0,330911,7.8292,,Q +893,3,"Wilkes, Mrs. James (Ellen Needs)",female,47,1,0,363272,7,,S +894,2,"Myles, Mr. Thomas Francis",male,62,0,0,240276,9.6875,,Q +895,3,"Wirz, Mr. Albert",male,27,0,0,315154,8.6625,,S +896,3,"Hirvonen, Mrs. Alexander (Helga E Lindqvist)",female,22,1,1,3101298,12.2875,,S +897,3,"Svensson, Mr. Johan Cervin",male,14,0,0,7538,9.225,,S +898,3,"Connolly, Miss. Kate",female,30,0,0,330972,7.6292,,Q +899,2,"Caldwell, Mr. Albert Francis",male,26,1,1,248738,29,,S +900,3,"Abrahim, Mrs. Joseph (Sophie Halaut Easu)",female,18,0,0,2657,7.2292,,C +901,3,"Davies, Mr. John Samuel",male,21,2,0,A/4 48871,24.15,,S +902,3,"Ilieff, Mr. Ylio",male,,0,0,349220,7.8958,,S +903,1,"Jones, Mr. Charles Cresson",male,46,0,0,694,26,,S +904,1,"Snyder, Mrs. John Pillsbury (Nelle Stevenson)",female,23,1,0,21228,82.2667,B45,S +905,2,"Howard, Mr. Benjamin",male,63,1,0,24065,26,,S +906,1,"Chaffee, Mrs. Herbert Fuller (Carrie Constance Toogood)",female,47,1,0,W.E.P. 5734,61.175,E31,S +907,2,"del Carlo, Mrs. Sebastiano (Argenia Genovesi)",female,24,1,0,SC/PARIS 2167,27.7208,,C +908,2,"Keane, Mr. Daniel",male,35,0,0,233734,12.35,,Q +909,3,"Assaf, Mr. Gerios",male,21,0,0,2692,7.225,,C +910,3,"Ilmakangas, Miss. Ida Livija",female,27,1,0,STON/O2. 3101270,7.925,,S +911,3,"Assaf Khalil, Mrs. Mariana (Miriam"")""",female,45,0,0,2696,7.225,,C +912,1,"Rothschild, Mr. Martin",male,55,1,0,PC 17603,59.4,,C +913,3,"Olsen, Master. Artur Karl",male,9,0,1,C 17368,3.1708,,S +914,1,"Flegenheim, Mrs. Alfred (Antoinette)",female,,0,0,PC 17598,31.6833,,S +915,1,"Williams, Mr. Richard Norris II",male,21,0,1,PC 17597,61.3792,,C +916,1,"Ryerson, Mrs. Arthur Larned (Emily Maria Borie)",female,48,1,3,PC 17608,262.375,B57 B59 B63 B66,C +917,3,"Robins, Mr. Alexander A",male,50,1,0,A/5. 3337,14.5,,S +918,1,"Ostby, Miss. Helene Ragnhild",female,22,0,1,113509,61.9792,B36,C +919,3,"Daher, Mr. Shedid",male,22.5,0,0,2698,7.225,,C +920,1,"Brady, Mr. John Bertram",male,41,0,0,113054,30.5,A21,S +921,3,"Samaan, Mr. Elias",male,,2,0,2662,21.6792,,C +922,2,"Louch, Mr. Charles Alexander",male,50,1,0,SC/AH 3085,26,,S +923,2,"Jefferys, Mr. Clifford Thomas",male,24,2,0,C.A. 31029,31.5,,S +924,3,"Dean, Mrs. Bertram (Eva Georgetta Light)",female,33,1,2,C.A. 2315,20.575,,S +925,3,"Johnston, Mrs. Andrew G (Elizabeth Lily"" Watson)""",female,,1,2,W./C. 6607,23.45,,S +926,1,"Mock, Mr. Philipp Edmund",male,30,1,0,13236,57.75,C78,C +927,3,"Katavelas, Mr. Vassilios (Catavelas Vassilios"")""",male,18.5,0,0,2682,7.2292,,C +928,3,"Roth, Miss. Sarah A",female,,0,0,342712,8.05,,S +929,3,"Cacic, Miss. Manda",female,21,0,0,315087,8.6625,,S +930,3,"Sap, Mr. Julius",male,25,0,0,345768,9.5,,S +931,3,"Hee, Mr. Ling",male,,0,0,1601,56.4958,,S +932,3,"Karun, Mr. Franz",male,39,0,1,349256,13.4167,,C +933,1,"Franklin, Mr. Thomas Parham",male,,0,0,113778,26.55,D34,S +934,3,"Goldsmith, Mr. Nathan",male,41,0,0,SOTON/O.Q. 3101263,7.85,,S +935,2,"Corbett, Mrs. Walter H (Irene Colvin)",female,30,0,0,237249,13,,S +936,1,"Kimball, Mrs. Edwin Nelson Jr (Gertrude Parsons)",female,45,1,0,11753,52.5542,D19,S +937,3,"Peltomaki, Mr. Nikolai Johannes",male,25,0,0,STON/O 2. 3101291,7.925,,S +938,1,"Chevre, Mr. Paul Romaine",male,45,0,0,PC 17594,29.7,A9,C +939,3,"Shaughnessy, Mr. Patrick",male,,0,0,370374,7.75,,Q +940,1,"Bucknell, Mrs. William Robert (Emma Eliza Ward)",female,60,0,0,11813,76.2917,D15,C +941,3,"Coutts, Mrs. William (Winnie Minnie"" Treanor)""",female,36,0,2,C.A. 37671,15.9,,S +942,1,"Smith, Mr. Lucien Philip",male,24,1,0,13695,60,C31,S +943,2,"Pulbaum, Mr. Franz",male,27,0,0,SC/PARIS 2168,15.0333,,C +944,2,"Hocking, Miss. Ellen Nellie""""",female,20,2,1,29105,23,,S +945,1,"Fortune, Miss. Ethel Flora",female,28,3,2,19950,263,C23 C25 C27,S +946,2,"Mangiavacchi, Mr. Serafino Emilio",male,,0,0,SC/A.3 2861,15.5792,,C +947,3,"Rice, Master. Albert",male,10,4,1,382652,29.125,,Q +948,3,"Cor, Mr. Bartol",male,35,0,0,349230,7.8958,,S +949,3,"Abelseth, Mr. Olaus Jorgensen",male,25,0,0,348122,7.65,F G63,S +950,3,"Davison, Mr. Thomas Henry",male,,1,0,386525,16.1,,S +951,1,"Chaudanson, Miss. Victorine",female,36,0,0,PC 17608,262.375,B61,C +952,3,"Dika, Mr. Mirko",male,17,0,0,349232,7.8958,,S +953,2,"McCrae, Mr. Arthur Gordon",male,32,0,0,237216,13.5,,S +954,3,"Bjorklund, Mr. Ernst Herbert",male,18,0,0,347090,7.75,,S +955,3,"Bradley, Miss. Bridget Delia",female,22,0,0,334914,7.725,,Q +956,1,"Ryerson, Master. John Borie",male,13,2,2,PC 17608,262.375,B57 B59 B63 B66,C +957,2,"Corey, Mrs. Percy C (Mary Phyllis Elizabeth Miller)",female,,0,0,F.C.C. 13534,21,,S +958,3,"Burns, Miss. Mary Delia",female,18,0,0,330963,7.8792,,Q +959,1,"Moore, Mr. Clarence Bloomfield",male,47,0,0,113796,42.4,,S +960,1,"Tucker, Mr. Gilbert Milligan Jr",male,31,0,0,2543,28.5375,C53,C +961,1,"Fortune, Mrs. Mark (Mary McDougald)",female,60,1,4,19950,263,C23 C25 C27,S +962,3,"Mulvihill, Miss. Bertha E",female,24,0,0,382653,7.75,,Q +963,3,"Minkoff, Mr. Lazar",male,21,0,0,349211,7.8958,,S +964,3,"Nieminen, Miss. Manta Josefina",female,29,0,0,3101297,7.925,,S +965,1,"Ovies y Rodriguez, Mr. Servando",male,28.5,0,0,PC 17562,27.7208,D43,C +966,1,"Geiger, Miss. Amalie",female,35,0,0,113503,211.5,C130,C +967,1,"Keeping, Mr. Edwin",male,32.5,0,0,113503,211.5,C132,C +968,3,"Miles, Mr. Frank",male,,0,0,359306,8.05,,S +969,1,"Cornell, Mrs. Robert Clifford (Malvina Helen Lamson)",female,55,2,0,11770,25.7,C101,S +970,2,"Aldworth, Mr. Charles Augustus",male,30,0,0,248744,13,,S +971,3,"Doyle, Miss. Elizabeth",female,24,0,0,368702,7.75,,Q +972,3,"Boulos, Master. Akar",male,6,1,1,2678,15.2458,,C +973,1,"Straus, Mr. Isidor",male,67,1,0,PC 17483,221.7792,C55 C57,S +974,1,"Case, Mr. Howard Brown",male,49,0,0,19924,26,,S +975,3,"Demetri, Mr. Marinko",male,,0,0,349238,7.8958,,S +976,2,"Lamb, Mr. John Joseph",male,,0,0,240261,10.7083,,Q +977,3,"Khalil, Mr. Betros",male,,1,0,2660,14.4542,,C +978,3,"Barry, Miss. Julia",female,27,0,0,330844,7.8792,,Q +979,3,"Badman, Miss. Emily Louisa",female,18,0,0,A/4 31416,8.05,,S +980,3,"O'Donoghue, Ms. Bridget",female,,0,0,364856,7.75,,Q +981,2,"Wells, Master. Ralph Lester",male,2,1,1,29103,23,,S +982,3,"Dyker, Mrs. Adolf Fredrik (Anna Elisabeth Judith Andersson)",female,22,1,0,347072,13.9,,S +983,3,"Pedersen, Mr. Olaf",male,,0,0,345498,7.775,,S +984,1,"Davidson, Mrs. Thornton (Orian Hays)",female,27,1,2,F.C. 12750,52,B71,S +985,3,"Guest, Mr. Robert",male,,0,0,376563,8.05,,S +986,1,"Birnbaum, Mr. Jakob",male,25,0,0,13905,26,,C +987,3,"Tenglin, Mr. Gunnar Isidor",male,25,0,0,350033,7.7958,,S +988,1,"Cavendish, Mrs. Tyrell William (Julia Florence Siegel)",female,76,1,0,19877,78.85,C46,S +989,3,"Makinen, Mr. Kalle Edvard",male,29,0,0,STON/O 2. 3101268,7.925,,S +990,3,"Braf, Miss. Elin Ester Maria",female,20,0,0,347471,7.8542,,S +991,3,"Nancarrow, Mr. William Henry",male,33,0,0,A./5. 3338,8.05,,S +992,1,"Stengel, Mrs. Charles Emil Henry (Annie May Morris)",female,43,1,0,11778,55.4417,C116,C +993,2,"Weisz, Mr. Leopold",male,27,1,0,228414,26,,S +994,3,"Foley, Mr. William",male,,0,0,365235,7.75,,Q +995,3,"Johansson Palmquist, Mr. Oskar Leander",male,26,0,0,347070,7.775,,S +996,3,"Thomas, Mrs. Alexander (Thamine Thelma"")""",female,16,1,1,2625,8.5167,,C +997,3,"Holthen, Mr. Johan Martin",male,28,0,0,C 4001,22.525,,S +998,3,"Buckley, Mr. Daniel",male,21,0,0,330920,7.8208,,Q +999,3,"Ryan, Mr. Edward",male,,0,0,383162,7.75,,Q +1000,3,"Willer, Mr. Aaron (Abi Weller"")""",male,,0,0,3410,8.7125,,S +1001,2,"Swane, Mr. George",male,18.5,0,0,248734,13,F,S +1002,2,"Stanton, Mr. Samuel Ward",male,41,0,0,237734,15.0458,,C +1003,3,"Shine, Miss. Ellen Natalia",female,,0,0,330968,7.7792,,Q +1004,1,"Evans, Miss. Edith Corse",female,36,0,0,PC 17531,31.6792,A29,C +1005,3,"Buckley, Miss. Katherine",female,18.5,0,0,329944,7.2833,,Q +1006,1,"Straus, Mrs. Isidor (Rosalie Ida Blun)",female,63,1,0,PC 17483,221.7792,C55 C57,S +1007,3,"Chronopoulos, Mr. Demetrios",male,18,1,0,2680,14.4542,,C +1008,3,"Thomas, Mr. John",male,,0,0,2681,6.4375,,C +1009,3,"Sandstrom, Miss. Beatrice Irene",female,1,1,1,PP 9549,16.7,G6,S +1010,1,"Beattie, Mr. Thomson",male,36,0,0,13050,75.2417,C6,C +1011,2,"Chapman, Mrs. John Henry (Sara Elizabeth Lawry)",female,29,1,0,SC/AH 29037,26,,S +1012,2,"Watt, Miss. Bertha J",female,12,0,0,C.A. 33595,15.75,,S +1013,3,"Kiernan, Mr. John",male,,1,0,367227,7.75,,Q +1014,1,"Schabert, Mrs. Paul (Emma Mock)",female,35,1,0,13236,57.75,C28,C +1015,3,"Carver, Mr. Alfred John",male,28,0,0,392095,7.25,,S +1016,3,"Kennedy, Mr. John",male,,0,0,368783,7.75,,Q +1017,3,"Cribb, Miss. Laura Alice",female,17,0,1,371362,16.1,,S +1018,3,"Brobeck, Mr. Karl Rudolf",male,22,0,0,350045,7.7958,,S +1019,3,"McCoy, Miss. Alicia",female,,2,0,367226,23.25,,Q +1020,2,"Bowenur, Mr. Solomon",male,42,0,0,211535,13,,S +1021,3,"Petersen, Mr. Marius",male,24,0,0,342441,8.05,,S +1022,3,"Spinner, Mr. Henry John",male,32,0,0,STON/OQ. 369943,8.05,,S +1023,1,"Gracie, Col. Archibald IV",male,53,0,0,113780,28.5,C51,C +1024,3,"Lefebre, Mrs. Frank (Frances)",female,,0,4,4133,25.4667,,S +1025,3,"Thomas, Mr. Charles P",male,,1,0,2621,6.4375,,C +1026,3,"Dintcheff, Mr. Valtcho",male,43,0,0,349226,7.8958,,S +1027,3,"Carlsson, Mr. Carl Robert",male,24,0,0,350409,7.8542,,S +1028,3,"Zakarian, Mr. Mapriededer",male,26.5,0,0,2656,7.225,,C +1029,2,"Schmidt, Mr. August",male,26,0,0,248659,13,,S +1030,3,"Drapkin, Miss. Jennie",female,23,0,0,SOTON/OQ 392083,8.05,,S +1031,3,"Goodwin, Mr. Charles Frederick",male,40,1,6,CA 2144,46.9,,S +1032,3,"Goodwin, Miss. Jessie Allis",female,10,5,2,CA 2144,46.9,,S +1033,1,"Daniels, Miss. Sarah",female,33,0,0,113781,151.55,,S +1034,1,"Ryerson, Mr. Arthur Larned",male,61,1,3,PC 17608,262.375,B57 B59 B63 B66,C +1035,2,"Beauchamp, Mr. Henry James",male,28,0,0,244358,26,,S +1036,1,"Lindeberg-Lind, Mr. Erik Gustaf (Mr Edward Lingrey"")""",male,42,0,0,17475,26.55,,S +1037,3,"Vander Planke, Mr. Julius",male,31,3,0,345763,18,,S +1038,1,"Hilliard, Mr. Herbert Henry",male,,0,0,17463,51.8625,E46,S +1039,3,"Davies, Mr. Evan",male,22,0,0,SC/A4 23568,8.05,,S +1040,1,"Crafton, Mr. John Bertram",male,,0,0,113791,26.55,,S +1041,2,"Lahtinen, Rev. William",male,30,1,1,250651,26,,S +1042,1,"Earnshaw, Mrs. Boulton (Olive Potter)",female,23,0,1,11767,83.1583,C54,C +1043,3,"Matinoff, Mr. Nicola",male,,0,0,349255,7.8958,,C +1044,3,"Storey, Mr. Thomas",male,60.5,0,0,3701,,,S +1045,3,"Klasen, Mrs. (Hulda Kristina Eugenia Lofqvist)",female,36,0,2,350405,12.1833,,S +1046,3,"Asplund, Master. Filip Oscar",male,13,4,2,347077,31.3875,,S +1047,3,"Duquemin, Mr. Joseph",male,24,0,0,S.O./P.P. 752,7.55,,S +1048,1,"Bird, Miss. Ellen",female,29,0,0,PC 17483,221.7792,C97,S +1049,3,"Lundin, Miss. Olga Elida",female,23,0,0,347469,7.8542,,S +1050,1,"Borebank, Mr. John James",male,42,0,0,110489,26.55,D22,S +1051,3,"Peacock, Mrs. Benjamin (Edith Nile)",female,26,0,2,SOTON/O.Q. 3101315,13.775,,S +1052,3,"Smyth, Miss. Julia",female,,0,0,335432,7.7333,,Q +1053,3,"Touma, Master. Georges Youssef",male,7,1,1,2650,15.2458,,C +1054,2,"Wright, Miss. Marion",female,26,0,0,220844,13.5,,S +1055,3,"Pearce, Mr. Ernest",male,,0,0,343271,7,,S +1056,2,"Peruschitz, Rev. Joseph Maria",male,41,0,0,237393,13,,S +1057,3,"Kink-Heilmann, Mrs. Anton (Luise Heilmann)",female,26,1,1,315153,22.025,,S +1058,1,"Brandeis, Mr. Emil",male,48,0,0,PC 17591,50.4958,B10,C +1059,3,"Ford, Mr. Edward Watson",male,18,2,2,W./C. 6608,34.375,,S +1060,1,"Cassebeer, Mrs. Henry Arthur Jr (Eleanor Genevieve Fosdick)",female,,0,0,17770,27.7208,,C +1061,3,"Hellstrom, Miss. Hilda Maria",female,22,0,0,7548,8.9625,,S +1062,3,"Lithman, Mr. Simon",male,,0,0,S.O./P.P. 251,7.55,,S +1063,3,"Zakarian, Mr. Ortin",male,27,0,0,2670,7.225,,C +1064,3,"Dyker, Mr. Adolf Fredrik",male,23,1,0,347072,13.9,,S +1065,3,"Torfa, Mr. Assad",male,,0,0,2673,7.2292,,C +1066,3,"Asplund, Mr. Carl Oscar Vilhelm Gustafsson",male,40,1,5,347077,31.3875,,S +1067,2,"Brown, Miss. Edith Eileen",female,15,0,2,29750,39,,S +1068,2,"Sincock, Miss. Maude",female,20,0,0,C.A. 33112,36.75,,S +1069,1,"Stengel, Mr. Charles Emil Henry",male,54,1,0,11778,55.4417,C116,C +1070,2,"Becker, Mrs. Allen Oliver (Nellie E Baumgardner)",female,36,0,3,230136,39,F4,S +1071,1,"Compton, Mrs. Alexander Taylor (Mary Eliza Ingersoll)",female,64,0,2,PC 17756,83.1583,E45,C +1072,2,"McCrie, Mr. James Matthew",male,30,0,0,233478,13,,S +1073,1,"Compton, Mr. Alexander Taylor Jr",male,37,1,1,PC 17756,83.1583,E52,C +1074,1,"Marvin, Mrs. Daniel Warner (Mary Graham Carmichael Farquarson)",female,18,1,0,113773,53.1,D30,S +1075,3,"Lane, Mr. Patrick",male,,0,0,7935,7.75,,Q +1076,1,"Douglas, Mrs. Frederick Charles (Mary Helene Baxter)",female,27,1,1,PC 17558,247.5208,B58 B60,C +1077,2,"Maybery, Mr. Frank Hubert",male,40,0,0,239059,16,,S +1078,2,"Phillips, Miss. Alice Frances Louisa",female,21,0,1,S.O./P.P. 2,21,,S +1079,3,"Davies, Mr. Joseph",male,17,2,0,A/4 48873,8.05,,S +1080,3,"Sage, Miss. Ada",female,,8,2,CA. 2343,69.55,,S +1081,2,"Veal, Mr. James",male,40,0,0,28221,13,,S +1082,2,"Angle, Mr. William A",male,34,1,0,226875,26,,S +1083,1,"Salomon, Mr. Abraham L",male,,0,0,111163,26,,S +1084,3,"van Billiard, Master. Walter John",male,11.5,1,1,A/5. 851,14.5,,S +1085,2,"Lingane, Mr. John",male,61,0,0,235509,12.35,,Q +1086,2,"Drew, Master. Marshall Brines",male,8,0,2,28220,32.5,,S +1087,3,"Karlsson, Mr. Julius Konrad Eugen",male,33,0,0,347465,7.8542,,S +1088,1,"Spedden, Master. Robert Douglas",male,6,0,2,16966,134.5,E34,C +1089,3,"Nilsson, Miss. Berta Olivia",female,18,0,0,347066,7.775,,S +1090,2,"Baimbrigge, Mr. Charles Robert",male,23,0,0,C.A. 31030,10.5,,S +1091,3,"Rasmussen, Mrs. (Lena Jacobsen Solvang)",female,,0,0,65305,8.1125,,S +1092,3,"Murphy, Miss. Nora",female,,0,0,36568,15.5,,Q +1093,3,"Danbom, Master. Gilbert Sigvard Emanuel",male,0.33,0,2,347080,14.4,,S +1094,1,"Astor, Col. John Jacob",male,47,1,0,PC 17757,227.525,C62 C64,C +1095,2,"Quick, Miss. Winifred Vera",female,8,1,1,26360,26,,S +1096,2,"Andrew, Mr. Frank Thomas",male,25,0,0,C.A. 34050,10.5,,S +1097,1,"Omont, Mr. Alfred Fernand",male,,0,0,F.C. 12998,25.7417,,C +1098,3,"McGowan, Miss. Katherine",female,35,0,0,9232,7.75,,Q +1099,2,"Collett, Mr. Sidney C Stuart",male,24,0,0,28034,10.5,,S +1100,1,"Rosenbaum, Miss. Edith Louise",female,33,0,0,PC 17613,27.7208,A11,C +1101,3,"Delalic, Mr. Redjo",male,25,0,0,349250,7.8958,,S +1102,3,"Andersen, Mr. Albert Karvin",male,32,0,0,C 4001,22.525,,S +1103,3,"Finoli, Mr. Luigi",male,,0,0,SOTON/O.Q. 3101308,7.05,,S +1104,2,"Deacon, Mr. Percy William",male,17,0,0,S.O.C. 14879,73.5,,S +1105,2,"Howard, Mrs. Benjamin (Ellen Truelove Arman)",female,60,1,0,24065,26,,S +1106,3,"Andersson, Miss. Ida Augusta Margareta",female,38,4,2,347091,7.775,,S +1107,1,"Head, Mr. Christopher",male,42,0,0,113038,42.5,B11,S +1108,3,"Mahon, Miss. Bridget Delia",female,,0,0,330924,7.8792,,Q +1109,1,"Wick, Mr. George Dennick",male,57,1,1,36928,164.8667,,S +1110,1,"Widener, Mrs. George Dunton (Eleanor Elkins)",female,50,1,1,113503,211.5,C80,C +1111,3,"Thomson, Mr. Alexander Morrison",male,,0,0,32302,8.05,,S +1112,2,"Duran y More, Miss. Florentina",female,30,1,0,SC/PARIS 2148,13.8583,,C +1113,3,"Reynolds, Mr. Harold J",male,21,0,0,342684,8.05,,S +1114,2,"Cook, Mrs. (Selena Rogers)",female,22,0,0,W./C. 14266,10.5,F33,S +1115,3,"Karlsson, Mr. Einar Gervasius",male,21,0,0,350053,7.7958,,S +1116,1,"Candee, Mrs. Edward (Helen Churchill Hungerford)",female,53,0,0,PC 17606,27.4458,,C +1117,3,"Moubarek, Mrs. George (Omine Amenia"" Alexander)""",female,,0,2,2661,15.2458,,C +1118,3,"Asplund, Mr. Johan Charles",male,23,0,0,350054,7.7958,,S +1119,3,"McNeill, Miss. Bridget",female,,0,0,370368,7.75,,Q +1120,3,"Everett, Mr. Thomas James",male,40.5,0,0,C.A. 6212,15.1,,S +1121,2,"Hocking, Mr. Samuel James Metcalfe",male,36,0,0,242963,13,,S +1122,2,"Sweet, Mr. George Frederick",male,14,0,0,220845,65,,S +1123,1,"Willard, Miss. Constance",female,21,0,0,113795,26.55,,S +1124,3,"Wiklund, Mr. Karl Johan",male,21,1,0,3101266,6.4958,,S +1125,3,"Linehan, Mr. Michael",male,,0,0,330971,7.8792,,Q +1126,1,"Cumings, Mr. John Bradley",male,39,1,0,PC 17599,71.2833,C85,C +1127,3,"Vendel, Mr. Olof Edvin",male,20,0,0,350416,7.8542,,S +1128,1,"Warren, Mr. Frank Manley",male,64,1,0,110813,75.25,D37,C +1129,3,"Baccos, Mr. Raffull",male,20,0,0,2679,7.225,,C +1130,2,"Hiltunen, Miss. Marta",female,18,1,1,250650,13,,S +1131,1,"Douglas, Mrs. Walter Donald (Mahala Dutton)",female,48,1,0,PC 17761,106.425,C86,C +1132,1,"Lindstrom, Mrs. Carl Johan (Sigrid Posse)",female,55,0,0,112377,27.7208,,C +1133,2,"Christy, Mrs. (Alice Frances)",female,45,0,2,237789,30,,S +1134,1,"Spedden, Mr. Frederic Oakley",male,45,1,1,16966,134.5,E34,C +1135,3,"Hyman, Mr. Abraham",male,,0,0,3470,7.8875,,S +1136,3,"Johnston, Master. William Arthur Willie""""",male,,1,2,W./C. 6607,23.45,,S +1137,1,"Kenyon, Mr. Frederick R",male,41,1,0,17464,51.8625,D21,S +1138,2,"Karnes, Mrs. J Frank (Claire Bennett)",female,22,0,0,F.C.C. 13534,21,,S +1139,2,"Drew, Mr. James Vivian",male,42,1,1,28220,32.5,,S +1140,2,"Hold, Mrs. Stephen (Annie Margaret Hill)",female,29,1,0,26707,26,,S +1141,3,"Khalil, Mrs. Betros (Zahie Maria"" Elias)""",female,,1,0,2660,14.4542,,C +1142,2,"West, Miss. Barbara J",female,0.92,1,2,C.A. 34651,27.75,,S +1143,3,"Abrahamsson, Mr. Abraham August Johannes",male,20,0,0,SOTON/O2 3101284,7.925,,S +1144,1,"Clark, Mr. Walter Miller",male,27,1,0,13508,136.7792,C89,C +1145,3,"Salander, Mr. Karl Johan",male,24,0,0,7266,9.325,,S +1146,3,"Wenzel, Mr. Linhart",male,32.5,0,0,345775,9.5,,S +1147,3,"MacKay, Mr. George William",male,,0,0,C.A. 42795,7.55,,S +1148,3,"Mahon, Mr. John",male,,0,0,AQ/4 3130,7.75,,Q +1149,3,"Niklasson, Mr. Samuel",male,28,0,0,363611,8.05,,S +1150,2,"Bentham, Miss. Lilian W",female,19,0,0,28404,13,,S +1151,3,"Midtsjo, Mr. Karl Albert",male,21,0,0,345501,7.775,,S +1152,3,"de Messemaeker, Mr. Guillaume Joseph",male,36.5,1,0,345572,17.4,,S +1153,3,"Nilsson, Mr. August Ferdinand",male,21,0,0,350410,7.8542,,S +1154,2,"Wells, Mrs. Arthur Henry (Addie"" Dart Trevaskis)""",female,29,0,2,29103,23,,S +1155,3,"Klasen, Miss. Gertrud Emilia",female,1,1,1,350405,12.1833,,S +1156,2,"Portaluppi, Mr. Emilio Ilario Giuseppe",male,30,0,0,C.A. 34644,12.7375,,C +1157,3,"Lyntakoff, Mr. Stanko",male,,0,0,349235,7.8958,,S +1158,1,"Chisholm, Mr. Roderick Robert Crispin",male,,0,0,112051,0,,S +1159,3,"Warren, Mr. Charles William",male,,0,0,C.A. 49867,7.55,,S +1160,3,"Howard, Miss. May Elizabeth",female,,0,0,A. 2. 39186,8.05,,S +1161,3,"Pokrnic, Mr. Mate",male,17,0,0,315095,8.6625,,S +1162,1,"McCaffry, Mr. Thomas Francis",male,46,0,0,13050,75.2417,C6,C +1163,3,"Fox, Mr. Patrick",male,,0,0,368573,7.75,,Q +1164,1,"Clark, Mrs. Walter Miller (Virginia McDowell)",female,26,1,0,13508,136.7792,C89,C +1165,3,"Lennon, Miss. Mary",female,,1,0,370371,15.5,,Q +1166,3,"Saade, Mr. Jean Nassr",male,,0,0,2676,7.225,,C +1167,2,"Bryhl, Miss. Dagmar Jenny Ingeborg ",female,20,1,0,236853,26,,S +1168,2,"Parker, Mr. Clifford Richard",male,28,0,0,SC 14888,10.5,,S +1169,2,"Faunthorpe, Mr. Harry",male,40,1,0,2926,26,,S +1170,2,"Ware, Mr. John James",male,30,1,0,CA 31352,21,,S +1171,2,"Oxenham, Mr. Percy Thomas",male,22,0,0,W./C. 14260,10.5,,S +1172,3,"Oreskovic, Miss. Jelka",female,23,0,0,315085,8.6625,,S +1173,3,"Peacock, Master. Alfred Edward",male,0.75,1,1,SOTON/O.Q. 3101315,13.775,,S +1174,3,"Fleming, Miss. Honora",female,,0,0,364859,7.75,,Q +1175,3,"Touma, Miss. Maria Youssef",female,9,1,1,2650,15.2458,,C +1176,3,"Rosblom, Miss. Salli Helena",female,2,1,1,370129,20.2125,,S +1177,3,"Dennis, Mr. William",male,36,0,0,A/5 21175,7.25,,S +1178,3,"Franklin, Mr. Charles (Charles Fardon)",male,,0,0,SOTON/O.Q. 3101314,7.25,,S +1179,1,"Snyder, Mr. John Pillsbury",male,24,1,0,21228,82.2667,B45,S +1180,3,"Mardirosian, Mr. Sarkis",male,,0,0,2655,7.2292,F E46,C +1181,3,"Ford, Mr. Arthur",male,,0,0,A/5 1478,8.05,,S +1182,1,"Rheims, Mr. George Alexander Lucien",male,,0,0,PC 17607,39.6,,S +1183,3,"Daly, Miss. Margaret Marcella Maggie""""",female,30,0,0,382650,6.95,,Q +1184,3,"Nasr, Mr. Mustafa",male,,0,0,2652,7.2292,,C +1185,1,"Dodge, Dr. Washington",male,53,1,1,33638,81.8583,A34,S +1186,3,"Wittevrongel, Mr. Camille",male,36,0,0,345771,9.5,,S +1187,3,"Angheloff, Mr. Minko",male,26,0,0,349202,7.8958,,S +1188,2,"Laroche, Miss. Louise",female,1,1,2,SC/Paris 2123,41.5792,,C +1189,3,"Samaan, Mr. Hanna",male,,2,0,2662,21.6792,,C +1190,1,"Loring, Mr. Joseph Holland",male,30,0,0,113801,45.5,,S +1191,3,"Johansson, Mr. Nils",male,29,0,0,347467,7.8542,,S +1192,3,"Olsson, Mr. Oscar Wilhelm",male,32,0,0,347079,7.775,,S +1193,2,"Malachard, Mr. Noel",male,,0,0,237735,15.0458,D,C +1194,2,"Phillips, Mr. Escott Robert",male,43,0,1,S.O./P.P. 2,21,,S +1195,3,"Pokrnic, Mr. Tome",male,24,0,0,315092,8.6625,,S +1196,3,"McCarthy, Miss. Catherine Katie""""",female,,0,0,383123,7.75,,Q +1197,1,"Crosby, Mrs. Edward Gifford (Catherine Elizabeth Halstead)",female,64,1,1,112901,26.55,B26,S +1198,1,"Allison, Mr. Hudson Joshua Creighton",male,30,1,2,113781,151.55,C22 C26,S +1199,3,"Aks, Master. Philip Frank",male,0.83,0,1,392091,9.35,,S +1200,1,"Hays, Mr. Charles Melville",male,55,1,1,12749,93.5,B69,S +1201,3,"Hansen, Mrs. Claus Peter (Jennie L Howard)",female,45,1,0,350026,14.1083,,S +1202,3,"Cacic, Mr. Jego Grga",male,18,0,0,315091,8.6625,,S +1203,3,"Vartanian, Mr. David",male,22,0,0,2658,7.225,,C +1204,3,"Sadowitz, Mr. Harry",male,,0,0,LP 1588,7.575,,S +1205,3,"Carr, Miss. Jeannie",female,37,0,0,368364,7.75,,Q +1206,1,"White, Mrs. John Stuart (Ella Holmes)",female,55,0,0,PC 17760,135.6333,C32,C +1207,3,"Hagardon, Miss. Kate",female,17,0,0,AQ/3. 30631,7.7333,,Q +1208,1,"Spencer, Mr. William Augustus",male,57,1,0,PC 17569,146.5208,B78,C +1209,2,"Rogers, Mr. Reginald Harry",male,19,0,0,28004,10.5,,S +1210,3,"Jonsson, Mr. Nils Hilding",male,27,0,0,350408,7.8542,,S +1211,2,"Jefferys, Mr. Ernest Wilfred",male,22,2,0,C.A. 31029,31.5,,S +1212,3,"Andersson, Mr. Johan Samuel",male,26,0,0,347075,7.775,,S +1213,3,"Krekorian, Mr. Neshan",male,25,0,0,2654,7.2292,F E57,C +1214,2,"Nesson, Mr. Israel",male,26,0,0,244368,13,F2,S +1215,1,"Rowe, Mr. Alfred G",male,33,0,0,113790,26.55,,S +1216,1,"Kreuchen, Miss. Emilie",female,39,0,0,24160,211.3375,,S +1217,3,"Assam, Mr. Ali",male,23,0,0,SOTON/O.Q. 3101309,7.05,,S +1218,2,"Becker, Miss. Ruth Elizabeth",female,12,2,1,230136,39,F4,S +1219,1,"Rosenshine, Mr. George (Mr George Thorne"")""",male,46,0,0,PC 17585,79.2,,C +1220,2,"Clarke, Mr. Charles Valentine",male,29,1,0,2003,26,,S +1221,2,"Enander, Mr. Ingvar",male,21,0,0,236854,13,,S +1222,2,"Davies, Mrs. John Morgan (Elizabeth Agnes Mary White) ",female,48,0,2,C.A. 33112,36.75,,S +1223,1,"Dulles, Mr. William Crothers",male,39,0,0,PC 17580,29.7,A18,C +1224,3,"Thomas, Mr. Tannous",male,,0,0,2684,7.225,,C +1225,3,"Nakid, Mrs. Said (Waika Mary"" Mowad)""",female,19,1,1,2653,15.7417,,C +1226,3,"Cor, Mr. Ivan",male,27,0,0,349229,7.8958,,S +1227,1,"Maguire, Mr. John Edward",male,30,0,0,110469,26,C106,S +1228,2,"de Brito, Mr. Jose Joaquim",male,32,0,0,244360,13,,S +1229,3,"Elias, Mr. Joseph",male,39,0,2,2675,7.2292,,C +1230,2,"Denbury, Mr. Herbert",male,25,0,0,C.A. 31029,31.5,,S +1231,3,"Betros, Master. Seman",male,,0,0,2622,7.2292,,C +1232,2,"Fillbrook, Mr. Joseph Charles",male,18,0,0,C.A. 15185,10.5,,S +1233,3,"Lundstrom, Mr. Thure Edvin",male,32,0,0,350403,7.5792,,S +1234,3,"Sage, Mr. John George",male,,1,9,CA. 2343,69.55,,S +1235,1,"Cardeza, Mrs. James Warburton Martinez (Charlotte Wardle Drake)",female,58,0,1,PC 17755,512.3292,B51 B53 B55,C +1236,3,"van Billiard, Master. James William",male,,1,1,A/5. 851,14.5,,S +1237,3,"Abelseth, Miss. Karen Marie",female,16,0,0,348125,7.65,,S +1238,2,"Botsford, Mr. William Hull",male,26,0,0,237670,13,,S +1239,3,"Whabee, Mrs. George Joseph (Shawneene Abi-Saab)",female,38,0,0,2688,7.2292,,C +1240,2,"Giles, Mr. Ralph",male,24,0,0,248726,13.5,,S +1241,2,"Walcroft, Miss. Nellie",female,31,0,0,F.C.C. 13528,21,,S +1242,1,"Greenfield, Mrs. Leo David (Blanche Strouse)",female,45,0,1,PC 17759,63.3583,D10 D12,C +1243,2,"Stokes, Mr. Philip Joseph",male,25,0,0,F.C.C. 13540,10.5,,S +1244,2,"Dibden, Mr. William",male,18,0,0,S.O.C. 14879,73.5,,S +1245,2,"Herman, Mr. Samuel",male,49,1,2,220845,65,,S +1246,3,"Dean, Miss. Elizabeth Gladys Millvina""""",female,0.17,1,2,C.A. 2315,20.575,,S +1247,1,"Julian, Mr. Henry Forbes",male,50,0,0,113044,26,E60,S +1248,1,"Brown, Mrs. John Murray (Caroline Lane Lamson)",female,59,2,0,11769,51.4792,C101,S +1249,3,"Lockyer, Mr. Edward",male,,0,0,1222,7.8792,,S +1250,3,"O'Keefe, Mr. Patrick",male,,0,0,368402,7.75,,Q +1251,3,"Lindell, Mrs. Edvard Bengtsson (Elin Gerda Persson)",female,30,1,0,349910,15.55,,S +1252,3,"Sage, Master. William Henry",male,14.5,8,2,CA. 2343,69.55,,S +1253,2,"Mallet, Mrs. Albert (Antoinette Magnin)",female,24,1,1,S.C./PARIS 2079,37.0042,,C +1254,2,"Ware, Mrs. John James (Florence Louise Long)",female,31,0,0,CA 31352,21,,S +1255,3,"Strilic, Mr. Ivan",male,27,0,0,315083,8.6625,,S +1256,1,"Harder, Mrs. George Achilles (Dorothy Annan)",female,25,1,0,11765,55.4417,E50,C +1257,3,"Sage, Mrs. John (Annie Bullen)",female,,1,9,CA. 2343,69.55,,S +1258,3,"Caram, Mr. Joseph",male,,1,0,2689,14.4583,,C +1259,3,"Riihivouri, Miss. Susanna Juhantytar Sanni""""",female,22,0,0,3101295,39.6875,,S +1260,1,"Gibson, Mrs. Leonard (Pauline C Boeson)",female,45,0,1,112378,59.4,,C +1261,2,"Pallas y Castello, Mr. Emilio",male,29,0,0,SC/PARIS 2147,13.8583,,C +1262,2,"Giles, Mr. Edgar",male,21,1,0,28133,11.5,,S +1263,1,"Wilson, Miss. Helen Alice",female,31,0,0,16966,134.5,E39 E41,C +1264,1,"Ismay, Mr. Joseph Bruce",male,49,0,0,112058,0,B52 B54 B56,S +1265,2,"Harbeck, Mr. William H",male,44,0,0,248746,13,,S +1266,1,"Dodge, Mrs. Washington (Ruth Vidaver)",female,54,1,1,33638,81.8583,A34,S +1267,1,"Bowen, Miss. Grace Scott",female,45,0,0,PC 17608,262.375,,C +1268,3,"Kink, Miss. Maria",female,22,2,0,315152,8.6625,,S +1269,2,"Cotterill, Mr. Henry Harry""""",male,21,0,0,29107,11.5,,S +1270,1,"Hipkins, Mr. William Edward",male,55,0,0,680,50,C39,S +1271,3,"Asplund, Master. Carl Edgar",male,5,4,2,347077,31.3875,,S +1272,3,"O'Connor, Mr. Patrick",male,,0,0,366713,7.75,,Q +1273,3,"Foley, Mr. Joseph",male,26,0,0,330910,7.8792,,Q +1274,3,"Risien, Mrs. Samuel (Emma)",female,,0,0,364498,14.5,,S +1275,3,"McNamee, Mrs. Neal (Eileen O'Leary)",female,19,1,0,376566,16.1,,S +1276,2,"Wheeler, Mr. Edwin Frederick""""",male,,0,0,SC/PARIS 2159,12.875,,S +1277,2,"Herman, Miss. Kate",female,24,1,2,220845,65,,S +1278,3,"Aronsson, Mr. Ernst Axel Algot",male,24,0,0,349911,7.775,,S +1279,2,"Ashby, Mr. John",male,57,0,0,244346,13,,S +1280,3,"Canavan, Mr. Patrick",male,21,0,0,364858,7.75,,Q +1281,3,"Palsson, Master. Paul Folke",male,6,3,1,349909,21.075,,S +1282,1,"Payne, Mr. Vivian Ponsonby",male,23,0,0,12749,93.5,B24,S +1283,1,"Lines, Mrs. Ernest H (Elizabeth Lindsey James)",female,51,0,1,PC 17592,39.4,D28,S +1284,3,"Abbott, Master. Eugene Joseph",male,13,0,2,C.A. 2673,20.25,,S +1285,2,"Gilbert, Mr. William",male,47,0,0,C.A. 30769,10.5,,S +1286,3,"Kink-Heilmann, Mr. Anton",male,29,3,1,315153,22.025,,S +1287,1,"Smith, Mrs. Lucien Philip (Mary Eloise Hughes)",female,18,1,0,13695,60,C31,S +1288,3,"Colbert, Mr. Patrick",male,24,0,0,371109,7.25,,Q +1289,1,"Frolicher-Stehli, Mrs. Maxmillian (Margaretha Emerentia Stehli)",female,48,1,1,13567,79.2,B41,C +1290,3,"Larsson-Rondberg, Mr. Edvard A",male,22,0,0,347065,7.775,,S +1291,3,"Conlon, Mr. Thomas Henry",male,31,0,0,21332,7.7333,,Q +1292,1,"Bonnell, Miss. Caroline",female,30,0,0,36928,164.8667,C7,S +1293,2,"Gale, Mr. Harry",male,38,1,0,28664,21,,S +1294,1,"Gibson, Miss. Dorothy Winifred",female,22,0,1,112378,59.4,,C +1295,1,"Carrau, Mr. Jose Pedro",male,17,0,0,113059,47.1,,S +1296,1,"Frauenthal, Mr. Isaac Gerald",male,43,1,0,17765,27.7208,D40,C +1297,2,"Nourney, Mr. Alfred (Baron von Drachstedt"")""",male,20,0,0,SC/PARIS 2166,13.8625,D38,C +1298,2,"Ware, Mr. William Jeffery",male,23,1,0,28666,10.5,,S +1299,1,"Widener, Mr. George Dunton",male,50,1,1,113503,211.5,C80,C +1300,3,"Riordan, Miss. Johanna Hannah""""",female,,0,0,334915,7.7208,,Q +1301,3,"Peacock, Miss. Treasteall",female,3,1,1,SOTON/O.Q. 3101315,13.775,,S +1302,3,"Naughton, Miss. Hannah",female,,0,0,365237,7.75,,Q +1303,1,"Minahan, Mrs. William Edward (Lillian E Thorpe)",female,37,1,0,19928,90,C78,Q +1304,3,"Henriksson, Miss. Jenny Lovisa",female,28,0,0,347086,7.775,,S +1305,3,"Spector, Mr. Woolf",male,,0,0,A.5. 3236,8.05,,S +1306,1,"Oliva y Ocana, Dona. Fermina",female,39,0,0,PC 17758,108.9,C105,C +1307,3,"Saether, Mr. Simon Sivertsen",male,38.5,0,0,SOTON/O.Q. 3101262,7.25,,S +1308,3,"Ware, Mr. Frederick",male,,0,0,359309,8.05,,S +1309,3,"Peter, Master. Michael J",male,,1,1,2668,22.3583,,C diff --git a/titanic/train.csv b/titanic/train.csv new file mode 100644 index 0000000..63b68ab --- /dev/null +++ b/titanic/train.csv @@ -0,0 +1,892 @@ +PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked +1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5 21171,7.25,,S +2,1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female,38,1,0,PC 17599,71.2833,C85,C +3,1,3,"Heikkinen, Miss. Laina",female,26,0,0,STON/O2. 3101282,7.925,,S +4,1,1,"Futrelle, Mrs. Jacques Heath (Lily May Peel)",female,35,1,0,113803,53.1,C123,S +5,0,3,"Allen, Mr. William Henry",male,35,0,0,373450,8.05,,S +6,0,3,"Moran, Mr. James",male,,0,0,330877,8.4583,,Q +7,0,1,"McCarthy, Mr. Timothy J",male,54,0,0,17463,51.8625,E46,S +8,0,3,"Palsson, Master. Gosta Leonard",male,2,3,1,349909,21.075,,S +9,1,3,"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)",female,27,0,2,347742,11.1333,,S +10,1,2,"Nasser, Mrs. Nicholas (Adele Achem)",female,14,1,0,237736,30.0708,,C +11,1,3,"Sandstrom, Miss. Marguerite Rut",female,4,1,1,PP 9549,16.7,G6,S +12,1,1,"Bonnell, Miss. Elizabeth",female,58,0,0,113783,26.55,C103,S +13,0,3,"Saundercock, Mr. William Henry",male,20,0,0,A/5. 2151,8.05,,S +14,0,3,"Andersson, Mr. Anders Johan",male,39,1,5,347082,31.275,,S +15,0,3,"Vestrom, Miss. Hulda Amanda Adolfina",female,14,0,0,350406,7.8542,,S +16,1,2,"Hewlett, Mrs. (Mary D Kingcome) ",female,55,0,0,248706,16,,S +17,0,3,"Rice, Master. Eugene",male,2,4,1,382652,29.125,,Q +18,1,2,"Williams, Mr. Charles Eugene",male,,0,0,244373,13,,S +19,0,3,"Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)",female,31,1,0,345763,18,,S +20,1,3,"Masselmani, Mrs. Fatima",female,,0,0,2649,7.225,,C +21,0,2,"Fynney, Mr. Joseph J",male,35,0,0,239865,26,,S +22,1,2,"Beesley, Mr. Lawrence",male,34,0,0,248698,13,D56,S +23,1,3,"McGowan, Miss. Anna ""Annie""",female,15,0,0,330923,8.0292,,Q +24,1,1,"Sloper, Mr. William Thompson",male,28,0,0,113788,35.5,A6,S +25,0,3,"Palsson, Miss. Torborg Danira",female,8,3,1,349909,21.075,,S +26,1,3,"Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)",female,38,1,5,347077,31.3875,,S +27,0,3,"Emir, Mr. Farred Chehab",male,,0,0,2631,7.225,,C +28,0,1,"Fortune, Mr. Charles Alexander",male,19,3,2,19950,263,C23 C25 C27,S +29,1,3,"O'Dwyer, Miss. Ellen ""Nellie""",female,,0,0,330959,7.8792,,Q +30,0,3,"Todoroff, Mr. Lalio",male,,0,0,349216,7.8958,,S +31,0,1,"Uruchurtu, Don. Manuel E",male,40,0,0,PC 17601,27.7208,,C +32,1,1,"Spencer, Mrs. William Augustus (Marie Eugenie)",female,,1,0,PC 17569,146.5208,B78,C +33,1,3,"Glynn, Miss. Mary Agatha",female,,0,0,335677,7.75,,Q +34,0,2,"Wheadon, Mr. Edward H",male,66,0,0,C.A. 24579,10.5,,S +35,0,1,"Meyer, Mr. Edgar Joseph",male,28,1,0,PC 17604,82.1708,,C +36,0,1,"Holverson, Mr. Alexander Oskar",male,42,1,0,113789,52,,S +37,1,3,"Mamee, Mr. Hanna",male,,0,0,2677,7.2292,,C +38,0,3,"Cann, Mr. Ernest Charles",male,21,0,0,A./5. 2152,8.05,,S +39,0,3,"Vander Planke, Miss. Augusta Maria",female,18,2,0,345764,18,,S +40,1,3,"Nicola-Yarred, Miss. Jamila",female,14,1,0,2651,11.2417,,C +41,0,3,"Ahlin, Mrs. Johan (Johanna Persdotter Larsson)",female,40,1,0,7546,9.475,,S +42,0,2,"Turpin, Mrs. William John Robert (Dorothy Ann Wonnacott)",female,27,1,0,11668,21,,S +43,0,3,"Kraeff, Mr. Theodor",male,,0,0,349253,7.8958,,C +44,1,2,"Laroche, Miss. Simonne Marie Anne Andree",female,3,1,2,SC/Paris 2123,41.5792,,C +45,1,3,"Devaney, Miss. Margaret Delia",female,19,0,0,330958,7.8792,,Q +46,0,3,"Rogers, Mr. William John",male,,0,0,S.C./A.4. 23567,8.05,,S +47,0,3,"Lennon, Mr. Denis",male,,1,0,370371,15.5,,Q +48,1,3,"O'Driscoll, Miss. Bridget",female,,0,0,14311,7.75,,Q +49,0,3,"Samaan, Mr. Youssef",male,,2,0,2662,21.6792,,C +50,0,3,"Arnold-Franchi, Mrs. Josef (Josefine Franchi)",female,18,1,0,349237,17.8,,S +51,0,3,"Panula, Master. Juha Niilo",male,7,4,1,3101295,39.6875,,S +52,0,3,"Nosworthy, Mr. Richard Cater",male,21,0,0,A/4. 39886,7.8,,S +53,1,1,"Harper, Mrs. Henry Sleeper (Myna Haxtun)",female,49,1,0,PC 17572,76.7292,D33,C +54,1,2,"Faunthorpe, Mrs. Lizzie (Elizabeth Anne Wilkinson)",female,29,1,0,2926,26,,S +55,0,1,"Ostby, Mr. Engelhart Cornelius",male,65,0,1,113509,61.9792,B30,C +56,1,1,"Woolner, Mr. Hugh",male,,0,0,19947,35.5,C52,S +57,1,2,"Rugg, Miss. Emily",female,21,0,0,C.A. 31026,10.5,,S +58,0,3,"Novel, Mr. Mansouer",male,28.5,0,0,2697,7.2292,,C +59,1,2,"West, Miss. Constance Mirium",female,5,1,2,C.A. 34651,27.75,,S +60,0,3,"Goodwin, Master. William Frederick",male,11,5,2,CA 2144,46.9,,S +61,0,3,"Sirayanian, Mr. Orsen",male,22,0,0,2669,7.2292,,C +62,1,1,"Icard, Miss. Amelie",female,38,0,0,113572,80,B28, +63,0,1,"Harris, Mr. Henry Birkhardt",male,45,1,0,36973,83.475,C83,S +64,0,3,"Skoog, Master. Harald",male,4,3,2,347088,27.9,,S +65,0,1,"Stewart, Mr. Albert A",male,,0,0,PC 17605,27.7208,,C +66,1,3,"Moubarek, Master. Gerios",male,,1,1,2661,15.2458,,C +67,1,2,"Nye, Mrs. (Elizabeth Ramell)",female,29,0,0,C.A. 29395,10.5,F33,S +68,0,3,"Crease, Mr. Ernest James",male,19,0,0,S.P. 3464,8.1583,,S +69,1,3,"Andersson, Miss. Erna Alexandra",female,17,4,2,3101281,7.925,,S +70,0,3,"Kink, Mr. Vincenz",male,26,2,0,315151,8.6625,,S +71,0,2,"Jenkin, Mr. Stephen Curnow",male,32,0,0,C.A. 33111,10.5,,S +72,0,3,"Goodwin, Miss. Lillian Amy",female,16,5,2,CA 2144,46.9,,S +73,0,2,"Hood, Mr. Ambrose Jr",male,21,0,0,S.O.C. 14879,73.5,,S +74,0,3,"Chronopoulos, Mr. Apostolos",male,26,1,0,2680,14.4542,,C +75,1,3,"Bing, Mr. Lee",male,32,0,0,1601,56.4958,,S +76,0,3,"Moen, Mr. Sigurd Hansen",male,25,0,0,348123,7.65,F G73,S +77,0,3,"Staneff, Mr. Ivan",male,,0,0,349208,7.8958,,S +78,0,3,"Moutal, Mr. Rahamin Haim",male,,0,0,374746,8.05,,S +79,1,2,"Caldwell, Master. Alden Gates",male,0.83,0,2,248738,29,,S +80,1,3,"Dowdell, Miss. Elizabeth",female,30,0,0,364516,12.475,,S +81,0,3,"Waelens, Mr. Achille",male,22,0,0,345767,9,,S +82,1,3,"Sheerlinck, Mr. Jan Baptist",male,29,0,0,345779,9.5,,S +83,1,3,"McDermott, Miss. Brigdet Delia",female,,0,0,330932,7.7875,,Q +84,0,1,"Carrau, Mr. Francisco M",male,28,0,0,113059,47.1,,S +85,1,2,"Ilett, Miss. Bertha",female,17,0,0,SO/C 14885,10.5,,S +86,1,3,"Backstrom, Mrs. Karl Alfred (Maria Mathilda Gustafsson)",female,33,3,0,3101278,15.85,,S +87,0,3,"Ford, Mr. William Neal",male,16,1,3,W./C. 6608,34.375,,S +88,0,3,"Slocovski, Mr. Selman Francis",male,,0,0,SOTON/OQ 392086,8.05,,S +89,1,1,"Fortune, Miss. Mabel Helen",female,23,3,2,19950,263,C23 C25 C27,S +90,0,3,"Celotti, Mr. Francesco",male,24,0,0,343275,8.05,,S +91,0,3,"Christmann, Mr. Emil",male,29,0,0,343276,8.05,,S +92,0,3,"Andreasson, Mr. Paul Edvin",male,20,0,0,347466,7.8542,,S +93,0,1,"Chaffee, Mr. Herbert Fuller",male,46,1,0,W.E.P. 5734,61.175,E31,S +94,0,3,"Dean, Mr. Bertram Frank",male,26,1,2,C.A. 2315,20.575,,S +95,0,3,"Coxon, Mr. Daniel",male,59,0,0,364500,7.25,,S +96,0,3,"Shorney, Mr. Charles Joseph",male,,0,0,374910,8.05,,S +97,0,1,"Goldschmidt, Mr. George B",male,71,0,0,PC 17754,34.6542,A5,C +98,1,1,"Greenfield, Mr. William Bertram",male,23,0,1,PC 17759,63.3583,D10 D12,C +99,1,2,"Doling, Mrs. John T (Ada Julia Bone)",female,34,0,1,231919,23,,S +100,0,2,"Kantor, Mr. Sinai",male,34,1,0,244367,26,,S +101,0,3,"Petranec, Miss. Matilda",female,28,0,0,349245,7.8958,,S +102,0,3,"Petroff, Mr. Pastcho (""Pentcho"")",male,,0,0,349215,7.8958,,S +103,0,1,"White, Mr. Richard Frasar",male,21,0,1,35281,77.2875,D26,S +104,0,3,"Johansson, Mr. Gustaf Joel",male,33,0,0,7540,8.6542,,S +105,0,3,"Gustafsson, Mr. Anders Vilhelm",male,37,2,0,3101276,7.925,,S +106,0,3,"Mionoff, Mr. Stoytcho",male,28,0,0,349207,7.8958,,S +107,1,3,"Salkjelsvik, Miss. Anna Kristine",female,21,0,0,343120,7.65,,S +108,1,3,"Moss, Mr. Albert Johan",male,,0,0,312991,7.775,,S +109,0,3,"Rekic, Mr. Tido",male,38,0,0,349249,7.8958,,S +110,1,3,"Moran, Miss. Bertha",female,,1,0,371110,24.15,,Q +111,0,1,"Porter, Mr. Walter Chamberlain",male,47,0,0,110465,52,C110,S +112,0,3,"Zabour, Miss. Hileni",female,14.5,1,0,2665,14.4542,,C +113,0,3,"Barton, Mr. David John",male,22,0,0,324669,8.05,,S +114,0,3,"Jussila, Miss. Katriina",female,20,1,0,4136,9.825,,S +115,0,3,"Attalah, Miss. Malake",female,17,0,0,2627,14.4583,,C +116,0,3,"Pekoniemi, Mr. Edvard",male,21,0,0,STON/O 2. 3101294,7.925,,S +117,0,3,"Connors, Mr. Patrick",male,70.5,0,0,370369,7.75,,Q +118,0,2,"Turpin, Mr. William John Robert",male,29,1,0,11668,21,,S +119,0,1,"Baxter, Mr. Quigg Edmond",male,24,0,1,PC 17558,247.5208,B58 B60,C +120,0,3,"Andersson, Miss. Ellis Anna Maria",female,2,4,2,347082,31.275,,S +121,0,2,"Hickman, Mr. Stanley George",male,21,2,0,S.O.C. 14879,73.5,,S +122,0,3,"Moore, Mr. Leonard Charles",male,,0,0,A4. 54510,8.05,,S +123,0,2,"Nasser, Mr. Nicholas",male,32.5,1,0,237736,30.0708,,C +124,1,2,"Webber, Miss. Susan",female,32.5,0,0,27267,13,E101,S +125,0,1,"White, Mr. Percival Wayland",male,54,0,1,35281,77.2875,D26,S +126,1,3,"Nicola-Yarred, Master. Elias",male,12,1,0,2651,11.2417,,C +127,0,3,"McMahon, Mr. Martin",male,,0,0,370372,7.75,,Q +128,1,3,"Madsen, Mr. Fridtjof Arne",male,24,0,0,C 17369,7.1417,,S +129,1,3,"Peter, Miss. Anna",female,,1,1,2668,22.3583,F E69,C +130,0,3,"Ekstrom, Mr. Johan",male,45,0,0,347061,6.975,,S +131,0,3,"Drazenoic, Mr. Jozef",male,33,0,0,349241,7.8958,,C +132,0,3,"Coelho, Mr. Domingos Fernandeo",male,20,0,0,SOTON/O.Q. 3101307,7.05,,S +133,0,3,"Robins, Mrs. Alexander A (Grace Charity Laury)",female,47,1,0,A/5. 3337,14.5,,S +134,1,2,"Weisz, Mrs. Leopold (Mathilde Francoise Pede)",female,29,1,0,228414,26,,S +135,0,2,"Sobey, Mr. Samuel James Hayden",male,25,0,0,C.A. 29178,13,,S +136,0,2,"Richard, Mr. Emile",male,23,0,0,SC/PARIS 2133,15.0458,,C +137,1,1,"Newsom, Miss. Helen Monypeny",female,19,0,2,11752,26.2833,D47,S +138,0,1,"Futrelle, Mr. Jacques Heath",male,37,1,0,113803,53.1,C123,S +139,0,3,"Osen, Mr. Olaf Elon",male,16,0,0,7534,9.2167,,S +140,0,1,"Giglio, Mr. Victor",male,24,0,0,PC 17593,79.2,B86,C +141,0,3,"Boulos, Mrs. Joseph (Sultana)",female,,0,2,2678,15.2458,,C +142,1,3,"Nysten, Miss. Anna Sofia",female,22,0,0,347081,7.75,,S +143,1,3,"Hakkarainen, Mrs. Pekka Pietari (Elin Matilda Dolck)",female,24,1,0,STON/O2. 3101279,15.85,,S +144,0,3,"Burke, Mr. Jeremiah",male,19,0,0,365222,6.75,,Q +145,0,2,"Andrew, Mr. Edgardo Samuel",male,18,0,0,231945,11.5,,S +146,0,2,"Nicholls, Mr. Joseph Charles",male,19,1,1,C.A. 33112,36.75,,S +147,1,3,"Andersson, Mr. August Edvard (""Wennerstrom"")",male,27,0,0,350043,7.7958,,S +148,0,3,"Ford, Miss. Robina Maggie ""Ruby""",female,9,2,2,W./C. 6608,34.375,,S +149,0,2,"Navratil, Mr. Michel (""Louis M Hoffman"")",male,36.5,0,2,230080,26,F2,S +150,0,2,"Byles, Rev. Thomas Roussel Davids",male,42,0,0,244310,13,,S +151,0,2,"Bateman, Rev. Robert James",male,51,0,0,S.O.P. 1166,12.525,,S +152,1,1,"Pears, Mrs. Thomas (Edith Wearne)",female,22,1,0,113776,66.6,C2,S +153,0,3,"Meo, Mr. Alfonzo",male,55.5,0,0,A.5. 11206,8.05,,S +154,0,3,"van Billiard, Mr. Austin Blyler",male,40.5,0,2,A/5. 851,14.5,,S +155,0,3,"Olsen, Mr. Ole Martin",male,,0,0,Fa 265302,7.3125,,S +156,0,1,"Williams, Mr. Charles Duane",male,51,0,1,PC 17597,61.3792,,C +157,1,3,"Gilnagh, Miss. Katherine ""Katie""",female,16,0,0,35851,7.7333,,Q +158,0,3,"Corn, Mr. Harry",male,30,0,0,SOTON/OQ 392090,8.05,,S +159,0,3,"Smiljanic, Mr. Mile",male,,0,0,315037,8.6625,,S +160,0,3,"Sage, Master. Thomas Henry",male,,8,2,CA. 2343,69.55,,S +161,0,3,"Cribb, Mr. John Hatfield",male,44,0,1,371362,16.1,,S +162,1,2,"Watt, Mrs. James (Elizabeth ""Bessie"" Inglis Milne)",female,40,0,0,C.A. 33595,15.75,,S +163,0,3,"Bengtsson, Mr. John Viktor",male,26,0,0,347068,7.775,,S +164,0,3,"Calic, Mr. Jovo",male,17,0,0,315093,8.6625,,S +165,0,3,"Panula, Master. Eino Viljami",male,1,4,1,3101295,39.6875,,S +166,1,3,"Goldsmith, Master. Frank John William ""Frankie""",male,9,0,2,363291,20.525,,S +167,1,1,"Chibnall, Mrs. (Edith Martha Bowerman)",female,,0,1,113505,55,E33,S +168,0,3,"Skoog, Mrs. William (Anna Bernhardina Karlsson)",female,45,1,4,347088,27.9,,S +169,0,1,"Baumann, Mr. John D",male,,0,0,PC 17318,25.925,,S +170,0,3,"Ling, Mr. Lee",male,28,0,0,1601,56.4958,,S +171,0,1,"Van der hoef, Mr. Wyckoff",male,61,0,0,111240,33.5,B19,S +172,0,3,"Rice, Master. Arthur",male,4,4,1,382652,29.125,,Q +173,1,3,"Johnson, Miss. Eleanor Ileen",female,1,1,1,347742,11.1333,,S +174,0,3,"Sivola, Mr. Antti Wilhelm",male,21,0,0,STON/O 2. 3101280,7.925,,S +175,0,1,"Smith, Mr. James Clinch",male,56,0,0,17764,30.6958,A7,C +176,0,3,"Klasen, Mr. Klas Albin",male,18,1,1,350404,7.8542,,S +177,0,3,"Lefebre, Master. Henry Forbes",male,,3,1,4133,25.4667,,S +178,0,1,"Isham, Miss. Ann Elizabeth",female,50,0,0,PC 17595,28.7125,C49,C +179,0,2,"Hale, Mr. Reginald",male,30,0,0,250653,13,,S +180,0,3,"Leonard, Mr. Lionel",male,36,0,0,LINE,0,,S +181,0,3,"Sage, Miss. Constance Gladys",female,,8,2,CA. 2343,69.55,,S +182,0,2,"Pernot, Mr. Rene",male,,0,0,SC/PARIS 2131,15.05,,C +183,0,3,"Asplund, Master. Clarence Gustaf Hugo",male,9,4,2,347077,31.3875,,S +184,1,2,"Becker, Master. Richard F",male,1,2,1,230136,39,F4,S +185,1,3,"Kink-Heilmann, Miss. Luise Gretchen",female,4,0,2,315153,22.025,,S +186,0,1,"Rood, Mr. Hugh Roscoe",male,,0,0,113767,50,A32,S +187,1,3,"O'Brien, Mrs. Thomas (Johanna ""Hannah"" Godfrey)",female,,1,0,370365,15.5,,Q +188,1,1,"Romaine, Mr. Charles Hallace (""Mr C Rolmane"")",male,45,0,0,111428,26.55,,S +189,0,3,"Bourke, Mr. John",male,40,1,1,364849,15.5,,Q +190,0,3,"Turcin, Mr. Stjepan",male,36,0,0,349247,7.8958,,S +191,1,2,"Pinsky, Mrs. (Rosa)",female,32,0,0,234604,13,,S +192,0,2,"Carbines, Mr. William",male,19,0,0,28424,13,,S +193,1,3,"Andersen-Jensen, Miss. Carla Christine Nielsine",female,19,1,0,350046,7.8542,,S +194,1,2,"Navratil, Master. Michel M",male,3,1,1,230080,26,F2,S +195,1,1,"Brown, Mrs. James Joseph (Margaret Tobin)",female,44,0,0,PC 17610,27.7208,B4,C +196,1,1,"Lurette, Miss. Elise",female,58,0,0,PC 17569,146.5208,B80,C +197,0,3,"Mernagh, Mr. Robert",male,,0,0,368703,7.75,,Q +198,0,3,"Olsen, Mr. Karl Siegwart Andreas",male,42,0,1,4579,8.4042,,S +199,1,3,"Madigan, Miss. Margaret ""Maggie""",female,,0,0,370370,7.75,,Q +200,0,2,"Yrois, Miss. Henriette (""Mrs Harbeck"")",female,24,0,0,248747,13,,S +201,0,3,"Vande Walle, Mr. Nestor Cyriel",male,28,0,0,345770,9.5,,S +202,0,3,"Sage, Mr. Frederick",male,,8,2,CA. 2343,69.55,,S +203,0,3,"Johanson, Mr. Jakob Alfred",male,34,0,0,3101264,6.4958,,S +204,0,3,"Youseff, Mr. Gerious",male,45.5,0,0,2628,7.225,,C +205,1,3,"Cohen, Mr. Gurshon ""Gus""",male,18,0,0,A/5 3540,8.05,,S +206,0,3,"Strom, Miss. Telma Matilda",female,2,0,1,347054,10.4625,G6,S +207,0,3,"Backstrom, Mr. Karl Alfred",male,32,1,0,3101278,15.85,,S +208,1,3,"Albimona, Mr. Nassef Cassem",male,26,0,0,2699,18.7875,,C +209,1,3,"Carr, Miss. Helen ""Ellen""",female,16,0,0,367231,7.75,,Q +210,1,1,"Blank, Mr. Henry",male,40,0,0,112277,31,A31,C +211,0,3,"Ali, Mr. Ahmed",male,24,0,0,SOTON/O.Q. 3101311,7.05,,S +212,1,2,"Cameron, Miss. Clear Annie",female,35,0,0,F.C.C. 13528,21,,S +213,0,3,"Perkin, Mr. John Henry",male,22,0,0,A/5 21174,7.25,,S +214,0,2,"Givard, Mr. Hans Kristensen",male,30,0,0,250646,13,,S +215,0,3,"Kiernan, Mr. Philip",male,,1,0,367229,7.75,,Q +216,1,1,"Newell, Miss. Madeleine",female,31,1,0,35273,113.275,D36,C +217,1,3,"Honkanen, Miss. Eliina",female,27,0,0,STON/O2. 3101283,7.925,,S +218,0,2,"Jacobsohn, Mr. Sidney Samuel",male,42,1,0,243847,27,,S +219,1,1,"Bazzani, Miss. Albina",female,32,0,0,11813,76.2917,D15,C +220,0,2,"Harris, Mr. Walter",male,30,0,0,W/C 14208,10.5,,S +221,1,3,"Sunderland, Mr. Victor Francis",male,16,0,0,SOTON/OQ 392089,8.05,,S +222,0,2,"Bracken, Mr. James H",male,27,0,0,220367,13,,S +223,0,3,"Green, Mr. George Henry",male,51,0,0,21440,8.05,,S +224,0,3,"Nenkoff, Mr. Christo",male,,0,0,349234,7.8958,,S +225,1,1,"Hoyt, Mr. Frederick Maxfield",male,38,1,0,19943,90,C93,S +226,0,3,"Berglund, Mr. Karl Ivar Sven",male,22,0,0,PP 4348,9.35,,S +227,1,2,"Mellors, Mr. William John",male,19,0,0,SW/PP 751,10.5,,S +228,0,3,"Lovell, Mr. John Hall (""Henry"")",male,20.5,0,0,A/5 21173,7.25,,S +229,0,2,"Fahlstrom, Mr. Arne Jonas",male,18,0,0,236171,13,,S +230,0,3,"Lefebre, Miss. Mathilde",female,,3,1,4133,25.4667,,S +231,1,1,"Harris, Mrs. Henry Birkhardt (Irene Wallach)",female,35,1,0,36973,83.475,C83,S +232,0,3,"Larsson, Mr. Bengt Edvin",male,29,0,0,347067,7.775,,S +233,0,2,"Sjostedt, Mr. Ernst Adolf",male,59,0,0,237442,13.5,,S +234,1,3,"Asplund, Miss. Lillian Gertrud",female,5,4,2,347077,31.3875,,S +235,0,2,"Leyson, Mr. Robert William Norman",male,24,0,0,C.A. 29566,10.5,,S +236,0,3,"Harknett, Miss. Alice Phoebe",female,,0,0,W./C. 6609,7.55,,S +237,0,2,"Hold, Mr. Stephen",male,44,1,0,26707,26,,S +238,1,2,"Collyer, Miss. Marjorie ""Lottie""",female,8,0,2,C.A. 31921,26.25,,S +239,0,2,"Pengelly, Mr. Frederick William",male,19,0,0,28665,10.5,,S +240,0,2,"Hunt, Mr. George Henry",male,33,0,0,SCO/W 1585,12.275,,S +241,0,3,"Zabour, Miss. Thamine",female,,1,0,2665,14.4542,,C +242,1,3,"Murphy, Miss. Katherine ""Kate""",female,,1,0,367230,15.5,,Q +243,0,2,"Coleridge, Mr. Reginald Charles",male,29,0,0,W./C. 14263,10.5,,S +244,0,3,"Maenpaa, Mr. Matti Alexanteri",male,22,0,0,STON/O 2. 3101275,7.125,,S +245,0,3,"Attalah, Mr. Sleiman",male,30,0,0,2694,7.225,,C +246,0,1,"Minahan, Dr. William Edward",male,44,2,0,19928,90,C78,Q +247,0,3,"Lindahl, Miss. Agda Thorilda Viktoria",female,25,0,0,347071,7.775,,S +248,1,2,"Hamalainen, Mrs. William (Anna)",female,24,0,2,250649,14.5,,S +249,1,1,"Beckwith, Mr. Richard Leonard",male,37,1,1,11751,52.5542,D35,S +250,0,2,"Carter, Rev. Ernest Courtenay",male,54,1,0,244252,26,,S +251,0,3,"Reed, Mr. James George",male,,0,0,362316,7.25,,S +252,0,3,"Strom, Mrs. Wilhelm (Elna Matilda Persson)",female,29,1,1,347054,10.4625,G6,S +253,0,1,"Stead, Mr. William Thomas",male,62,0,0,113514,26.55,C87,S +254,0,3,"Lobb, Mr. William Arthur",male,30,1,0,A/5. 3336,16.1,,S +255,0,3,"Rosblom, Mrs. Viktor (Helena Wilhelmina)",female,41,0,2,370129,20.2125,,S +256,1,3,"Touma, Mrs. Darwis (Hanne Youssef Razi)",female,29,0,2,2650,15.2458,,C +257,1,1,"Thorne, Mrs. Gertrude Maybelle",female,,0,0,PC 17585,79.2,,C +258,1,1,"Cherry, Miss. Gladys",female,30,0,0,110152,86.5,B77,S +259,1,1,"Ward, Miss. Anna",female,35,0,0,PC 17755,512.3292,,C +260,1,2,"Parrish, Mrs. (Lutie Davis)",female,50,0,1,230433,26,,S +261,0,3,"Smith, Mr. Thomas",male,,0,0,384461,7.75,,Q +262,1,3,"Asplund, Master. Edvin Rojj Felix",male,3,4,2,347077,31.3875,,S +263,0,1,"Taussig, Mr. Emil",male,52,1,1,110413,79.65,E67,S +264,0,1,"Harrison, Mr. William",male,40,0,0,112059,0,B94,S +265,0,3,"Henry, Miss. Delia",female,,0,0,382649,7.75,,Q +266,0,2,"Reeves, Mr. David",male,36,0,0,C.A. 17248,10.5,,S +267,0,3,"Panula, Mr. Ernesti Arvid",male,16,4,1,3101295,39.6875,,S +268,1,3,"Persson, Mr. Ernst Ulrik",male,25,1,0,347083,7.775,,S +269,1,1,"Graham, Mrs. William Thompson (Edith Junkins)",female,58,0,1,PC 17582,153.4625,C125,S +270,1,1,"Bissette, Miss. Amelia",female,35,0,0,PC 17760,135.6333,C99,S +271,0,1,"Cairns, Mr. Alexander",male,,0,0,113798,31,,S +272,1,3,"Tornquist, Mr. William Henry",male,25,0,0,LINE,0,,S +273,1,2,"Mellinger, Mrs. (Elizabeth Anne Maidment)",female,41,0,1,250644,19.5,,S +274,0,1,"Natsch, Mr. Charles H",male,37,0,1,PC 17596,29.7,C118,C +275,1,3,"Healy, Miss. Hanora ""Nora""",female,,0,0,370375,7.75,,Q +276,1,1,"Andrews, Miss. Kornelia Theodosia",female,63,1,0,13502,77.9583,D7,S +277,0,3,"Lindblom, Miss. Augusta Charlotta",female,45,0,0,347073,7.75,,S +278,0,2,"Parkes, Mr. Francis ""Frank""",male,,0,0,239853,0,,S +279,0,3,"Rice, Master. Eric",male,7,4,1,382652,29.125,,Q +280,1,3,"Abbott, Mrs. Stanton (Rosa Hunt)",female,35,1,1,C.A. 2673,20.25,,S +281,0,3,"Duane, Mr. Frank",male,65,0,0,336439,7.75,,Q +282,0,3,"Olsson, Mr. Nils Johan Goransson",male,28,0,0,347464,7.8542,,S +283,0,3,"de Pelsmaeker, Mr. Alfons",male,16,0,0,345778,9.5,,S +284,1,3,"Dorking, Mr. Edward Arthur",male,19,0,0,A/5. 10482,8.05,,S +285,0,1,"Smith, Mr. Richard William",male,,0,0,113056,26,A19,S +286,0,3,"Stankovic, Mr. Ivan",male,33,0,0,349239,8.6625,,C +287,1,3,"de Mulder, Mr. Theodore",male,30,0,0,345774,9.5,,S +288,0,3,"Naidenoff, Mr. Penko",male,22,0,0,349206,7.8958,,S +289,1,2,"Hosono, Mr. Masabumi",male,42,0,0,237798,13,,S +290,1,3,"Connolly, Miss. Kate",female,22,0,0,370373,7.75,,Q +291,1,1,"Barber, Miss. Ellen ""Nellie""",female,26,0,0,19877,78.85,,S +292,1,1,"Bishop, Mrs. Dickinson H (Helen Walton)",female,19,1,0,11967,91.0792,B49,C +293,0,2,"Levy, Mr. Rene Jacques",male,36,0,0,SC/Paris 2163,12.875,D,C +294,0,3,"Haas, Miss. Aloisia",female,24,0,0,349236,8.85,,S +295,0,3,"Mineff, Mr. Ivan",male,24,0,0,349233,7.8958,,S +296,0,1,"Lewy, Mr. Ervin G",male,,0,0,PC 17612,27.7208,,C +297,0,3,"Hanna, Mr. Mansour",male,23.5,0,0,2693,7.2292,,C +298,0,1,"Allison, Miss. Helen Loraine",female,2,1,2,113781,151.55,C22 C26,S +299,1,1,"Saalfeld, Mr. Adolphe",male,,0,0,19988,30.5,C106,S +300,1,1,"Baxter, Mrs. James (Helene DeLaudeniere Chaput)",female,50,0,1,PC 17558,247.5208,B58 B60,C +301,1,3,"Kelly, Miss. Anna Katherine ""Annie Kate""",female,,0,0,9234,7.75,,Q +302,1,3,"McCoy, Mr. Bernard",male,,2,0,367226,23.25,,Q +303,0,3,"Johnson, Mr. William Cahoone Jr",male,19,0,0,LINE,0,,S +304,1,2,"Keane, Miss. Nora A",female,,0,0,226593,12.35,E101,Q +305,0,3,"Williams, Mr. Howard Hugh ""Harry""",male,,0,0,A/5 2466,8.05,,S +306,1,1,"Allison, Master. Hudson Trevor",male,0.92,1,2,113781,151.55,C22 C26,S +307,1,1,"Fleming, Miss. Margaret",female,,0,0,17421,110.8833,,C +308,1,1,"Penasco y Castellana, Mrs. Victor de Satode (Maria Josefa Perez de Soto y Vallejo)",female,17,1,0,PC 17758,108.9,C65,C +309,0,2,"Abelson, Mr. Samuel",male,30,1,0,P/PP 3381,24,,C +310,1,1,"Francatelli, Miss. Laura Mabel",female,30,0,0,PC 17485,56.9292,E36,C +311,1,1,"Hays, Miss. Margaret Bechstein",female,24,0,0,11767,83.1583,C54,C +312,1,1,"Ryerson, Miss. Emily Borie",female,18,2,2,PC 17608,262.375,B57 B59 B63 B66,C +313,0,2,"Lahtinen, Mrs. William (Anna Sylfven)",female,26,1,1,250651,26,,S +314,0,3,"Hendekovic, Mr. Ignjac",male,28,0,0,349243,7.8958,,S +315,0,2,"Hart, Mr. Benjamin",male,43,1,1,F.C.C. 13529,26.25,,S +316,1,3,"Nilsson, Miss. Helmina Josefina",female,26,0,0,347470,7.8542,,S +317,1,2,"Kantor, Mrs. Sinai (Miriam Sternin)",female,24,1,0,244367,26,,S +318,0,2,"Moraweck, Dr. Ernest",male,54,0,0,29011,14,,S +319,1,1,"Wick, Miss. Mary Natalie",female,31,0,2,36928,164.8667,C7,S +320,1,1,"Spedden, Mrs. Frederic Oakley (Margaretta Corning Stone)",female,40,1,1,16966,134.5,E34,C +321,0,3,"Dennis, Mr. Samuel",male,22,0,0,A/5 21172,7.25,,S +322,0,3,"Danoff, Mr. Yoto",male,27,0,0,349219,7.8958,,S +323,1,2,"Slayter, Miss. Hilda Mary",female,30,0,0,234818,12.35,,Q +324,1,2,"Caldwell, Mrs. Albert Francis (Sylvia Mae Harbaugh)",female,22,1,1,248738,29,,S +325,0,3,"Sage, Mr. George John Jr",male,,8,2,CA. 2343,69.55,,S +326,1,1,"Young, Miss. Marie Grice",female,36,0,0,PC 17760,135.6333,C32,C +327,0,3,"Nysveen, Mr. Johan Hansen",male,61,0,0,345364,6.2375,,S +328,1,2,"Ball, Mrs. (Ada E Hall)",female,36,0,0,28551,13,D,S +329,1,3,"Goldsmith, Mrs. Frank John (Emily Alice Brown)",female,31,1,1,363291,20.525,,S +330,1,1,"Hippach, Miss. Jean Gertrude",female,16,0,1,111361,57.9792,B18,C +331,1,3,"McCoy, Miss. Agnes",female,,2,0,367226,23.25,,Q +332,0,1,"Partner, Mr. Austen",male,45.5,0,0,113043,28.5,C124,S +333,0,1,"Graham, Mr. George Edward",male,38,0,1,PC 17582,153.4625,C91,S +334,0,3,"Vander Planke, Mr. Leo Edmondus",male,16,2,0,345764,18,,S +335,1,1,"Frauenthal, Mrs. Henry William (Clara Heinsheimer)",female,,1,0,PC 17611,133.65,,S +336,0,3,"Denkoff, Mr. Mitto",male,,0,0,349225,7.8958,,S +337,0,1,"Pears, Mr. Thomas Clinton",male,29,1,0,113776,66.6,C2,S +338,1,1,"Burns, Miss. Elizabeth Margaret",female,41,0,0,16966,134.5,E40,C +339,1,3,"Dahl, Mr. Karl Edwart",male,45,0,0,7598,8.05,,S +340,0,1,"Blackwell, Mr. Stephen Weart",male,45,0,0,113784,35.5,T,S +341,1,2,"Navratil, Master. Edmond Roger",male,2,1,1,230080,26,F2,S +342,1,1,"Fortune, Miss. Alice Elizabeth",female,24,3,2,19950,263,C23 C25 C27,S +343,0,2,"Collander, Mr. Erik Gustaf",male,28,0,0,248740,13,,S +344,0,2,"Sedgwick, Mr. Charles Frederick Waddington",male,25,0,0,244361,13,,S +345,0,2,"Fox, Mr. Stanley Hubert",male,36,0,0,229236,13,,S +346,1,2,"Brown, Miss. Amelia ""Mildred""",female,24,0,0,248733,13,F33,S +347,1,2,"Smith, Miss. Marion Elsie",female,40,0,0,31418,13,,S +348,1,3,"Davison, Mrs. Thomas Henry (Mary E Finck)",female,,1,0,386525,16.1,,S +349,1,3,"Coutts, Master. William Loch ""William""",male,3,1,1,C.A. 37671,15.9,,S +350,0,3,"Dimic, Mr. Jovan",male,42,0,0,315088,8.6625,,S +351,0,3,"Odahl, Mr. Nils Martin",male,23,0,0,7267,9.225,,S +352,0,1,"Williams-Lambert, Mr. Fletcher Fellows",male,,0,0,113510,35,C128,S +353,0,3,"Elias, Mr. Tannous",male,15,1,1,2695,7.2292,,C +354,0,3,"Arnold-Franchi, Mr. Josef",male,25,1,0,349237,17.8,,S +355,0,3,"Yousif, Mr. Wazli",male,,0,0,2647,7.225,,C +356,0,3,"Vanden Steen, Mr. Leo Peter",male,28,0,0,345783,9.5,,S +357,1,1,"Bowerman, Miss. Elsie Edith",female,22,0,1,113505,55,E33,S +358,0,2,"Funk, Miss. Annie Clemmer",female,38,0,0,237671,13,,S +359,1,3,"McGovern, Miss. Mary",female,,0,0,330931,7.8792,,Q +360,1,3,"Mockler, Miss. Helen Mary ""Ellie""",female,,0,0,330980,7.8792,,Q +361,0,3,"Skoog, Mr. Wilhelm",male,40,1,4,347088,27.9,,S +362,0,2,"del Carlo, Mr. Sebastiano",male,29,1,0,SC/PARIS 2167,27.7208,,C +363,0,3,"Barbara, Mrs. (Catherine David)",female,45,0,1,2691,14.4542,,C +364,0,3,"Asim, Mr. Adola",male,35,0,0,SOTON/O.Q. 3101310,7.05,,S +365,0,3,"O'Brien, Mr. Thomas",male,,1,0,370365,15.5,,Q +366,0,3,"Adahl, Mr. Mauritz Nils Martin",male,30,0,0,C 7076,7.25,,S +367,1,1,"Warren, Mrs. Frank Manley (Anna Sophia Atkinson)",female,60,1,0,110813,75.25,D37,C +368,1,3,"Moussa, Mrs. (Mantoura Boulos)",female,,0,0,2626,7.2292,,C +369,1,3,"Jermyn, Miss. Annie",female,,0,0,14313,7.75,,Q +370,1,1,"Aubart, Mme. Leontine Pauline",female,24,0,0,PC 17477,69.3,B35,C +371,1,1,"Harder, Mr. George Achilles",male,25,1,0,11765,55.4417,E50,C +372,0,3,"Wiklund, Mr. Jakob Alfred",male,18,1,0,3101267,6.4958,,S +373,0,3,"Beavan, Mr. William Thomas",male,19,0,0,323951,8.05,,S +374,0,1,"Ringhini, Mr. Sante",male,22,0,0,PC 17760,135.6333,,C +375,0,3,"Palsson, Miss. Stina Viola",female,3,3,1,349909,21.075,,S +376,1,1,"Meyer, Mrs. Edgar Joseph (Leila Saks)",female,,1,0,PC 17604,82.1708,,C +377,1,3,"Landergren, Miss. Aurora Adelia",female,22,0,0,C 7077,7.25,,S +378,0,1,"Widener, Mr. Harry Elkins",male,27,0,2,113503,211.5,C82,C +379,0,3,"Betros, Mr. Tannous",male,20,0,0,2648,4.0125,,C +380,0,3,"Gustafsson, Mr. Karl Gideon",male,19,0,0,347069,7.775,,S +381,1,1,"Bidois, Miss. Rosalie",female,42,0,0,PC 17757,227.525,,C +382,1,3,"Nakid, Miss. Maria (""Mary"")",female,1,0,2,2653,15.7417,,C +383,0,3,"Tikkanen, Mr. Juho",male,32,0,0,STON/O 2. 3101293,7.925,,S +384,1,1,"Holverson, Mrs. Alexander Oskar (Mary Aline Towner)",female,35,1,0,113789,52,,S +385,0,3,"Plotcharsky, Mr. Vasil",male,,0,0,349227,7.8958,,S +386,0,2,"Davies, Mr. Charles Henry",male,18,0,0,S.O.C. 14879,73.5,,S +387,0,3,"Goodwin, Master. Sidney Leonard",male,1,5,2,CA 2144,46.9,,S +388,1,2,"Buss, Miss. Kate",female,36,0,0,27849,13,,S +389,0,3,"Sadlier, Mr. Matthew",male,,0,0,367655,7.7292,,Q +390,1,2,"Lehmann, Miss. Bertha",female,17,0,0,SC 1748,12,,C +391,1,1,"Carter, Mr. William Ernest",male,36,1,2,113760,120,B96 B98,S +392,1,3,"Jansson, Mr. Carl Olof",male,21,0,0,350034,7.7958,,S +393,0,3,"Gustafsson, Mr. Johan Birger",male,28,2,0,3101277,7.925,,S +394,1,1,"Newell, Miss. Marjorie",female,23,1,0,35273,113.275,D36,C +395,1,3,"Sandstrom, Mrs. Hjalmar (Agnes Charlotta Bengtsson)",female,24,0,2,PP 9549,16.7,G6,S +396,0,3,"Johansson, Mr. Erik",male,22,0,0,350052,7.7958,,S +397,0,3,"Olsson, Miss. Elina",female,31,0,0,350407,7.8542,,S +398,0,2,"McKane, Mr. Peter David",male,46,0,0,28403,26,,S +399,0,2,"Pain, Dr. Alfred",male,23,0,0,244278,10.5,,S +400,1,2,"Trout, Mrs. William H (Jessie L)",female,28,0,0,240929,12.65,,S +401,1,3,"Niskanen, Mr. Juha",male,39,0,0,STON/O 2. 3101289,7.925,,S +402,0,3,"Adams, Mr. John",male,26,0,0,341826,8.05,,S +403,0,3,"Jussila, Miss. Mari Aina",female,21,1,0,4137,9.825,,S +404,0,3,"Hakkarainen, Mr. Pekka Pietari",male,28,1,0,STON/O2. 3101279,15.85,,S +405,0,3,"Oreskovic, Miss. Marija",female,20,0,0,315096,8.6625,,S +406,0,2,"Gale, Mr. Shadrach",male,34,1,0,28664,21,,S +407,0,3,"Widegren, Mr. Carl/Charles Peter",male,51,0,0,347064,7.75,,S +408,1,2,"Richards, Master. William Rowe",male,3,1,1,29106,18.75,,S +409,0,3,"Birkeland, Mr. Hans Martin Monsen",male,21,0,0,312992,7.775,,S +410,0,3,"Lefebre, Miss. Ida",female,,3,1,4133,25.4667,,S +411,0,3,"Sdycoff, Mr. Todor",male,,0,0,349222,7.8958,,S +412,0,3,"Hart, Mr. Henry",male,,0,0,394140,6.8583,,Q +413,1,1,"Minahan, Miss. Daisy E",female,33,1,0,19928,90,C78,Q +414,0,2,"Cunningham, Mr. Alfred Fleming",male,,0,0,239853,0,,S +415,1,3,"Sundman, Mr. Johan Julian",male,44,0,0,STON/O 2. 3101269,7.925,,S +416,0,3,"Meek, Mrs. Thomas (Annie Louise Rowley)",female,,0,0,343095,8.05,,S +417,1,2,"Drew, Mrs. James Vivian (Lulu Thorne Christian)",female,34,1,1,28220,32.5,,S +418,1,2,"Silven, Miss. Lyyli Karoliina",female,18,0,2,250652,13,,S +419,0,2,"Matthews, Mr. William John",male,30,0,0,28228,13,,S +420,0,3,"Van Impe, Miss. Catharina",female,10,0,2,345773,24.15,,S +421,0,3,"Gheorgheff, Mr. Stanio",male,,0,0,349254,7.8958,,C +422,0,3,"Charters, Mr. David",male,21,0,0,A/5. 13032,7.7333,,Q +423,0,3,"Zimmerman, Mr. Leo",male,29,0,0,315082,7.875,,S +424,0,3,"Danbom, Mrs. Ernst Gilbert (Anna Sigrid Maria Brogren)",female,28,1,1,347080,14.4,,S +425,0,3,"Rosblom, Mr. Viktor Richard",male,18,1,1,370129,20.2125,,S +426,0,3,"Wiseman, Mr. Phillippe",male,,0,0,A/4. 34244,7.25,,S +427,1,2,"Clarke, Mrs. Charles V (Ada Maria Winfield)",female,28,1,0,2003,26,,S +428,1,2,"Phillips, Miss. Kate Florence (""Mrs Kate Louise Phillips Marshall"")",female,19,0,0,250655,26,,S +429,0,3,"Flynn, Mr. James",male,,0,0,364851,7.75,,Q +430,1,3,"Pickard, Mr. Berk (Berk Trembisky)",male,32,0,0,SOTON/O.Q. 392078,8.05,E10,S +431,1,1,"Bjornstrom-Steffansson, Mr. Mauritz Hakan",male,28,0,0,110564,26.55,C52,S +432,1,3,"Thorneycroft, Mrs. Percival (Florence Kate White)",female,,1,0,376564,16.1,,S +433,1,2,"Louch, Mrs. Charles Alexander (Alice Adelaide Slow)",female,42,1,0,SC/AH 3085,26,,S +434,0,3,"Kallio, Mr. Nikolai Erland",male,17,0,0,STON/O 2. 3101274,7.125,,S +435,0,1,"Silvey, Mr. William Baird",male,50,1,0,13507,55.9,E44,S +436,1,1,"Carter, Miss. Lucile Polk",female,14,1,2,113760,120,B96 B98,S +437,0,3,"Ford, Miss. Doolina Margaret ""Daisy""",female,21,2,2,W./C. 6608,34.375,,S +438,1,2,"Richards, Mrs. Sidney (Emily Hocking)",female,24,2,3,29106,18.75,,S +439,0,1,"Fortune, Mr. Mark",male,64,1,4,19950,263,C23 C25 C27,S +440,0,2,"Kvillner, Mr. Johan Henrik Johannesson",male,31,0,0,C.A. 18723,10.5,,S +441,1,2,"Hart, Mrs. Benjamin (Esther Ada Bloomfield)",female,45,1,1,F.C.C. 13529,26.25,,S +442,0,3,"Hampe, Mr. Leon",male,20,0,0,345769,9.5,,S +443,0,3,"Petterson, Mr. Johan Emil",male,25,1,0,347076,7.775,,S +444,1,2,"Reynaldo, Ms. Encarnacion",female,28,0,0,230434,13,,S +445,1,3,"Johannesen-Bratthammer, Mr. Bernt",male,,0,0,65306,8.1125,,S +446,1,1,"Dodge, Master. Washington",male,4,0,2,33638,81.8583,A34,S +447,1,2,"Mellinger, Miss. Madeleine Violet",female,13,0,1,250644,19.5,,S +448,1,1,"Seward, Mr. Frederic Kimber",male,34,0,0,113794,26.55,,S +449,1,3,"Baclini, Miss. Marie Catherine",female,5,2,1,2666,19.2583,,C +450,1,1,"Peuchen, Major. Arthur Godfrey",male,52,0,0,113786,30.5,C104,S +451,0,2,"West, Mr. Edwy Arthur",male,36,1,2,C.A. 34651,27.75,,S +452,0,3,"Hagland, Mr. Ingvald Olai Olsen",male,,1,0,65303,19.9667,,S +453,0,1,"Foreman, Mr. Benjamin Laventall",male,30,0,0,113051,27.75,C111,C +454,1,1,"Goldenberg, Mr. Samuel L",male,49,1,0,17453,89.1042,C92,C +455,0,3,"Peduzzi, Mr. Joseph",male,,0,0,A/5 2817,8.05,,S +456,1,3,"Jalsevac, Mr. Ivan",male,29,0,0,349240,7.8958,,C +457,0,1,"Millet, Mr. Francis Davis",male,65,0,0,13509,26.55,E38,S +458,1,1,"Kenyon, Mrs. Frederick R (Marion)",female,,1,0,17464,51.8625,D21,S +459,1,2,"Toomey, Miss. Ellen",female,50,0,0,F.C.C. 13531,10.5,,S +460,0,3,"O'Connor, Mr. Maurice",male,,0,0,371060,7.75,,Q +461,1,1,"Anderson, Mr. Harry",male,48,0,0,19952,26.55,E12,S +462,0,3,"Morley, Mr. William",male,34,0,0,364506,8.05,,S +463,0,1,"Gee, Mr. Arthur H",male,47,0,0,111320,38.5,E63,S +464,0,2,"Milling, Mr. Jacob Christian",male,48,0,0,234360,13,,S +465,0,3,"Maisner, Mr. Simon",male,,0,0,A/S 2816,8.05,,S +466,0,3,"Goncalves, Mr. Manuel Estanslas",male,38,0,0,SOTON/O.Q. 3101306,7.05,,S +467,0,2,"Campbell, Mr. William",male,,0,0,239853,0,,S +468,0,1,"Smart, Mr. John Montgomery",male,56,0,0,113792,26.55,,S +469,0,3,"Scanlan, Mr. James",male,,0,0,36209,7.725,,Q +470,1,3,"Baclini, Miss. Helene Barbara",female,0.75,2,1,2666,19.2583,,C +471,0,3,"Keefe, Mr. Arthur",male,,0,0,323592,7.25,,S +472,0,3,"Cacic, Mr. Luka",male,38,0,0,315089,8.6625,,S +473,1,2,"West, Mrs. Edwy Arthur (Ada Mary Worth)",female,33,1,2,C.A. 34651,27.75,,S +474,1,2,"Jerwan, Mrs. Amin S (Marie Marthe Thuillard)",female,23,0,0,SC/AH Basle 541,13.7917,D,C +475,0,3,"Strandberg, Miss. Ida Sofia",female,22,0,0,7553,9.8375,,S +476,0,1,"Clifford, Mr. George Quincy",male,,0,0,110465,52,A14,S +477,0,2,"Renouf, Mr. Peter Henry",male,34,1,0,31027,21,,S +478,0,3,"Braund, Mr. Lewis Richard",male,29,1,0,3460,7.0458,,S +479,0,3,"Karlsson, Mr. Nils August",male,22,0,0,350060,7.5208,,S +480,1,3,"Hirvonen, Miss. Hildur E",female,2,0,1,3101298,12.2875,,S +481,0,3,"Goodwin, Master. Harold Victor",male,9,5,2,CA 2144,46.9,,S +482,0,2,"Frost, Mr. Anthony Wood ""Archie""",male,,0,0,239854,0,,S +483,0,3,"Rouse, Mr. Richard Henry",male,50,0,0,A/5 3594,8.05,,S +484,1,3,"Turkula, Mrs. (Hedwig)",female,63,0,0,4134,9.5875,,S +485,1,1,"Bishop, Mr. Dickinson H",male,25,1,0,11967,91.0792,B49,C +486,0,3,"Lefebre, Miss. Jeannie",female,,3,1,4133,25.4667,,S +487,1,1,"Hoyt, Mrs. Frederick Maxfield (Jane Anne Forby)",female,35,1,0,19943,90,C93,S +488,0,1,"Kent, Mr. Edward Austin",male,58,0,0,11771,29.7,B37,C +489,0,3,"Somerton, Mr. Francis William",male,30,0,0,A.5. 18509,8.05,,S +490,1,3,"Coutts, Master. Eden Leslie ""Neville""",male,9,1,1,C.A. 37671,15.9,,S +491,0,3,"Hagland, Mr. Konrad Mathias Reiersen",male,,1,0,65304,19.9667,,S +492,0,3,"Windelov, Mr. Einar",male,21,0,0,SOTON/OQ 3101317,7.25,,S +493,0,1,"Molson, Mr. Harry Markland",male,55,0,0,113787,30.5,C30,S +494,0,1,"Artagaveytia, Mr. Ramon",male,71,0,0,PC 17609,49.5042,,C +495,0,3,"Stanley, Mr. Edward Roland",male,21,0,0,A/4 45380,8.05,,S +496,0,3,"Yousseff, Mr. Gerious",male,,0,0,2627,14.4583,,C +497,1,1,"Eustis, Miss. Elizabeth Mussey",female,54,1,0,36947,78.2667,D20,C +498,0,3,"Shellard, Mr. Frederick William",male,,0,0,C.A. 6212,15.1,,S +499,0,1,"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)",female,25,1,2,113781,151.55,C22 C26,S +500,0,3,"Svensson, Mr. Olof",male,24,0,0,350035,7.7958,,S +501,0,3,"Calic, Mr. Petar",male,17,0,0,315086,8.6625,,S +502,0,3,"Canavan, Miss. Mary",female,21,0,0,364846,7.75,,Q +503,0,3,"O'Sullivan, Miss. Bridget Mary",female,,0,0,330909,7.6292,,Q +504,0,3,"Laitinen, Miss. Kristina Sofia",female,37,0,0,4135,9.5875,,S +505,1,1,"Maioni, Miss. Roberta",female,16,0,0,110152,86.5,B79,S +506,0,1,"Penasco y Castellana, Mr. Victor de Satode",male,18,1,0,PC 17758,108.9,C65,C +507,1,2,"Quick, Mrs. Frederick Charles (Jane Richards)",female,33,0,2,26360,26,,S +508,1,1,"Bradley, Mr. George (""George Arthur Brayton"")",male,,0,0,111427,26.55,,S +509,0,3,"Olsen, Mr. Henry Margido",male,28,0,0,C 4001,22.525,,S +510,1,3,"Lang, Mr. Fang",male,26,0,0,1601,56.4958,,S +511,1,3,"Daly, Mr. Eugene Patrick",male,29,0,0,382651,7.75,,Q +512,0,3,"Webber, Mr. James",male,,0,0,SOTON/OQ 3101316,8.05,,S +513,1,1,"McGough, Mr. James Robert",male,36,0,0,PC 17473,26.2875,E25,S +514,1,1,"Rothschild, Mrs. Martin (Elizabeth L. Barrett)",female,54,1,0,PC 17603,59.4,,C +515,0,3,"Coleff, Mr. Satio",male,24,0,0,349209,7.4958,,S +516,0,1,"Walker, Mr. William Anderson",male,47,0,0,36967,34.0208,D46,S +517,1,2,"Lemore, Mrs. (Amelia Milley)",female,34,0,0,C.A. 34260,10.5,F33,S +518,0,3,"Ryan, Mr. Patrick",male,,0,0,371110,24.15,,Q +519,1,2,"Angle, Mrs. William A (Florence ""Mary"" Agnes Hughes)",female,36,1,0,226875,26,,S +520,0,3,"Pavlovic, Mr. Stefo",male,32,0,0,349242,7.8958,,S +521,1,1,"Perreault, Miss. Anne",female,30,0,0,12749,93.5,B73,S +522,0,3,"Vovk, Mr. Janko",male,22,0,0,349252,7.8958,,S +523,0,3,"Lahoud, Mr. Sarkis",male,,0,0,2624,7.225,,C +524,1,1,"Hippach, Mrs. Louis Albert (Ida Sophia Fischer)",female,44,0,1,111361,57.9792,B18,C +525,0,3,"Kassem, Mr. Fared",male,,0,0,2700,7.2292,,C +526,0,3,"Farrell, Mr. James",male,40.5,0,0,367232,7.75,,Q +527,1,2,"Ridsdale, Miss. Lucy",female,50,0,0,W./C. 14258,10.5,,S +528,0,1,"Farthing, Mr. John",male,,0,0,PC 17483,221.7792,C95,S +529,0,3,"Salonen, Mr. Johan Werner",male,39,0,0,3101296,7.925,,S +530,0,2,"Hocking, Mr. Richard George",male,23,2,1,29104,11.5,,S +531,1,2,"Quick, Miss. Phyllis May",female,2,1,1,26360,26,,S +532,0,3,"Toufik, Mr. Nakli",male,,0,0,2641,7.2292,,C +533,0,3,"Elias, Mr. Joseph Jr",male,17,1,1,2690,7.2292,,C +534,1,3,"Peter, Mrs. Catherine (Catherine Rizk)",female,,0,2,2668,22.3583,,C +535,0,3,"Cacic, Miss. Marija",female,30,0,0,315084,8.6625,,S +536,1,2,"Hart, Miss. Eva Miriam",female,7,0,2,F.C.C. 13529,26.25,,S +537,0,1,"Butt, Major. Archibald Willingham",male,45,0,0,113050,26.55,B38,S +538,1,1,"LeRoy, Miss. Bertha",female,30,0,0,PC 17761,106.425,,C +539,0,3,"Risien, Mr. Samuel Beard",male,,0,0,364498,14.5,,S +540,1,1,"Frolicher, Miss. Hedwig Margaritha",female,22,0,2,13568,49.5,B39,C +541,1,1,"Crosby, Miss. Harriet R",female,36,0,2,WE/P 5735,71,B22,S +542,0,3,"Andersson, Miss. Ingeborg Constanzia",female,9,4,2,347082,31.275,,S +543,0,3,"Andersson, Miss. Sigrid Elisabeth",female,11,4,2,347082,31.275,,S +544,1,2,"Beane, Mr. Edward",male,32,1,0,2908,26,,S +545,0,1,"Douglas, Mr. Walter Donald",male,50,1,0,PC 17761,106.425,C86,C +546,0,1,"Nicholson, Mr. Arthur Ernest",male,64,0,0,693,26,,S +547,1,2,"Beane, Mrs. Edward (Ethel Clarke)",female,19,1,0,2908,26,,S +548,1,2,"Padro y Manent, Mr. Julian",male,,0,0,SC/PARIS 2146,13.8625,,C +549,0,3,"Goldsmith, Mr. Frank John",male,33,1,1,363291,20.525,,S +550,1,2,"Davies, Master. John Morgan Jr",male,8,1,1,C.A. 33112,36.75,,S +551,1,1,"Thayer, Mr. John Borland Jr",male,17,0,2,17421,110.8833,C70,C +552,0,2,"Sharp, Mr. Percival James R",male,27,0,0,244358,26,,S +553,0,3,"O'Brien, Mr. Timothy",male,,0,0,330979,7.8292,,Q +554,1,3,"Leeni, Mr. Fahim (""Philip Zenni"")",male,22,0,0,2620,7.225,,C +555,1,3,"Ohman, Miss. Velin",female,22,0,0,347085,7.775,,S +556,0,1,"Wright, Mr. George",male,62,0,0,113807,26.55,,S +557,1,1,"Duff Gordon, Lady. (Lucille Christiana Sutherland) (""Mrs Morgan"")",female,48,1,0,11755,39.6,A16,C +558,0,1,"Robbins, Mr. Victor",male,,0,0,PC 17757,227.525,,C +559,1,1,"Taussig, Mrs. Emil (Tillie Mandelbaum)",female,39,1,1,110413,79.65,E67,S +560,1,3,"de Messemaeker, Mrs. Guillaume Joseph (Emma)",female,36,1,0,345572,17.4,,S +561,0,3,"Morrow, Mr. Thomas Rowan",male,,0,0,372622,7.75,,Q +562,0,3,"Sivic, Mr. Husein",male,40,0,0,349251,7.8958,,S +563,0,2,"Norman, Mr. Robert Douglas",male,28,0,0,218629,13.5,,S +564,0,3,"Simmons, Mr. John",male,,0,0,SOTON/OQ 392082,8.05,,S +565,0,3,"Meanwell, Miss. (Marion Ogden)",female,,0,0,SOTON/O.Q. 392087,8.05,,S +566,0,3,"Davies, Mr. Alfred J",male,24,2,0,A/4 48871,24.15,,S +567,0,3,"Stoytcheff, Mr. Ilia",male,19,0,0,349205,7.8958,,S +568,0,3,"Palsson, Mrs. Nils (Alma Cornelia Berglund)",female,29,0,4,349909,21.075,,S +569,0,3,"Doharr, Mr. Tannous",male,,0,0,2686,7.2292,,C +570,1,3,"Jonsson, Mr. Carl",male,32,0,0,350417,7.8542,,S +571,1,2,"Harris, Mr. George",male,62,0,0,S.W./PP 752,10.5,,S +572,1,1,"Appleton, Mrs. Edward Dale (Charlotte Lamson)",female,53,2,0,11769,51.4792,C101,S +573,1,1,"Flynn, Mr. John Irwin (""Irving"")",male,36,0,0,PC 17474,26.3875,E25,S +574,1,3,"Kelly, Miss. Mary",female,,0,0,14312,7.75,,Q +575,0,3,"Rush, Mr. Alfred George John",male,16,0,0,A/4. 20589,8.05,,S +576,0,3,"Patchett, Mr. George",male,19,0,0,358585,14.5,,S +577,1,2,"Garside, Miss. Ethel",female,34,0,0,243880,13,,S +578,1,1,"Silvey, Mrs. William Baird (Alice Munger)",female,39,1,0,13507,55.9,E44,S +579,0,3,"Caram, Mrs. Joseph (Maria Elias)",female,,1,0,2689,14.4583,,C +580,1,3,"Jussila, Mr. Eiriik",male,32,0,0,STON/O 2. 3101286,7.925,,S +581,1,2,"Christy, Miss. Julie Rachel",female,25,1,1,237789,30,,S +582,1,1,"Thayer, Mrs. John Borland (Marian Longstreth Morris)",female,39,1,1,17421,110.8833,C68,C +583,0,2,"Downton, Mr. William James",male,54,0,0,28403,26,,S +584,0,1,"Ross, Mr. John Hugo",male,36,0,0,13049,40.125,A10,C +585,0,3,"Paulner, Mr. Uscher",male,,0,0,3411,8.7125,,C +586,1,1,"Taussig, Miss. Ruth",female,18,0,2,110413,79.65,E68,S +587,0,2,"Jarvis, Mr. John Denzil",male,47,0,0,237565,15,,S +588,1,1,"Frolicher-Stehli, Mr. Maxmillian",male,60,1,1,13567,79.2,B41,C +589,0,3,"Gilinski, Mr. Eliezer",male,22,0,0,14973,8.05,,S +590,0,3,"Murdlin, Mr. Joseph",male,,0,0,A./5. 3235,8.05,,S +591,0,3,"Rintamaki, Mr. Matti",male,35,0,0,STON/O 2. 3101273,7.125,,S +592,1,1,"Stephenson, Mrs. Walter Bertram (Martha Eustis)",female,52,1,0,36947,78.2667,D20,C +593,0,3,"Elsbury, Mr. William James",male,47,0,0,A/5 3902,7.25,,S +594,0,3,"Bourke, Miss. Mary",female,,0,2,364848,7.75,,Q +595,0,2,"Chapman, Mr. John Henry",male,37,1,0,SC/AH 29037,26,,S +596,0,3,"Van Impe, Mr. Jean Baptiste",male,36,1,1,345773,24.15,,S +597,1,2,"Leitch, Miss. Jessie Wills",female,,0,0,248727,33,,S +598,0,3,"Johnson, Mr. Alfred",male,49,0,0,LINE,0,,S +599,0,3,"Boulos, Mr. Hanna",male,,0,0,2664,7.225,,C +600,1,1,"Duff Gordon, Sir. Cosmo Edmund (""Mr Morgan"")",male,49,1,0,PC 17485,56.9292,A20,C +601,1,2,"Jacobsohn, Mrs. Sidney Samuel (Amy Frances Christy)",female,24,2,1,243847,27,,S +602,0,3,"Slabenoff, Mr. Petco",male,,0,0,349214,7.8958,,S +603,0,1,"Harrington, Mr. Charles H",male,,0,0,113796,42.4,,S +604,0,3,"Torber, Mr. Ernst William",male,44,0,0,364511,8.05,,S +605,1,1,"Homer, Mr. Harry (""Mr E Haven"")",male,35,0,0,111426,26.55,,C +606,0,3,"Lindell, Mr. Edvard Bengtsson",male,36,1,0,349910,15.55,,S +607,0,3,"Karaic, Mr. Milan",male,30,0,0,349246,7.8958,,S +608,1,1,"Daniel, Mr. Robert Williams",male,27,0,0,113804,30.5,,S +609,1,2,"Laroche, Mrs. Joseph (Juliette Marie Louise Lafargue)",female,22,1,2,SC/Paris 2123,41.5792,,C +610,1,1,"Shutes, Miss. Elizabeth W",female,40,0,0,PC 17582,153.4625,C125,S +611,0,3,"Andersson, Mrs. Anders Johan (Alfrida Konstantia Brogren)",female,39,1,5,347082,31.275,,S +612,0,3,"Jardin, Mr. Jose Neto",male,,0,0,SOTON/O.Q. 3101305,7.05,,S +613,1,3,"Murphy, Miss. Margaret Jane",female,,1,0,367230,15.5,,Q +614,0,3,"Horgan, Mr. John",male,,0,0,370377,7.75,,Q +615,0,3,"Brocklebank, Mr. William Alfred",male,35,0,0,364512,8.05,,S +616,1,2,"Herman, Miss. Alice",female,24,1,2,220845,65,,S +617,0,3,"Danbom, Mr. Ernst Gilbert",male,34,1,1,347080,14.4,,S +618,0,3,"Lobb, Mrs. William Arthur (Cordelia K Stanlick)",female,26,1,0,A/5. 3336,16.1,,S +619,1,2,"Becker, Miss. Marion Louise",female,4,2,1,230136,39,F4,S +620,0,2,"Gavey, Mr. Lawrence",male,26,0,0,31028,10.5,,S +621,0,3,"Yasbeck, Mr. Antoni",male,27,1,0,2659,14.4542,,C +622,1,1,"Kimball, Mr. Edwin Nelson Jr",male,42,1,0,11753,52.5542,D19,S +623,1,3,"Nakid, Mr. Sahid",male,20,1,1,2653,15.7417,,C +624,0,3,"Hansen, Mr. Henry Damsgaard",male,21,0,0,350029,7.8542,,S +625,0,3,"Bowen, Mr. David John ""Dai""",male,21,0,0,54636,16.1,,S +626,0,1,"Sutton, Mr. Frederick",male,61,0,0,36963,32.3208,D50,S +627,0,2,"Kirkland, Rev. Charles Leonard",male,57,0,0,219533,12.35,,Q +628,1,1,"Longley, Miss. Gretchen Fiske",female,21,0,0,13502,77.9583,D9,S +629,0,3,"Bostandyeff, Mr. Guentcho",male,26,0,0,349224,7.8958,,S +630,0,3,"O'Connell, Mr. Patrick D",male,,0,0,334912,7.7333,,Q +631,1,1,"Barkworth, Mr. Algernon Henry Wilson",male,80,0,0,27042,30,A23,S +632,0,3,"Lundahl, Mr. Johan Svensson",male,51,0,0,347743,7.0542,,S +633,1,1,"Stahelin-Maeglin, Dr. Max",male,32,0,0,13214,30.5,B50,C +634,0,1,"Parr, Mr. William Henry Marsh",male,,0,0,112052,0,,S +635,0,3,"Skoog, Miss. Mabel",female,9,3,2,347088,27.9,,S +636,1,2,"Davis, Miss. Mary",female,28,0,0,237668,13,,S +637,0,3,"Leinonen, Mr. Antti Gustaf",male,32,0,0,STON/O 2. 3101292,7.925,,S +638,0,2,"Collyer, Mr. Harvey",male,31,1,1,C.A. 31921,26.25,,S +639,0,3,"Panula, Mrs. Juha (Maria Emilia Ojala)",female,41,0,5,3101295,39.6875,,S +640,0,3,"Thorneycroft, Mr. Percival",male,,1,0,376564,16.1,,S +641,0,3,"Jensen, Mr. Hans Peder",male,20,0,0,350050,7.8542,,S +642,1,1,"Sagesser, Mlle. Emma",female,24,0,0,PC 17477,69.3,B35,C +643,0,3,"Skoog, Miss. Margit Elizabeth",female,2,3,2,347088,27.9,,S +644,1,3,"Foo, Mr. Choong",male,,0,0,1601,56.4958,,S +645,1,3,"Baclini, Miss. Eugenie",female,0.75,2,1,2666,19.2583,,C +646,1,1,"Harper, Mr. Henry Sleeper",male,48,1,0,PC 17572,76.7292,D33,C +647,0,3,"Cor, Mr. Liudevit",male,19,0,0,349231,7.8958,,S +648,1,1,"Simonius-Blumer, Col. Oberst Alfons",male,56,0,0,13213,35.5,A26,C +649,0,3,"Willey, Mr. Edward",male,,0,0,S.O./P.P. 751,7.55,,S +650,1,3,"Stanley, Miss. Amy Zillah Elsie",female,23,0,0,CA. 2314,7.55,,S +651,0,3,"Mitkoff, Mr. Mito",male,,0,0,349221,7.8958,,S +652,1,2,"Doling, Miss. Elsie",female,18,0,1,231919,23,,S +653,0,3,"Kalvik, Mr. Johannes Halvorsen",male,21,0,0,8475,8.4333,,S +654,1,3,"O'Leary, Miss. Hanora ""Norah""",female,,0,0,330919,7.8292,,Q +655,0,3,"Hegarty, Miss. Hanora ""Nora""",female,18,0,0,365226,6.75,,Q +656,0,2,"Hickman, Mr. Leonard Mark",male,24,2,0,S.O.C. 14879,73.5,,S +657,0,3,"Radeff, Mr. Alexander",male,,0,0,349223,7.8958,,S +658,0,3,"Bourke, Mrs. John (Catherine)",female,32,1,1,364849,15.5,,Q +659,0,2,"Eitemiller, Mr. George Floyd",male,23,0,0,29751,13,,S +660,0,1,"Newell, Mr. Arthur Webster",male,58,0,2,35273,113.275,D48,C +661,1,1,"Frauenthal, Dr. Henry William",male,50,2,0,PC 17611,133.65,,S +662,0,3,"Badt, Mr. Mohamed",male,40,0,0,2623,7.225,,C +663,0,1,"Colley, Mr. Edward Pomeroy",male,47,0,0,5727,25.5875,E58,S +664,0,3,"Coleff, Mr. Peju",male,36,0,0,349210,7.4958,,S +665,1,3,"Lindqvist, Mr. Eino William",male,20,1,0,STON/O 2. 3101285,7.925,,S +666,0,2,"Hickman, Mr. Lewis",male,32,2,0,S.O.C. 14879,73.5,,S +667,0,2,"Butler, Mr. Reginald Fenton",male,25,0,0,234686,13,,S +668,0,3,"Rommetvedt, Mr. Knud Paust",male,,0,0,312993,7.775,,S +669,0,3,"Cook, Mr. Jacob",male,43,0,0,A/5 3536,8.05,,S +670,1,1,"Taylor, Mrs. Elmer Zebley (Juliet Cummins Wright)",female,,1,0,19996,52,C126,S +671,1,2,"Brown, Mrs. Thomas William Solomon (Elizabeth Catherine Ford)",female,40,1,1,29750,39,,S +672,0,1,"Davidson, Mr. Thornton",male,31,1,0,F.C. 12750,52,B71,S +673,0,2,"Mitchell, Mr. Henry Michael",male,70,0,0,C.A. 24580,10.5,,S +674,1,2,"Wilhelms, Mr. Charles",male,31,0,0,244270,13,,S +675,0,2,"Watson, Mr. Ennis Hastings",male,,0,0,239856,0,,S +676,0,3,"Edvardsson, Mr. Gustaf Hjalmar",male,18,0,0,349912,7.775,,S +677,0,3,"Sawyer, Mr. Frederick Charles",male,24.5,0,0,342826,8.05,,S +678,1,3,"Turja, Miss. Anna Sofia",female,18,0,0,4138,9.8417,,S +679,0,3,"Goodwin, Mrs. Frederick (Augusta Tyler)",female,43,1,6,CA 2144,46.9,,S +680,1,1,"Cardeza, Mr. Thomas Drake Martinez",male,36,0,1,PC 17755,512.3292,B51 B53 B55,C +681,0,3,"Peters, Miss. Katie",female,,0,0,330935,8.1375,,Q +682,1,1,"Hassab, Mr. Hammad",male,27,0,0,PC 17572,76.7292,D49,C +683,0,3,"Olsvigen, Mr. Thor Anderson",male,20,0,0,6563,9.225,,S +684,0,3,"Goodwin, Mr. Charles Edward",male,14,5,2,CA 2144,46.9,,S +685,0,2,"Brown, Mr. Thomas William Solomon",male,60,1,1,29750,39,,S +686,0,2,"Laroche, Mr. Joseph Philippe Lemercier",male,25,1,2,SC/Paris 2123,41.5792,,C +687,0,3,"Panula, Mr. Jaako Arnold",male,14,4,1,3101295,39.6875,,S +688,0,3,"Dakic, Mr. Branko",male,19,0,0,349228,10.1708,,S +689,0,3,"Fischer, Mr. Eberhard Thelander",male,18,0,0,350036,7.7958,,S +690,1,1,"Madill, Miss. Georgette Alexandra",female,15,0,1,24160,211.3375,B5,S +691,1,1,"Dick, Mr. Albert Adrian",male,31,1,0,17474,57,B20,S +692,1,3,"Karun, Miss. Manca",female,4,0,1,349256,13.4167,,C +693,1,3,"Lam, Mr. Ali",male,,0,0,1601,56.4958,,S +694,0,3,"Saad, Mr. Khalil",male,25,0,0,2672,7.225,,C +695,0,1,"Weir, Col. John",male,60,0,0,113800,26.55,,S +696,0,2,"Chapman, Mr. Charles Henry",male,52,0,0,248731,13.5,,S +697,0,3,"Kelly, Mr. James",male,44,0,0,363592,8.05,,S +698,1,3,"Mullens, Miss. Katherine ""Katie""",female,,0,0,35852,7.7333,,Q +699,0,1,"Thayer, Mr. John Borland",male,49,1,1,17421,110.8833,C68,C +700,0,3,"Humblen, Mr. Adolf Mathias Nicolai Olsen",male,42,0,0,348121,7.65,F G63,S +701,1,1,"Astor, Mrs. John Jacob (Madeleine Talmadge Force)",female,18,1,0,PC 17757,227.525,C62 C64,C +702,1,1,"Silverthorne, Mr. Spencer Victor",male,35,0,0,PC 17475,26.2875,E24,S +703,0,3,"Barbara, Miss. Saiide",female,18,0,1,2691,14.4542,,C +704,0,3,"Gallagher, Mr. Martin",male,25,0,0,36864,7.7417,,Q +705,0,3,"Hansen, Mr. Henrik Juul",male,26,1,0,350025,7.8542,,S +706,0,2,"Morley, Mr. Henry Samuel (""Mr Henry Marshall"")",male,39,0,0,250655,26,,S +707,1,2,"Kelly, Mrs. Florence ""Fannie""",female,45,0,0,223596,13.5,,S +708,1,1,"Calderhead, Mr. Edward Pennington",male,42,0,0,PC 17476,26.2875,E24,S +709,1,1,"Cleaver, Miss. Alice",female,22,0,0,113781,151.55,,S +710,1,3,"Moubarek, Master. Halim Gonios (""William George"")",male,,1,1,2661,15.2458,,C +711,1,1,"Mayne, Mlle. Berthe Antonine (""Mrs de Villiers"")",female,24,0,0,PC 17482,49.5042,C90,C +712,0,1,"Klaber, Mr. Herman",male,,0,0,113028,26.55,C124,S +713,1,1,"Taylor, Mr. Elmer Zebley",male,48,1,0,19996,52,C126,S +714,0,3,"Larsson, Mr. August Viktor",male,29,0,0,7545,9.4833,,S +715,0,2,"Greenberg, Mr. Samuel",male,52,0,0,250647,13,,S +716,0,3,"Soholt, Mr. Peter Andreas Lauritz Andersen",male,19,0,0,348124,7.65,F G73,S +717,1,1,"Endres, Miss. Caroline Louise",female,38,0,0,PC 17757,227.525,C45,C +718,1,2,"Troutt, Miss. Edwina Celia ""Winnie""",female,27,0,0,34218,10.5,E101,S +719,0,3,"McEvoy, Mr. Michael",male,,0,0,36568,15.5,,Q +720,0,3,"Johnson, Mr. Malkolm Joackim",male,33,0,0,347062,7.775,,S +721,1,2,"Harper, Miss. Annie Jessie ""Nina""",female,6,0,1,248727,33,,S +722,0,3,"Jensen, Mr. Svend Lauritz",male,17,1,0,350048,7.0542,,S +723,0,2,"Gillespie, Mr. William Henry",male,34,0,0,12233,13,,S +724,0,2,"Hodges, Mr. Henry Price",male,50,0,0,250643,13,,S +725,1,1,"Chambers, Mr. Norman Campbell",male,27,1,0,113806,53.1,E8,S +726,0,3,"Oreskovic, Mr. Luka",male,20,0,0,315094,8.6625,,S +727,1,2,"Renouf, Mrs. Peter Henry (Lillian Jefferys)",female,30,3,0,31027,21,,S +728,1,3,"Mannion, Miss. Margareth",female,,0,0,36866,7.7375,,Q +729,0,2,"Bryhl, Mr. Kurt Arnold Gottfrid",male,25,1,0,236853,26,,S +730,0,3,"Ilmakangas, Miss. Pieta Sofia",female,25,1,0,STON/O2. 3101271,7.925,,S +731,1,1,"Allen, Miss. Elisabeth Walton",female,29,0,0,24160,211.3375,B5,S +732,0,3,"Hassan, Mr. Houssein G N",male,11,0,0,2699,18.7875,,C +733,0,2,"Knight, Mr. Robert J",male,,0,0,239855,0,,S +734,0,2,"Berriman, Mr. William John",male,23,0,0,28425,13,,S +735,0,2,"Troupiansky, Mr. Moses Aaron",male,23,0,0,233639,13,,S +736,0,3,"Williams, Mr. Leslie",male,28.5,0,0,54636,16.1,,S +737,0,3,"Ford, Mrs. Edward (Margaret Ann Watson)",female,48,1,3,W./C. 6608,34.375,,S +738,1,1,"Lesurer, Mr. Gustave J",male,35,0,0,PC 17755,512.3292,B101,C +739,0,3,"Ivanoff, Mr. Kanio",male,,0,0,349201,7.8958,,S +740,0,3,"Nankoff, Mr. Minko",male,,0,0,349218,7.8958,,S +741,1,1,"Hawksford, Mr. Walter James",male,,0,0,16988,30,D45,S +742,0,1,"Cavendish, Mr. Tyrell William",male,36,1,0,19877,78.85,C46,S +743,1,1,"Ryerson, Miss. Susan Parker ""Suzette""",female,21,2,2,PC 17608,262.375,B57 B59 B63 B66,C +744,0,3,"McNamee, Mr. Neal",male,24,1,0,376566,16.1,,S +745,1,3,"Stranden, Mr. Juho",male,31,0,0,STON/O 2. 3101288,7.925,,S +746,0,1,"Crosby, Capt. Edward Gifford",male,70,1,1,WE/P 5735,71,B22,S +747,0,3,"Abbott, Mr. Rossmore Edward",male,16,1,1,C.A. 2673,20.25,,S +748,1,2,"Sinkkonen, Miss. Anna",female,30,0,0,250648,13,,S +749,0,1,"Marvin, Mr. Daniel Warner",male,19,1,0,113773,53.1,D30,S +750,0,3,"Connaghton, Mr. Michael",male,31,0,0,335097,7.75,,Q +751,1,2,"Wells, Miss. Joan",female,4,1,1,29103,23,,S +752,1,3,"Moor, Master. Meier",male,6,0,1,392096,12.475,E121,S +753,0,3,"Vande Velde, Mr. Johannes Joseph",male,33,0,0,345780,9.5,,S +754,0,3,"Jonkoff, Mr. Lalio",male,23,0,0,349204,7.8958,,S +755,1,2,"Herman, Mrs. Samuel (Jane Laver)",female,48,1,2,220845,65,,S +756,1,2,"Hamalainen, Master. Viljo",male,0.67,1,1,250649,14.5,,S +757,0,3,"Carlsson, Mr. August Sigfrid",male,28,0,0,350042,7.7958,,S +758,0,2,"Bailey, Mr. Percy Andrew",male,18,0,0,29108,11.5,,S +759,0,3,"Theobald, Mr. Thomas Leonard",male,34,0,0,363294,8.05,,S +760,1,1,"Rothes, the Countess. of (Lucy Noel Martha Dyer-Edwards)",female,33,0,0,110152,86.5,B77,S +761,0,3,"Garfirth, Mr. John",male,,0,0,358585,14.5,,S +762,0,3,"Nirva, Mr. Iisakki Antino Aijo",male,41,0,0,SOTON/O2 3101272,7.125,,S +763,1,3,"Barah, Mr. Hanna Assi",male,20,0,0,2663,7.2292,,C +764,1,1,"Carter, Mrs. William Ernest (Lucile Polk)",female,36,1,2,113760,120,B96 B98,S +765,0,3,"Eklund, Mr. Hans Linus",male,16,0,0,347074,7.775,,S +766,1,1,"Hogeboom, Mrs. John C (Anna Andrews)",female,51,1,0,13502,77.9583,D11,S +767,0,1,"Brewe, Dr. Arthur Jackson",male,,0,0,112379,39.6,,C +768,0,3,"Mangan, Miss. Mary",female,30.5,0,0,364850,7.75,,Q +769,0,3,"Moran, Mr. Daniel J",male,,1,0,371110,24.15,,Q +770,0,3,"Gronnestad, Mr. Daniel Danielsen",male,32,0,0,8471,8.3625,,S +771,0,3,"Lievens, Mr. Rene Aime",male,24,0,0,345781,9.5,,S +772,0,3,"Jensen, Mr. Niels Peder",male,48,0,0,350047,7.8542,,S +773,0,2,"Mack, Mrs. (Mary)",female,57,0,0,S.O./P.P. 3,10.5,E77,S +774,0,3,"Elias, Mr. Dibo",male,,0,0,2674,7.225,,C +775,1,2,"Hocking, Mrs. Elizabeth (Eliza Needs)",female,54,1,3,29105,23,,S +776,0,3,"Myhrman, Mr. Pehr Fabian Oliver Malkolm",male,18,0,0,347078,7.75,,S +777,0,3,"Tobin, Mr. Roger",male,,0,0,383121,7.75,F38,Q +778,1,3,"Emanuel, Miss. Virginia Ethel",female,5,0,0,364516,12.475,,S +779,0,3,"Kilgannon, Mr. Thomas J",male,,0,0,36865,7.7375,,Q +780,1,1,"Robert, Mrs. Edward Scott (Elisabeth Walton McMillan)",female,43,0,1,24160,211.3375,B3,S +781,1,3,"Ayoub, Miss. Banoura",female,13,0,0,2687,7.2292,,C +782,1,1,"Dick, Mrs. Albert Adrian (Vera Gillespie)",female,17,1,0,17474,57,B20,S +783,0,1,"Long, Mr. Milton Clyde",male,29,0,0,113501,30,D6,S +784,0,3,"Johnston, Mr. Andrew G",male,,1,2,W./C. 6607,23.45,,S +785,0,3,"Ali, Mr. William",male,25,0,0,SOTON/O.Q. 3101312,7.05,,S +786,0,3,"Harmer, Mr. Abraham (David Lishin)",male,25,0,0,374887,7.25,,S +787,1,3,"Sjoblom, Miss. Anna Sofia",female,18,0,0,3101265,7.4958,,S +788,0,3,"Rice, Master. George Hugh",male,8,4,1,382652,29.125,,Q +789,1,3,"Dean, Master. Bertram Vere",male,1,1,2,C.A. 2315,20.575,,S +790,0,1,"Guggenheim, Mr. Benjamin",male,46,0,0,PC 17593,79.2,B82 B84,C +791,0,3,"Keane, Mr. Andrew ""Andy""",male,,0,0,12460,7.75,,Q +792,0,2,"Gaskell, Mr. Alfred",male,16,0,0,239865,26,,S +793,0,3,"Sage, Miss. Stella Anna",female,,8,2,CA. 2343,69.55,,S +794,0,1,"Hoyt, Mr. William Fisher",male,,0,0,PC 17600,30.6958,,C +795,0,3,"Dantcheff, Mr. Ristiu",male,25,0,0,349203,7.8958,,S +796,0,2,"Otter, Mr. Richard",male,39,0,0,28213,13,,S +797,1,1,"Leader, Dr. Alice (Farnham)",female,49,0,0,17465,25.9292,D17,S +798,1,3,"Osman, Mrs. Mara",female,31,0,0,349244,8.6833,,S +799,0,3,"Ibrahim Shawah, Mr. Yousseff",male,30,0,0,2685,7.2292,,C +800,0,3,"Van Impe, Mrs. Jean Baptiste (Rosalie Paula Govaert)",female,30,1,1,345773,24.15,,S +801,0,2,"Ponesell, Mr. Martin",male,34,0,0,250647,13,,S +802,1,2,"Collyer, Mrs. Harvey (Charlotte Annie Tate)",female,31,1,1,C.A. 31921,26.25,,S +803,1,1,"Carter, Master. William Thornton II",male,11,1,2,113760,120,B96 B98,S +804,1,3,"Thomas, Master. Assad Alexander",male,0.42,0,1,2625,8.5167,,C +805,1,3,"Hedman, Mr. Oskar Arvid",male,27,0,0,347089,6.975,,S +806,0,3,"Johansson, Mr. Karl Johan",male,31,0,0,347063,7.775,,S +807,0,1,"Andrews, Mr. Thomas Jr",male,39,0,0,112050,0,A36,S +808,0,3,"Pettersson, Miss. Ellen Natalia",female,18,0,0,347087,7.775,,S +809,0,2,"Meyer, Mr. August",male,39,0,0,248723,13,,S +810,1,1,"Chambers, Mrs. Norman Campbell (Bertha Griggs)",female,33,1,0,113806,53.1,E8,S +811,0,3,"Alexander, Mr. William",male,26,0,0,3474,7.8875,,S +812,0,3,"Lester, Mr. James",male,39,0,0,A/4 48871,24.15,,S +813,0,2,"Slemen, Mr. Richard James",male,35,0,0,28206,10.5,,S +814,0,3,"Andersson, Miss. Ebba Iris Alfrida",female,6,4,2,347082,31.275,,S +815,0,3,"Tomlin, Mr. Ernest Portage",male,30.5,0,0,364499,8.05,,S +816,0,1,"Fry, Mr. Richard",male,,0,0,112058,0,B102,S +817,0,3,"Heininen, Miss. Wendla Maria",female,23,0,0,STON/O2. 3101290,7.925,,S +818,0,2,"Mallet, Mr. Albert",male,31,1,1,S.C./PARIS 2079,37.0042,,C +819,0,3,"Holm, Mr. John Fredrik Alexander",male,43,0,0,C 7075,6.45,,S +820,0,3,"Skoog, Master. Karl Thorsten",male,10,3,2,347088,27.9,,S +821,1,1,"Hays, Mrs. Charles Melville (Clara Jennings Gregg)",female,52,1,1,12749,93.5,B69,S +822,1,3,"Lulic, Mr. Nikola",male,27,0,0,315098,8.6625,,S +823,0,1,"Reuchlin, Jonkheer. John George",male,38,0,0,19972,0,,S +824,1,3,"Moor, Mrs. (Beila)",female,27,0,1,392096,12.475,E121,S +825,0,3,"Panula, Master. Urho Abraham",male,2,4,1,3101295,39.6875,,S +826,0,3,"Flynn, Mr. John",male,,0,0,368323,6.95,,Q +827,0,3,"Lam, Mr. Len",male,,0,0,1601,56.4958,,S +828,1,2,"Mallet, Master. Andre",male,1,0,2,S.C./PARIS 2079,37.0042,,C +829,1,3,"McCormack, Mr. Thomas Joseph",male,,0,0,367228,7.75,,Q +830,1,1,"Stone, Mrs. George Nelson (Martha Evelyn)",female,62,0,0,113572,80,B28, +831,1,3,"Yasbeck, Mrs. Antoni (Selini Alexander)",female,15,1,0,2659,14.4542,,C +832,1,2,"Richards, Master. George Sibley",male,0.83,1,1,29106,18.75,,S +833,0,3,"Saad, Mr. Amin",male,,0,0,2671,7.2292,,C +834,0,3,"Augustsson, Mr. Albert",male,23,0,0,347468,7.8542,,S +835,0,3,"Allum, Mr. Owen George",male,18,0,0,2223,8.3,,S +836,1,1,"Compton, Miss. Sara Rebecca",female,39,1,1,PC 17756,83.1583,E49,C +837,0,3,"Pasic, Mr. Jakob",male,21,0,0,315097,8.6625,,S +838,0,3,"Sirota, Mr. Maurice",male,,0,0,392092,8.05,,S +839,1,3,"Chip, Mr. Chang",male,32,0,0,1601,56.4958,,S +840,1,1,"Marechal, Mr. Pierre",male,,0,0,11774,29.7,C47,C +841,0,3,"Alhomaki, Mr. Ilmari Rudolf",male,20,0,0,SOTON/O2 3101287,7.925,,S +842,0,2,"Mudd, Mr. Thomas Charles",male,16,0,0,S.O./P.P. 3,10.5,,S +843,1,1,"Serepeca, Miss. Augusta",female,30,0,0,113798,31,,C +844,0,3,"Lemberopolous, Mr. Peter L",male,34.5,0,0,2683,6.4375,,C +845,0,3,"Culumovic, Mr. Jeso",male,17,0,0,315090,8.6625,,S +846,0,3,"Abbing, Mr. Anthony",male,42,0,0,C.A. 5547,7.55,,S +847,0,3,"Sage, Mr. Douglas Bullen",male,,8,2,CA. 2343,69.55,,S +848,0,3,"Markoff, Mr. Marin",male,35,0,0,349213,7.8958,,C +849,0,2,"Harper, Rev. John",male,28,0,1,248727,33,,S +850,1,1,"Goldenberg, Mrs. Samuel L (Edwiga Grabowska)",female,,1,0,17453,89.1042,C92,C +851,0,3,"Andersson, Master. Sigvard Harald Elias",male,4,4,2,347082,31.275,,S +852,0,3,"Svensson, Mr. Johan",male,74,0,0,347060,7.775,,S +853,0,3,"Boulos, Miss. Nourelain",female,9,1,1,2678,15.2458,,C +854,1,1,"Lines, Miss. Mary Conover",female,16,0,1,PC 17592,39.4,D28,S +855,0,2,"Carter, Mrs. Ernest Courtenay (Lilian Hughes)",female,44,1,0,244252,26,,S +856,1,3,"Aks, Mrs. Sam (Leah Rosen)",female,18,0,1,392091,9.35,,S +857,1,1,"Wick, Mrs. George Dennick (Mary Hitchcock)",female,45,1,1,36928,164.8667,,S +858,1,1,"Daly, Mr. Peter Denis ",male,51,0,0,113055,26.55,E17,S +859,1,3,"Baclini, Mrs. Solomon (Latifa Qurban)",female,24,0,3,2666,19.2583,,C +860,0,3,"Razi, Mr. Raihed",male,,0,0,2629,7.2292,,C +861,0,3,"Hansen, Mr. Claus Peter",male,41,2,0,350026,14.1083,,S +862,0,2,"Giles, Mr. Frederick Edward",male,21,1,0,28134,11.5,,S +863,1,1,"Swift, Mrs. Frederick Joel (Margaret Welles Barron)",female,48,0,0,17466,25.9292,D17,S +864,0,3,"Sage, Miss. Dorothy Edith ""Dolly""",female,,8,2,CA. 2343,69.55,,S +865,0,2,"Gill, Mr. John William",male,24,0,0,233866,13,,S +866,1,2,"Bystrom, Mrs. (Karolina)",female,42,0,0,236852,13,,S +867,1,2,"Duran y More, Miss. Asuncion",female,27,1,0,SC/PARIS 2149,13.8583,,C +868,0,1,"Roebling, Mr. Washington Augustus II",male,31,0,0,PC 17590,50.4958,A24,S +869,0,3,"van Melkebeke, Mr. Philemon",male,,0,0,345777,9.5,,S +870,1,3,"Johnson, Master. Harold Theodor",male,4,1,1,347742,11.1333,,S +871,0,3,"Balkic, Mr. Cerin",male,26,0,0,349248,7.8958,,S +872,1,1,"Beckwith, Mrs. Richard Leonard (Sallie Monypeny)",female,47,1,1,11751,52.5542,D35,S +873,0,1,"Carlsson, Mr. Frans Olof",male,33,0,0,695,5,B51 B53 B55,S +874,0,3,"Vander Cruyssen, Mr. Victor",male,47,0,0,345765,9,,S +875,1,2,"Abelson, Mrs. Samuel (Hannah Wizosky)",female,28,1,0,P/PP 3381,24,,C +876,1,3,"Najib, Miss. Adele Kiamie ""Jane""",female,15,0,0,2667,7.225,,C +877,0,3,"Gustafsson, Mr. Alfred Ossian",male,20,0,0,7534,9.8458,,S +878,0,3,"Petroff, Mr. Nedelio",male,19,0,0,349212,7.8958,,S +879,0,3,"Laleff, Mr. Kristo",male,,0,0,349217,7.8958,,S +880,1,1,"Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)",female,56,0,1,11767,83.1583,C50,C +881,1,2,"Shelley, Mrs. William (Imanita Parrish Hall)",female,25,0,1,230433,26,,S +882,0,3,"Markun, Mr. Johann",male,33,0,0,349257,7.8958,,S +883,0,3,"Dahlberg, Miss. Gerda Ulrika",female,22,0,0,7552,10.5167,,S +884,0,2,"Banfield, Mr. Frederick James",male,28,0,0,C.A./SOTON 34068,10.5,,S +885,0,3,"Sutehall, Mr. Henry Jr",male,25,0,0,SOTON/OQ 392076,7.05,,S +886,0,3,"Rice, Mrs. William (Margaret Norton)",female,39,0,5,382652,29.125,,Q +887,0,2,"Montvila, Rev. Juozas",male,27,0,0,211536,13,,S +888,1,1,"Graham, Miss. Margaret Edith",female,19,0,0,112053,30,B42,S +889,0,3,"Johnston, Miss. Catherine Helen ""Carrie""",female,,1,2,W./C. 6607,23.45,,S +890,1,1,"Behr, Mr. Karl Howell",male,26,0,0,111369,30,C148,C +891,0,3,"Dooley, Mr. Patrick",male,32,0,0,370376,7.75,,Q diff --git a/titanic/tree.csv b/titanic/tree.csv new file mode 100644 index 0000000..15c1a07 --- /dev/null +++ b/titanic/tree.csv @@ -0,0 +1,419 @@ +Survived,PassengerId +0,892 +1,893 +0,894 +0,895 +1,896 +0,897 +1,898 +0,899 +1,900 +0,901 +0,902 +0,903 +1,904 +0,905 +1,906 +1,907 +0,908 +0,909 +1,910 +1,911 +0,912 +0,913 +1,914 +0,915 +1,916 +0,917 +1,918 +0,919 +0,920 +0,921 +0,922 +0,923 +0,924 +0,925 +0,926 +0,927 +1,928 +1,929 +0,930 +1,931 +0,932 +0,933 +0,934 +1,935 +1,936 +0,937 +0,938 +0,939 +1,940 +1,941 +0,942 +0,943 +1,944 +1,945 +0,946 +0,947 +0,948 +0,949 +0,950 +1,951 +0,952 +0,953 +0,954 +1,955 +0,956 +1,957 +1,958 +0,959 +0,960 +1,961 +1,962 +0,963 +1,964 +0,965 +1,966 +0,967 +0,968 +1,969 +0,970 +1,971 +0,972 +0,973 +0,974 +0,975 +0,976 +0,977 +1,978 +1,979 +1,980 +0,981 +1,982 +0,983 +1,984 +0,985 +0,986 +0,987 +1,988 +0,989 +1,990 +0,991 +1,992 +0,993 +0,994 +0,995 +1,996 +0,997 +0,998 +0,999 +0,1000 +0,1001 +0,1002 +1,1003 +1,1004 +1,1005 +1,1006 +0,1007 +0,1008 +1,1009 +0,1010 +1,1011 +1,1012 +0,1013 +1,1014 +0,1015 +0,1016 +1,1017 +0,1018 +0,1019 +0,1020 +0,1021 +0,1022 +0,1023 +0,1024 +0,1025 +0,1026 +0,1027 +0,1028 +0,1029 +1,1030 +0,1031 +0,1032 +1,1033 +0,1034 +0,1035 +0,1036 +0,1037 +0,1038 +0,1039 +0,1040 +0,1041 +1,1042 +0,1043 +0,1044 +1,1045 +0,1046 +0,1047 +1,1048 +1,1049 +0,1050 +1,1051 +1,1052 +0,1053 +1,1054 +0,1055 +0,1056 +0,1057 +0,1058 +0,1059 +1,1060 +1,1061 +0,1062 +0,1063 +0,1064 +0,1065 +0,1066 +1,1067 +1,1068 +0,1069 +1,1070 +1,1071 +0,1072 +0,1073 +1,1074 +0,1075 +1,1076 +0,1077 +1,1078 +0,1079 +0,1080 +0,1081 +0,1082 +0,1083 +0,1084 +0,1085 +0,1086 +0,1087 +0,1088 +1,1089 +0,1090 +1,1091 +1,1092 +0,1093 +0,1094 +1,1095 +0,1096 +0,1097 +1,1098 +0,1099 +1,1100 +0,1101 +0,1102 +0,1103 +0,1104 +1,1105 +1,1106 +0,1107 +1,1108 +0,1109 +1,1110 +0,1111 +1,1112 +0,1113 +1,1114 +0,1115 +1,1116 +1,1117 +0,1118 +1,1119 +0,1120 +0,1121 +0,1122 +1,1123 +0,1124 +0,1125 +0,1126 +0,1127 +0,1128 +0,1129 +1,1130 +1,1131 +1,1132 +1,1133 +0,1134 +0,1135 +0,1136 +0,1137 +1,1138 +0,1139 +1,1140 +1,1141 +1,1142 +0,1143 +0,1144 +0,1145 +0,1146 +0,1147 +0,1148 +0,1149 +1,1150 +0,1151 +0,1152 +0,1153 +1,1154 +1,1155 +0,1156 +0,1157 +0,1158 +0,1159 +1,1160 +0,1161 +0,1162 +0,1163 +1,1164 +1,1165 +0,1166 +1,1167 +0,1168 +0,1169 +0,1170 +0,1171 +1,1172 +0,1173 +1,1174 +1,1175 +0,1176 +0,1177 +0,1178 +0,1179 +0,1180 +0,1181 +0,1182 +1,1183 +0,1184 +0,1185 +0,1186 +0,1187 +1,1188 +0,1189 +0,1190 +0,1191 +0,1192 +0,1193 +0,1194 +0,1195 +1,1196 +1,1197 +0,1198 +0,1199 +0,1200 +1,1201 +0,1202 +0,1203 +0,1204 +1,1205 +1,1206 +1,1207 +0,1208 +0,1209 +0,1210 +0,1211 +0,1212 +0,1213 +0,1214 +0,1215 +1,1216 +0,1217 +1,1218 +0,1219 +0,1220 +0,1221 +1,1222 +0,1223 +0,1224 +1,1225 +0,1226 +0,1227 +0,1228 +0,1229 +0,1230 +0,1231 +0,1232 +0,1233 +0,1234 +1,1235 +0,1236 +1,1237 +0,1238 +1,1239 +0,1240 +1,1241 +1,1242 +0,1243 +0,1244 +0,1245 +0,1246 +0,1247 +1,1248 +0,1249 +0,1250 +1,1251 +0,1252 +1,1253 +1,1254 +0,1255 +1,1256 +0,1257 +0,1258 +0,1259 +1,1260 +0,1261 +0,1262 +1,1263 +0,1264 +0,1265 +1,1266 +1,1267 +1,1268 +0,1269 +0,1270 +0,1271 +0,1272 +0,1273 +1,1274 +1,1275 +0,1276 +1,1277 +0,1278 +0,1279 +0,1280 +0,1281 +0,1282 +1,1283 +0,1284 +0,1285 +0,1286 +1,1287 +0,1288 +1,1289 +0,1290 +0,1291 +1,1292 +0,1293 +1,1294 +0,1295 +0,1296 +0,1297 +0,1298 +0,1299 +1,1300 +1,1301 +1,1302 +1,1303 +1,1304 +0,1305 +1,1306 +0,1307 +0,1308 +0,1309 diff --git a/titanic/tree.dot b/titanic/tree.dot new file mode 100644 index 0000000..ea42925 --- /dev/null +++ b/titanic/tree.dot @@ -0,0 +1,151 @@ +digraph Tree { +0 [label="X[0] <= 0.5000\ngini = 0.471937363574\nsamples = 802", shape="box"] ; +1 [label="X[1] <= 2.5000\ngini = 0.38956660715\nsamples = 283", shape="box"] ; +0 -> 1 ; +2 [label="X[2] <= 2.5000\ngini = 0.0997229916898\nsamples = 152", shape="box"] ; +1 -> 2 ; +3 [label="X[1] <= 1.5000\ngini = 0.177371674281\nsamples = 61", shape="box"] ; +2 -> 3 ; +4 [label="gini = 0.3200\nsamples = 5\nvalue = [ 1. 4.]", shape="box"] ; +3 -> 4 ; +5 [label="X[2] <= 1.5000\ngini = 0.16262755102\nsamples = 56", shape="box"] ; +3 -> 5 ; +6 [label="gini = 0.1855\nsamples = 29\nvalue = [ 3. 26.]", shape="box"] ; +5 -> 6 ; +7 [label="gini = 0.1372\nsamples = 27\nvalue = [ 2. 25.]", shape="box"] ; +5 -> 7 ; +8 [label="X[2] <= 14.5000\ngini = 0.0429899770559\nsamples = 91", shape="box"] ; +2 -> 8 ; +9 [label="gini = 0.0000\nsamples = 73\nvalue = [ 0. 73.]", shape="box"] ; +8 -> 9 ; +10 [label="X[2] <= 15.5000\ngini = 0.197530864198\nsamples = 18", shape="box"] ; +8 -> 10 ; +11 [label="gini = 0.4800\nsamples = 5\nvalue = [ 2. 3.]", shape="box"] ; +10 -> 11 ; +12 [label="gini = 0.0000\nsamples = 13\nvalue = [ 0. 13.]", shape="box"] ; +10 -> 12 ; +13 [label="X[2] <= 1.5000\ngini = 0.499737777519\nsamples = 131", shape="box"] ; +1 -> 13 ; +14 [label="X[2] <= 0.5000\ngini = 0.485513807153\nsamples = 94", shape="box"] ; +13 -> 14 ; +15 [label="gini = 0.4898\nsamples = 56\nvalue = [ 24. 32.]", shape="box"] ; +14 -> 15 ; +16 [label="gini = 0.4778\nsamples = 38\nvalue = [ 15. 23.]", shape="box"] ; +14 -> 16 ; +17 [label="X[2] <= 2.5000\ngini = 0.36815193572\nsamples = 37", shape="box"] ; +13 -> 17 ; +18 [label="gini = 0.4444\nsamples = 21\nvalue = [ 14. 7.]", shape="box"] ; +17 -> 18 ; +19 [label="X[2] <= 3.5000\ngini = 0.21875\nsamples = 16", shape="box"] ; +17 -> 19 ; +20 [label="gini = 0.2975\nsamples = 11\nvalue = [ 9. 2.]", shape="box"] ; +19 -> 20 ; +21 [label="gini = 0.0000\nsamples = 5\nvalue = [ 5. 0.]", shape="box"] ; +19 -> 21 ; +22 [label="X[1] <= 1.5000\ngini = 0.306339819053\nsamples = 519", shape="box"] ; +0 -> 22 ; +23 [label="X[2] <= 38.5000\ngini = 0.465112139551\nsamples = 106", shape="box"] ; +22 -> 23 ; +24 [label="X[2] <= 18.0000\ngini = 0.458394970414\nsamples = 104", shape="box"] ; +23 -> 24 ; +25 [label="X[2] <= 1.0000\ngini = 0.470012494794\nsamples = 98", shape="box"] ; +24 -> 25 ; +26 [label="gini = 0.0000\nsamples = 5\nvalue = [ 5. 0.]", shape="box"] ; +25 -> 26 ; +27 [label="X[2] <= 11.5000\ngini = 0.479130535322\nsamples = 93", shape="box"] ; +25 -> 27 ; +28 [label="X[2] <= 9.5000\ngini = 0.474173553719\nsamples = 88", shape="box"] ; +27 -> 28 ; +29 [label="X[2] <= 3.5000\ngini = 0.479024531862\nsamples = 83", shape="box"] ; +28 -> 29 ; +30 [label="X[2] <= 2.5000\ngini = 0.488909008601\nsamples = 47", shape="box"] ; +29 -> 30 ; +31 [label="gini = 0.4608\nsamples = 25\nvalue = [ 16. 9.]", shape="box"] ; +30 -> 31 ; +32 [label="gini = 0.5000\nsamples = 22\nvalue = [ 11. 11.]", shape="box"] ; +30 -> 32 ; +33 [label="X[2] <= 4.5000\ngini = 0.461419753086\nsamples = 36", shape="box"] ; +29 -> 33 ; +34 [label="gini = 0.0000\nsamples = 4\nvalue = [ 4. 0.]", shape="box"] ; +33 -> 34 ; +35 [label="X[2] <= 5.5000\ngini = 0.482421875\nsamples = 32", shape="box"] ; +33 -> 35 ; +36 [label="gini = 0.4970\nsamples = 13\nvalue = [ 7. 6.]", shape="box"] ; +35 -> 36 ; +37 [label="X[2] <= 6.5000\ngini = 0.465373961219\nsamples = 19", shape="box"] ; +35 -> 37 ; +38 [label="gini = 0.3200\nsamples = 5\nvalue = [ 4. 1.]", shape="box"] ; +37 -> 38 ; +39 [label="X[2] <= 7.5000\ngini = 0.489795918367\nsamples = 14", shape="box"] ; +37 -> 39 ; +40 [label="gini = 0.4688\nsamples = 8\nvalue = [ 5. 3.]", shape="box"] ; +39 -> 40 ; +41 [label="X[2] <= 8.5000\ngini = 0.5\nsamples = 6", shape="box"] ; +39 -> 41 ; +42 [label="gini = 0.5000\nsamples = 4\nvalue = [ 2. 2.]", shape="box"] ; +41 -> 42 ; +43 [label="gini = 0.5000\nsamples = 2\nvalue = [ 1. 1.]", shape="box"] ; +41 -> 43 ; +44 [label="X[2] <= 10.5000\ngini = 0.32\nsamples = 5", shape="box"] ; +28 -> 44 ; +45 [label="gini = 0.0000\nsamples = 2\nvalue = [ 2. 0.]", shape="box"] ; +44 -> 45 ; +46 [label="gini = 0.4444\nsamples = 3\nvalue = [ 2. 1.]", shape="box"] ; +44 -> 46 ; +47 [label="X[2] <= 12.5000\ngini = 0.48\nsamples = 5", shape="box"] ; +27 -> 47 ; +48 [label="gini = 0.0000\nsamples = 1\nvalue = [ 0. 1.]", shape="box"] ; +47 -> 48 ; +49 [label="X[2] <= 14.0000\ngini = 0.5\nsamples = 4", shape="box"] ; +47 -> 49 ; +50 [label="gini = 0.5000\nsamples = 2\nvalue = [ 1. 1.]", shape="box"] ; +49 -> 50 ; +51 [label="gini = 0.5000\nsamples = 2\nvalue = [ 1. 1.]", shape="box"] ; +49 -> 51 ; +52 [label="gini = 0.0000\nsamples = 6\nvalue = [ 6. 0.]", shape="box"] ; +24 -> 52 ; +53 [label="gini = 0.0000\nsamples = 2\nvalue = [ 0. 2.]", shape="box"] ; +23 -> 53 ; +54 [label="X[2] <= 4.5000\ngini = 0.244897959184\nsamples = 413", shape="box"] ; +22 -> 54 ; +55 [label="X[2] <= 0.5000\ngini = 0.23355\nsamples = 400", shape="box"] ; +54 -> 55 ; +56 [label="X[1] <= 2.5000\ngini = 0.196822090836\nsamples = 244", shape="box"] ; +55 -> 56 ; +57 [label="gini = 0.0000\nsamples = 6\nvalue = [ 6. 0.]", shape="box"] ; +56 -> 57 ; +58 [label="gini = 0.2012\nsamples = 238\nvalue = [ 211. 27.]", shape="box"] ; +56 -> 58 ; +59 [label="X[2] <= 3.5000\ngini = 0.28624260355\nsamples = 156", shape="box"] ; +55 -> 59 ; +60 [label="X[2] <= 1.5000\ngini = 0.293671330205\nsamples = 151", shape="box"] ; +59 -> 60 ; +61 [label="X[1] <= 2.5000\ngini = 0.317352976694\nsamples = 91", shape="box"] ; +60 -> 61 ; +62 [label="gini = 0.2854\nsamples = 58\nvalue = [ 48. 10.]", shape="box"] ; +61 -> 62 ; +63 [label="gini = 0.3673\nsamples = 33\nvalue = [ 25. 8.]", shape="box"] ; +61 -> 63 ; +64 [label="X[1] <= 2.5000\ngini = 0.255\nsamples = 60", shape="box"] ; +60 -> 64 ; +65 [label="X[2] <= 2.5000\ngini = 0.328180737218\nsamples = 29", shape="box"] ; +64 -> 65 ; +66 [label="gini = 0.2449\nsamples = 21\nvalue = [ 18. 3.]", shape="box"] ; +65 -> 66 ; +67 [label="gini = 0.4688\nsamples = 8\nvalue = [ 5. 3.]", shape="box"] ; +65 -> 67 ; +68 [label="X[2] <= 2.5000\ngini = 0.174817898023\nsamples = 31", shape="box"] ; +64 -> 68 ; +69 [label="gini = 0.2268\nsamples = 23\nvalue = [ 20. 3.]", shape="box"] ; +68 -> 69 ; +70 [label="gini = 0.0000\nsamples = 8\nvalue = [ 8. 0.]", shape="box"] ; +68 -> 70 ; +71 [label="gini = 0.0000\nsamples = 5\nvalue = [ 5. 0.]", shape="box"] ; +59 -> 71 ; +72 [label="X[2] <= 5.5000\ngini = 0.473372781065\nsamples = 13", shape="box"] ; +54 -> 72 ; +73 [label="gini = 0.4082\nsamples = 7\nvalue = [ 2. 5.]", shape="box"] ; +72 -> 73 ; +74 [label="gini = 0.0000\nsamples = 6\nvalue = [ 6. 0.]", shape="box"] ; +72 -> 74 ; +} \ No newline at end of file diff --git a/titanic/tree.pdf b/titanic/tree.pdf new file mode 100644 index 0000000000000000000000000000000000000000..80a8f2d946c3e14ec1ea96ef0302a5debf60f416 GIT binary patch literal 25437 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 BNmu{? literal 0 HcmV?d00001 From f3c845f0275e0dd05376dc6194b573e66ce77418 Mon Sep 17 00:00:00 2001 From: Lance Rogers Date: Mon, 22 Jun 2015 14:55:08 -0400 Subject: [PATCH 2/5] modified gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a84ff4b..abe07c6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ .envrc - +titanic From a1f13c13b65ce979d876aead8ddca282730d600e Mon Sep 17 00:00:00 2001 From: Lance Rogers Date: Mon, 22 Jun 2015 19:39:42 -0400 Subject: [PATCH 3/5] finished two querys and just submitted my modified search criteria --- clinton - titanic.ipynb | 1518 +++++++++++++++++----------------- my week5 day1 homework.ipynb | 1301 +++++++++++++++++++++++++++++ titanic_prediction.ipynb | 79 +- 3 files changed, 2145 insertions(+), 753 deletions(-) create mode 100644 my week5 day1 homework.ipynb diff --git a/clinton - titanic.ipynb b/clinton - titanic.ipynb index 32e3873..e5da2a9 100644 --- a/clinton - titanic.ipynb +++ b/clinton - titanic.ipynb @@ -1,783 +1,817 @@ { - "metadata": { - "name": "", - "signature": "sha256:d9871aa697aaceeb2267c20ae9be4f9aa65eb7b4def09b1b61f5c59db92e3818" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ + "cells": [ { - "cells": [ - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import pandas as pd\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "import seaborn as sb" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 1 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "%matplotlib inline" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 2 - }, + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sb" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Given what we've learned so far, let's tackle [this Kaggle competition](https://www.kaggle.com/c/titanic-gettingStarted)." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Given what we've learned so far, let's tackle [this Kaggle competition](https://www.kaggle.com/c/titanic-gettingStarted)." + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 891 entries, 0 to 890\n", + "Data columns (total 12 columns):\n", + "PassengerId 891 non-null int64\n", + "Survived 891 non-null int64\n", + "Pclass 891 non-null int64\n", + "Name 891 non-null object\n", + "Sex 891 non-null object\n", + "Age 714 non-null float64\n", + "SibSp 891 non-null int64\n", + "Parch 891 non-null int64\n", + "Ticket 891 non-null object\n", + "Fare 891 non-null float64\n", + "Cabin 204 non-null object\n", + "Embarked 889 non-null object\n", + "dtypes: float64(2), int64(5), object(5)\n", + "memory usage: 90.5+ KB\n" ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "train = pd.read_csv(\"titanic/train.csv\")\n", - "train.info()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "\n", - "Int64Index: 891 entries, 0 to 890\n", - "Data columns (total 12 columns):\n", - "PassengerId 891 non-null int64\n", - "Survived 891 non-null int64\n", - "Pclass 891 non-null int64\n", - "Name 891 non-null object\n", - "Sex 891 non-null object\n", - "Age 714 non-null float64\n", - "SibSp 891 non-null int64\n", - "Parch 891 non-null int64\n", - "Ticket 891 non-null object\n", - "Fare 891 non-null float64\n", - "Cabin 204 non-null object\n", - "Embarked 889 non-null object\n", - "dtypes: float64(2), int64(5), object(5)\n", - "memory usage: 90.5+ KB\n" - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "train.head()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "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", - "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0 1 0 3 Braund, Mr. Owen Harris male 22 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35 0 0 373450 8.0500 NaN S
\n", - "
" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 4, - "text": [ - " 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", - "\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", - "\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 " - ] - } - ], - "prompt_number": 4 - }, + } + ], + "source": [ + "train = pd.read_csv(\"titanic/train.csv\")\n", + "train.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ { - "cell_type": "markdown", + "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", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0 1 0 3 Braund, Mr. Owen Harris male 22 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35 0 0 373450 8.0500 NaN S
\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", + "\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", + "\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 " + ] + }, + "execution_count": 4, "metadata": {}, - "source": [ - "We've got many features here:\n", - "\n", - "* The passenger class (first, second, or third)\n", - "* The sex of the passenger\n", - "* The age of the passenger (some are missing -- we'll have to figure out what to do about that)\n", - "* The number of siblings and spouses the passenger had on board (SubSp)\n", - "* The number of parents and children the passenger had on board (Parch)\n", - "* The amount the passenger paid for their ticket\n", - "* Where the passenger embarked from\n", - "\n", - "The name and cabin are immaterial. The cabin might help, if we had a map of the ship and\n", - "there weren't so many null values for cabin.\n", - "\n", - "_Using your intuition, what feature vectors might be important?_" - ] - }, + "output_type": "execute_result" + } + ], + "source": [ + "train.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We've got many features here:\n", + "\n", + "* The passenger class (first, second, or third)\n", + "* The sex of the passenger\n", + "* The age of the passenger (some are missing -- we'll have to figure out what to do about that)\n", + "* The number of siblings and spouses the passenger had on board (SubSp)\n", + "* The number of parents and children the passenger had on board (Parch)\n", + "* The amount the passenger paid for their ticket\n", + "* Where the passenger embarked from\n", + "\n", + "The name and cabin are immaterial. The cabin might help, if we had a map of the ship and\n", + "there weren't so many null values for cabin.\n", + "\n", + "_Using your intuition, what feature vectors might be important?_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Finding patterns in the data" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ { - "cell_type": "markdown", + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, "metadata": {}, - "source": [ - "## Finding patterns in the data" - ] + "output_type": "execute_result" }, { - "cell_type": "code", - "collapsed": false, - "input": [ - "pd.pivot_table(train, index=[\"Sex\"], values=[\"Survived\"]).plot(kind=\"barh\")\n", - "plt.axvline(x=0.5, linewidth=2, color='r')" - ], - "language": "python", + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "pyout", - "prompt_number": 5, - "text": [ - "" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "png": "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\n", - "text": [ - "" - ] - } - ], - "prompt_number": 5 - }, + "output_type": "display_data" + } + ], + "source": [ + "pd.pivot_table(train, index=[\"Sex\"], values=[\"Survived\"]).plot(kind=\"barh\")\n", + "plt.axvline(x=0.5, linewidth=2, color='r')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There's a marked difference in survival rates between men and women. Let's go ahead and enter the competition just using that as our metric." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "test = pd.read_csv(\"titanic/test.csv\")\n", + "test[\"Survived\"] = 0\n", + "test.loc[test[\"Sex\"] == \"female\", \"Survived\"] = 1\n", + "test = test[[\"PassengerId\", \"Survived\"]]\n", + "test.to_csv(\"titanic/gendermodel.csv\", index=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Does age seem to matter?" + ] + }, + { + "cell_type": "code", + "execution_count": 156, + "metadata": { + "collapsed": false + }, + "outputs": [ { - "cell_type": "markdown", + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 156, "metadata": {}, - "source": [ - "There's a marked difference in survival rates between men and women. Let's go ahead and enter the competition just using that as our metric." - ] + "output_type": "execute_result" }, { - "cell_type": "code", - "collapsed": false, - "input": [ - "test = pd.read_csv(\"titanic/test.csv\")\n", - "test[\"Survived\"] = 0\n", - "test.loc[test[\"Sex\"] == \"female\", \"Survived\"] = 1\n", - "test = test[[\"PassengerId\", \"Survived\"]]\n", - "test.to_csv(\"titanic/gendermodel.csv\", index=False)" - ], - "language": "python", + "data": { + "image/png": "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\nAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, "metadata": {}, - "outputs": [], - "prompt_number": 6 - }, + "output_type": "display_data" + } + ], + "source": [ + "train[\"AgeRange\"] = train[\"Age\"].map(lambda x: \"adult\" if x >= 18 else \"child\")\n", + "pd.pivot_table(train, index=[\"Sex\", \"AgeRange\"], values=[\"Survived\"]).plot(kind=\"barh\")\n", + "plt.axvline(x=0.5, linewidth=2, color='r')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How about passenger class?" + ] + }, + { + "cell_type": "code", + "execution_count": 157, + "metadata": { + "collapsed": false + }, + "outputs": [ { - "cell_type": "markdown", + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 157, "metadata": {}, - "source": [ - "Does age seem to matter?" - ] + "output_type": "execute_result" }, { - "cell_type": "code", - "collapsed": false, - "input": [ - "train[\"AgeRange\"] = train[\"Age\"].map(lambda x: \"adult\" if x >= 18 else \"child\")\n", - "pd.pivot_table(train, index=[\"Sex\", \"AgeRange\"], values=[\"Survived\"]).plot(kind=\"barh\")\n", - "plt.axvline(x=0.5, linewidth=2, color='r')" - ], - "language": "python", + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAD9CAYAAADphuMwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt8VPWd//FXAKNiwiV0aEUjsagf7Wq1agXvUutPuwrF\nXam1VrxUEanYrdd6QfurWvT3E1y8VEWLWLvUFutadWu3SlGrxVZUvFT5RNRUoWqyJIIBlQKzf5wT\nGcZkbsmZc5i8n49HHjn385kvw7zzPfOdOVXpdBoREZGk6RN3ASIiIp1RQImISCIpoEREJJEUUCIi\nkkgKKBERSSQFlIiIJFK/uAvYHK1btz7d1rYm7jISYfDg/qgtAnG3RWroAABamlfFVkOHuNsiSdQW\nG6VStVXFbK8eVAl22mlE3CUkRr9+feMuITHUFhupLTZSW5ROASUiIomkgBIRkURSQImISCIpoERE\nJJEUUCIikkgKqBI0NTXFXYKISMXT56BK0NjYSGtre9xlFKW+fjjV1dVxlyFSUdauXcvbb/8t5zZt\nbTVFvV7o/+pGCqgSnHTxXPoPHBp3GQVbs7KZmReMZcSIneMuRaSivP323/je/3+gx14PCv2/evfd\nc3j22b+wbt06+vTpw3e/+2+Y7VrSOW+4YTrHH38in/3s50raf8aMaxk9+qt86Uv7lLR/LgqoEvQf\nOJSawdvFXYaIJEC5Xw/efPMN/vSnJ7jlltkAvPZaI1df/UPmzJlb0vHOOee8btVTVVXUl0MURe9B\niYhsRmpqanjvvfd46KHf0NLSzM4778Ltt9/F2WdP5K23gsuN999/L7Nnz+Ldd99hwoTjmTLlTObO\n/Rnf/vb4T44zY8a1PPHEY0yZciZvvdXE6adP4N133wFgwYJHmTlzOqtXt3PZZRdyzjmTOOecSbzx\nxtJPjn/aaSdy7rlTeO21xsgeqwJKRGQzkkoN5ZprpvPSSy8wadJpnHjicTz11BNZPZmN062trVx/\n/c1861sTGDFiJ1544XnWrl3L888/y4EHHvzJdsccM5bf/e6/AHj44YcYO/ZY7rprNvvuux833HAr\nF1xwCddddw1tbW386le/YNasu7juuplUVVVF1ovSJb4SLJw3lSMmzo67DBHphZYvX8Y229Rw8cWX\nA7Bkyaucf/4UhgxJfbJNOp3+ZHrbbYfRr1/wUj9mzLE8/PBDrFixgoMOOpS+fTu+J7CKI444ismT\nz+CYY8axevVqdtzx87zxxlKef34R8+c/AsAHH6xi+fK3GT58x0+Ouccee25yvp4Ue0CZ2RDganef\n1I1jvOvuRb3DZ2ZfAGaFs68BpwMbgDuBSe7+Uan1iIhEZenS13jggf/k2mtn0K9fP+rr66mpGcCg\nQYP4n/9pYYcdhtPYuIRUKhi40afPxgtl++67Hz/5yQ20tLRw3nkXbXLcbbapwWxXbrhhOkcfPRaA\n4cN3ZNddd+OII46ipaWZRx75HdtvvwNvvvkGH3/8EdXVW/Lqq39l1KgDInmssQcUcBVwUzePUUp8\nXw38wN2fNLM7gTHufr+ZzQUuBH7UzZpEpBdYs7K5rMc69NDR/O1vb3L66RPYeuutSafTnH329+jb\ntx8zZlzL0KGfI5VKfXLZLfvy2+jRh7No0TMMG/bpgR1jxx7L+eefw6WXXgHAySefxrRpV/LAA//J\n6tWr+c53zmTQoEGcfPJpnHXW6QwYMIC+faOLkaqoumaFMLMBwHx3/3I4vxR4CtgFmA8MBPYD3N0n\nmNnuwHSgL/AZ4Cx3X2hm77j7tma2BzCT4ALsCuA0d+/05jhm1sfdN5hZNfAb4Fp3f8zM+gIvuPvu\nXdW9Ve2Q9OZ0ia+9bTnTJo6KZJh5KlVLS8sHPX7czVHcbZGk+0HF3RblUsjnoOrq9DmoDsXeDyru\nHtQowDPmhwOHAe8CrcB+7j7FzN4ws4HAF4Dz3P1lMzsBOBVYmLH/7cAp7r7EzL5D0BO6rLMTh+G0\nA/Ao8D7wYrh8vZk1m9ke7v5STz5YEaks1dXVef/w6y1hHYW4A2oI8F7G/Ap3XwZgZqvdfUm4fCWw\nJfB3YKqZfQjUhssz7QbcYmYAWwA5xz+6+1vALmGYzQBOCVe9E9ZWMerqakilaiM5dlTH3RwloS2S\nUAMkp44kUFuUJu6AagYGZcznut5YRXD57sSwh/RDoCFrmyXASe6+zMwOIUfImNkDwLnuvhRoB9Zn\nrB7MpsG5if3HX5mjzGRqbW2P5K84/XW4Udxt0TGGKwn/HnG3RZKoLTYqNqjjDqingWsz5tN5pn8O\nzDOzt4FFwLZZ688C7jazfuGy0wDMbIG7j8469zRgjpmtBVYTjOLDzPoA27n7q915YCIi0j2xBpS7\nrzazZ8xsL3df7O7DMtZlTu8dTl4f/mQfZ1j4+zkgO4gAFneyz0LgoE62PQr4ZVEPREREelwSvkni\ncmByxOeYXshGZlYFnEAnISgiIuUV9yU+3L0FmBjxOZYVuF0aOCnKWkREpDBJ6EGJiIh8igKqBAvn\nTY27BBGRiqeAEhGRRIr9PajNUXrDetrblsddRsF68rvCRETKRQFVgtTgGqZNHBV3GUWprx8edwki\nIkVRQJWgX79+kXzxqoiIbKT3oEREJJEUUCVoamqKuwQRkYqngBIRkURSQImISCIpoEREJJEUUCIi\nkkgKKBERSSQFVAkaGhriLkFEpOIpoEREJJEUUCIikkgKKBERSSQFlIiIJJICSkREEkkBVQJ9F5+I\nSPQUUCIikki6H1QJGhsbaW1tj7uMHlVfP5zq6uq4yxAR+YQCqgQnXTyX/gOHxl1Gj1mzspmZF4zV\nTRhFJFEUUCXoP3AoNYO3i7sMEZGKpvegREQkkRRQJVg4b2rcJYiIVDwFlIiIJJICSkREEin2QRJm\nNgS42t0ndeMY77r754rcZy/gBmA98DEwAWgB7gQmuftHpdYjIiLdl4Qe1FXATd08RrqEff4dONvd\nRwP3ARe5exqYC1zYzXpERKSbYu1BmdkAYF93fzmcXwo8BewCzAcGAvsB7u4TzGx3YDrQF/gMcJa7\nL8w43h7ATKAKWAGc5u6rujj98e7+Xji9BfBhOD0fmAH8qMceqIiIFC3uS3yjAM+YHw4cBrwLtAL7\nufsUM3vDzAYCXwDOc/eXzewE4FRgYcb+twOnuPsSM/sOQU/oss5O3BFOZnYA8F3g4HD5ejNrNrM9\n3P2lzvbdf/yVJT/gpKqrqyGVqi1p31L3q0RJaIsk1ADJqSMJ1BaliTughgDvZcyvcPdlAGa22t2X\nhMtXAlsCfwemmtmHQG24PNNuwC1mBkGvqDHXyc3seOAS4J/dfUXGqnfC2nqN1tZ2Wlo+KHq/VKq2\npP0qUdxtkQp/J+HfI+62SBK1xUbFBnXc70E1A4My5nO9l1RFcPnuCnc/BXiJT9e/BDgpfF/pEuDB\nrg5mZt8m6Dkd5u5NWasHs2lwiohImcUdUE8De2bMp/NM/xyYZ2a/Jah926z1ZwF3m9kfCQZfvARg\nZgsyT2pmfQnCrga4z8wWmNkPw3V9gO3c/dXuPTQREemOWC/xuftqM3vGzPZy98XuPixjXeb03uHk\n9eFP9nGGhb+fA0Z3cqrFWduvp+tLeEcBvyzqgYiISI+LuwcFcDkwOeJzTC9kIzOrAk6gkxAUEZHy\ninuQBO7eAkyM+BzLCtwuDZyUb7uF86ZyxMTZ3a5LRES6loQelIiIyKcooEREJJFiv8S3OUpvWE97\n2/K4y+gxa1Y2x12CiMinKKBKkBpcw7SJo+Iuo0fV1w+PuwQRkU0ooErQr18/RozYOe4yREQqmt6D\nKkFTU1PcJYiIVDwFlIiIJJICSkREEkkBJSIiiaSAEhGRRFJAiYhIIimgStDQ0BB3CSIiFU8BJSIi\niaSAEhGRRFJAiYhIIimgREQkkRRQIiKSSAqoEui7+EREoqeAEhGRRFJAiYhIIul+UCVobGyktbU9\n7jISoa2tpqLbor5+ONXV1XGXIdIrKaBKcNLFc+k/cGjcZUjE1qxsZuYFY3VzSpGYKKBK0H/gUGoG\nbxd3GSIiFU3vQZVg4bypcZcgIlLxFFAiIpJIBV3iM7OdgFHAXOBWYG/g++7+xwhrExGRXqzQHtSd\nwFpgLLALcC5wXVRFiYiIFBpQW7n7r4BjgLnu/gQ9NMDCzIaY2a3dPMa73dj3ejM7M5yuMrM5ZrZV\nd+oREZHuKzSg1pnZcQQB9ZCZjQPW91ANVwE3dfMY6WJ3MLOUmT0MjOnY393TBJcxL+xmPSIi0k2F\n9oLOBP4N+K67/93MvgGc3t2Tm9kAYF93fzmcXwo8RXAZcT4wENgPcHefYGa7A9OBvsBngLPcfWHG\n8fYAZgJVwArgNHdf1cXptwGuAL4Wbt9hPjAD+FFXde8//sriH6yIiBSloB6Uu78IXObuvzazQ4A/\nAa/3wPlHAZ4xPxy4FDgYOAe42d1HAgeZ2UDgC8B57v5V4Frg1Kzj3Q5MdvfRwMPk6Am5e5O7/6WT\n5euB5jDsREQkJoWO4rsVWG9mPwH+A/g9MBr4126efwjwXsb8CndfFp5ztbsvCZevBLYE/g5MNbMP\ngdpweabdgFvMDGALoLHEut4Ja5Nerq6uhlSqtuDti9k2KkmoAZJTRxKoLUpT6CW+/YB9CC6JzXb3\nK8xsUQ+cvxkYlDGf672kKoLLdye6+xIz+yHQkLXNEuAkd18W9vRKDZnBbBqc0ku1trbT0vJBQdum\nUrUFbxuFVPg7zho6xN0WSaK22KjYoC50kESf8OfrwG/NbBugf3GldeppYM+M+XSe6Z8D88zst2E9\n22atPwu428z+SDD44iUAM1uQp45PzmVmfYDt3P3VIh6HiIj0sEJ7UD8juOz1J3f/s5m9Aszq7snd\nfbWZPWNme7n7YncflrEuc3rvcPL68Cf7OMPC388RXHrMtjhHDf83a9FRwC8LfxQiIhKFQgdJzAC2\ndfdx4aKD3f3fe6iGy4HJPXSsrkwvZCMzqwJOoJMQzKTv4hMRiV6hgyQOBi4IL+31Afqa2Q7u3tDd\nAty9BZjY3ePkOceyArdLAydFWYuIiBSm0Peg7gDuJwi0m4DXyNPLEBER6Y5CA+pDd58NPA60AWcA\nx0VWlYiI9HqFDpL40MzqCD5UOwpYwMZRrb1OesN62tuWx12GRGzNyua4SxDp1QoNqBnAr4BjgUXA\nt4Hnoioq6VKDa5g2cVTcZSRCXV0Nra3tcZcRmfr64XGXINJrFRRQ7j7PzO5197SZ7U3wXXkvRFta\nci1btkwfvAvpQ4giEpWcAWVmd2bNZ86mgdMiqElERCRvD+pxgiCqooRbWoiIiJQq5yg+d5/j7ncB\nvwZqw+n5wE7AvDLUJyIivVShw8znsvF771aF+90dSUUiIiIUPopvuLuPAQhvAHipmfXaQRIiIhK9\nQntQG8zsix0zZrYbsDaakpKvoaEh7hJERCpeoT2o84Hfm1nHp1NTBJ+FEhERiUShn4N61Mx2AL4I\n/CNY5B9FWpmIiPRq+T4HtR1wI8EHc58EfuDu75ejMBER6d3yvQd1J8Ft1C8AtkLfYC4iImWS7xLf\nMHe/BMDMHqUXf72RiIiUV74e1Ccj9dz9H8DH0ZazeWhqaoq7BBGRipcvoKrKUoWIiEiWfJf4/snM\n3syYH5Yxn3b3z0dUl4iI9HL5AmqXslQhIiKSJWdAuXtTV+vM7HNmVuvuuhmQiIj0uEK/SaIz9wOP\nm9lid/9FTxW0OWhsbKzou8gWo62tsu+oW4y42yIV25lFolFyQLl7r73n+R5f2o8Djv9x3GWIbGJB\n3AWI9LCCAsrMJrn7rRnz/YH/5+5nR1ZZglX16UvN4O3iLkNEpKIV2oM61szGENzi3YA7gP+OrCoR\nEen1CrrdhrsfCfwWcOAXwInuPiXKwkREpHcrKKDM7CvAFIJwcoIbFuoal4iIRKbQGxb+FDjL3c8C\nDgceAZ7Jt5OZDTGzW8Pps83sFTMbX3K1nZ9jjpkdWeQ+fc1stpk9aWZ/NLN/CpefGYaxiIjErNCA\n+qK7LwBw97S73wwcWMB+VwE3hdPHAuPdfV7xZeaUDn+KcQywwd0PAi4Drg6X30HQO8zZLvuPv7Lo\nIkVEpDiFDpIYYmb3ATsChwD/QTBgoktmNgDY191fNrOJwN7AT83sm8AY4ASCYLnH3W80szkEX047\nHNgSuCfcbgfg60ATMAvYHtgWeMDdp2acrx9wG7ATQfBe5u6Pd1abu//GzB4KZxuAtnD5ejN7Hjga\neLDAthERkQgU2oO6DbgO+AB4lyCg7sqzzyiC96tw91nAYmAC0B/4BkEP7BBgnJntQhBWb4YDMl4F\nGtz9aODXBEFVDyx096OAkcCkjHNVAWcALe5+KDAOuDlXcWEYzQFuAOZmrHoROCzPYxMRkYgV2oP6\njLv/t5ld4+4bgDvMLN8oviHAe1nLqoDdCXpJfwiXDQJ2DqefC3+/TxBSEPRutgJagS+b2WhgFUEv\nK9PuwMFmNjKc72tmde7e2lWB7n6KmV0E/NnMdnP3D4F3AL0PJZutVKo27hKA5NSRBGqL0hQaUGvM\nbPuOGTM7CPgozz7NBOGTKU1wh96/uvvXwmOdS9BrOS5r2+xbfZwCvO/uk8xsJ2Bi1volwDJ3nxZe\nXjyP8NJdNjM7Cdje3acBHwIbwh+AurB2kc1SS0v8X4+ZStUmoo4kUFtsVGxQFxpQ5wL/BXzezF4g\neBHPNxrvaeDa7IXu/qKZzTezJwl6Rk8Dy8PVmYMdsqfnA3PNbB/gb8AiMxuWsf424HYzewwYANzs\n7umwh7TY3TM/WHwvMMfMHge2AL7n7h03YxwJ/C7PYxMRkYhVpdO5B8CF3yDxCvA2cBEwmiBULnf3\ndXn2vQW4zd0X90y5xQvrb+8YhZhn237A74HD3b3Lhtmqdkj6iImze7BKke57cMY4AFqaV8VciXoN\nmdQWG6VStUXdBDfnIAkzOx+4gqCnsytwMcGAgq0JBk3kczkwuZiCIrC4kHAKnQH8OFc4iYhIeeS7\nxDcB2N/dV5vZNcBv3P0OM6ti4yCGLrl7C59+r6is3P3tIra9JcpaRESkcPmGmW9w99Xh9GjCL4gN\nexjqZYiISGTy9aDWmdlgYBvgS4QBZWY7AP+IuDYREenF8gXUNcDzBCPd7nD3d8Lv0psG/Cjq4pIq\nvWE97W3L828oIiIlyxlQ7n6vmS0k+KDuC+HiNcDp7v5Y1MUl1UvP/0W3OQ/V1emW7x1ib4s74zu1\nSBTyDjOXTqU1bDSgIbQbxd0WqaEDAA0zTxq1xUY9OsxcREQkLgooERFJJAWUiIgkkgJKREQSSQFV\ngoaGhrhLEBGpeAooERFJJAWUiIgkkgJKREQSSQElIiKJpIASEZFEUkCVoKmpKe4SREQqngJKREQS\nSQElIiKJpIASEZFEUkCJiEgiKaBERCSR8t3yXTqx/fbbc++9D8RdRiK0temOuh3ibotU+Pv111+L\nrYYOcbdFkiS9Lerrh1NdXR13GZ1SQJWgpa2di2c9HXcZIptYEP7Wc1MKtWZlMzMvGMuIETvHXUqn\nFFAlqOrTl5rB28Vdhkin9NyUSqH3oEREJJEUUCIikkgKKBERSaRIA8rMhpjZreH02Wb2ipmN7+Fz\nzDGzI4vcZwszu9vMnjCzP5vZmHD5mWb2lXz77z/+ylLLFRGRAkXdg7oKuCmcPhYY7+7zevgc6fCn\nGCcCLe5+CHAUG2u8A7jUzNSzFBGJWWSj+MxsALCvu79sZhOBvYGfmtk3gTHACQTBco+732hmc4C1\nwHBgS+CecLsdgK8DTcAsYHtgW+ABd5+acb5+wG3ATgTBe5m7P95FefOAe8PpPsA6AHdfb2bPA0cD\nD/ZAM4iISImi7CmMAhzA3WcBi4EJQH/gG8CBwCHAODPbhSCs3nT3I4FXgQZ3Pxr4NUFQ1QML3f0o\nYCQwKeNcVcAZBL2iQ4FxwM1dFebuq9293cxqCcLq0ozVLwKHde+hi4hId0X5OaghwHtZy6qA3Ql6\nSX8Ilw0COj4l9lz4+32CkAJoA7YCWoEvm9loYBVBLyvT7sDBZjYynO9rZnXu3tpZcWZWD9wH3Ozu\n92SsegfI+z6UiEglqKurIZWqjbuMTkUZUM0E4ZMpDSwB/uruXwMws3MJei3HZW1blTV/CvC+u08y\ns52AiVnrlwDL3H1aeHnxPIJw+xQz+yzwe2Cyuy/IWl0X1i4iUvFaW9tpafmgLOcqNgijvMT3NLBn\n9kJ3fxGYb2ZPmtki4PPA8nB15mCH7On5wFFm9gjwA2CRmQ3LWH8bsKuZPQY8Brzl7mkzu6iTUX6X\nAAOBy81sQfjT0SMbCTya64EtnDc112oREekBVel0sQPgCmdmtwC3ufviyE6Sv4YxQHsnPaXOtu1H\n0LM63N27bJitaoekj5g4uwerFOm+B2eMA2DMuffHXIlsLtrbljNt4qiyfRdfKlWbfWUsp6iHU18O\nTI74HPksLiScQmcAP84VTiIiUh6Rflmsu7fw6feKysrd3y5i21uirEVERAqnD6SKiEgiKaBERCSR\ndD+oEuz5f6bQ3rY8/4YiMdBzUwq1ZmWyP1ET6Si+StXY2JhO8i2cy6muLtm3sy6nuNti1P77APD0\nwmdjq6FD3G2RJElvi3Le8r3YUXwKqNKky/XBtqRLpWrL9iG/pIu7LVJDBwDQ0rwqtho6xN0WSaK2\n2Chpw8xFRERKooASEZFEUkCJiEgiKaBK0NDQEHcJIiIVTwElIiKJpIASEZFEUkCJiEgiKaBERCSR\nFFAiIpJICqgSNDU1xV2CiEjFU0CJiEgiKaBERCSRFFAiIpJICigREUkkBZSIiCSSAqoE+i4+EZHo\n6ZbvJVi3bh2vv/5a3GUkQltbsu8WWk5xt0Uq/J2E52bcbZEkld4WUd6RVwFVgpa2di6e9XTcZYhs\nYkH4W89NKZc1K5uZecFYRozYOZLjK6BKUNWnLzWDt4u7DJFO6bkplULvQYmISCIpoEREJJEUUCXY\nf/yVcZcgIlLxIg0oMxtiZreG02eb2StmNr6HzzHHzI4scd+RZrYgY/5MM/tKz1UnIiKliroHdRVw\nUzh9LDDe3ef18DnS4U9RzOxC4HZgy4zFdwCXmpl6liIiMYtsFJ+ZDQD2dfeXzWwisDfwUzP7JjAG\nOIEgWO5x9xvNbA6wFhhOEBr3hNvtAHwdaAJmAdsD2wIPuPvUjPP1A24DdiII3svc/fEcJS4F/gW4\nu2OBu683s+eBo4EHu9sGIiJSuih7CqMAB3D3WcBiYALQH/gGcCBwCDDOzHYhCKs33f1I4FWgwd2P\nBn5NEFT1wEJ3PwoYCUzKOFcVcAbQ4u6HAuOAm3MV5+73Aes6WfUicFgJj1dERHpQlJ+DGgK8l7Ws\nCtidoJf0h3DZIKDjU17Phb/fJwgpgDZgK6AV+LKZjQZWsemlOcLjHmxmI8P5vmZW5+6tRdb9DqD3\noUREClBXV0MqVRvJsaPsQTUThE+mNLAE+Ku7j3b30QSX2F7sZP+qrPlTgPfd/dvADIKeWKYlwC/C\nY34d+BVBuBWrLqy9SwvnTc21WkSk12htbael5YOCfooVZUA9DeyZvdDdXwTmm9mTZrYI+DywPFyd\nOdghe3o+cJSZPQL8AFhkZsMy1t8G7GpmjwGPAW+5e9rMLsozyi97gMVI4NECHp+IiEQoskt87r7a\nzJ4xs73cfXHYs+lYdx1wXdYup2asvzhjembGNnt1cqpTM6ZP7mT9KwSDLzqrsQk4oGM+HGixF3Be\nZ9uLiEj5RD2c+nJgcsTnyGexuy/IvxkQDLT4sbsXPWxdRER6VqRfFuvuLcDEKM9RQA1vF7HtLVHW\nIiIihdMHUkVEJJEUUCXQd/GJiERPASUiIomkGxaWYM3KnB+TEolVe9vy/BuJ9ICoXwur0mkNWCtW\nY2NjurW1Pe4yEqGurga1RSDuthi1/z4APL3w2dhq6BB3WyRJpbdFff1wqqurC9o2larN/gKGnBRQ\npUmX8qnoSpRK1Zb0CfFKFHdbpIYOAKCleVVsNXSIuy2SRG2xUbEBpfegREQkkRRQJWhoaIi7BBGR\niqeAEhGRRFJAiYhIIimgREQkkRRQIiKSSAooERFJJH0OSkREEkk9KBERSSQFlIiIJJICSkREEkkB\nJSIiiaSAEhGRRFJAiYhIIumGhV0wsz7AT4AvAh8Dp7v76xnrxwBTgXXAbHe/I5ZCy6CAtjgB+B5B\nW7wETHb3ivz8Qr62yNhuFrDC3S8uc4llU8Dz4svAdKAKWA5McPe1cdQatQLa4ljgEiBN8HpxayyF\nlpGZjQSucffRWcsLfu1UD6pr44Bqdz8A+AHBfzQAzGwLYAZwBHAoMNHMhsZSZXnkaoutgSuBw9z9\nIGAgcEwsVZZHl23RwczOBHYneDGqZLmeF1XALOAUdz8YmA/sGEuV5ZHvedHxenEgcJ6ZDSxzfWVl\nZhcCtwNbZi0v6rVTAdW1A4HfAbj7n4F9M9btBix195Xu/g/gSeCQ8pdYNrna4iNgf3f/KJzvB3xY\n3vLKKldbYGYHAPsBtxH0HCpZrrbYBVgBnGtmjwGD3N3LXmH55HxeAP8ABgFbEzwvKv2Pl6XAv/Dp\n/wNFvXYqoLo2AMi8Nen6sBvfsW5lxroPCHoOlarLtnD3tLu3AJjZFGAbd380hhrLpcu2MLNtgcuB\ns6n8cILc/0c+AxwA3Ah8FTjczEZTuXK1BQQ9qmeBl4EH3T3+2x5HyN3vI7iEl62o104FVNdWAbUZ\n833cfUM4vTJrXS3QVq7CYpCrLTCzPmZ2HXA48K/lLq7McrXFcQQvzL8FLgK+ZWYTylxfOeVqixUE\nfym7u68j6F1k9yoqSZdtYWY7EPzRMhxoAD5rZseVvcJkKOq1UwHVtaeAfwYws1HAixnrlgA7m9lg\nM6sm6KIuLH+JZZOrLSC4nLUlcGzGpb5K1WVbuPuN7r5v+KbwNcBcd/9ZPGWWRa7nxRtAjZmNCOcP\nJug9VKpcbbEVsB74OAytZoLLfb1RUa+d+rLYLoRv8naMygE4FdgHqHH3283sGILLOX2An7r7LfFU\nGr1cbQGFPZARAAAAhklEQVQsCn+eyNhlprvfX9YiyyTf8yJju5MBc/dLyl9leRTwf6QjqKuAp9z9\n+/FUGr0C2uL7wLcI3rNdCpwR9iwrlpk1EPyRdkA40rfo104FlIiIJJIu8YmISCIpoEREJJEUUCIi\nkkgKKBERSSQFlIiIJJICSkREEkkBJSIiiaSAEhGRRPpfuCyahllzMGAAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "pyout", - "prompt_number": 156, - "text": [ - "" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAbkAAAD9CAYAAAAh6gnmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH/VJREFUeJzt3Xt8FPW9//FXIEaFcAsGrxEU5aNW6w0VvBYvR1uFqpV6\noaJS5HaEc9R6F6zH/kTPT/HgDUGlaq36O3haxXvVYr0Ue4pVRIUPoMYLVZKSiASKCu7vj5nFNSa7\nm2R3ZzN5Px8PHtmdncy8M7m8+c7MzpQkEglERETiqFPUAURERPJFJSciIrGlkhMRkdhSyYmISGyp\n5EREJLZUciIiElulUQfoiDZs2Jior18XdYyMevXqgnLmjnLmRmWf7gDU1nwecZLMin1bJrWXnJWV\n3Upa+jkayUVgl136Rx0hK6WlnaOOkBXlzK32krM9aC/bsr3kbA2VnIiIxJZKTkREYkslJyIisaWS\nExGR2FLJiYhIbKnkIlBdXR11BBGRDkHvkxMRiciXX37JRx99kNNlVlX1paysLKfLbM9UciIiEfno\now/4t/87ly49+uRkeetW1zD9omH0779r2vl+85t7eO21/2XDhg106tSJK6+8nD59dmzVOm+++UZO\nPXUEW2+9Tas+f9q06xky5Gj23Xf/Vn1+Jio5EZEIdenRh/Je2xdsfe+//x5//vOLzJgxG4Bly5Zy\n+eWXc9dd97dqeZMmXdimPCUlLb6ISYvomJyISAdSXl7OypUrefzxR6mtrWHXXQcwZ84czjtvDB9+\nGOw6feSRh5k9exaffvoJI0eeysSJY3nggfv42c+Gb1rOtGnX8+KLLzBx4lg+/LCa0aNH8umnnwAw\nb95zTJ9+I2vXNnDllRczadI4Jk0ax3vvLd+0/FGjRnDBBRNZtmxpXr9elZyISAdSWdmH6667kUWL\nFjJu3ChGjDiFefPmNRpRffO4rq6Om266jTPOGEn//ruwcOHrfPnll7z++msccshhm+Y74YRhPP30\nEwA89dTjDBt2EvfeO5uBAw/k5pvv4KKLLueGG66jvr6e//7vB5k1615uuGE6JSUleR3NaXdlBHbY\nYQcefnhu1DEyqq8vp66uIeoYGTWXUwfgRb5rxYqP6dq1nMsumwLAkiWLueiiSVRUbLVpnkQisenx\ntttuR2lpUBVDh57EU089zqpVqzj00CPo3Dl5zcsSjjnmOCZMOJcTTjiRtWvXstNOO/Pee8t5/fUF\nPP/8swCsWfM5K1Z8RN++O21a5l577f2t9eWaSi4CtfUNXDbr1ahjxFq2B+BFOprly5cxd+7vuf76\naZSWllJVVUWPHj3o2bMn//hHLTvu2JelS5dQWRmcDNOp0zc7/AYOPJDbb7+Z2tpaLrzwkm8tt2vX\ncsx24+abb+T444cB0LfvTuy22+4cc8xx1NbW8OyzT7PDDjvy/vvv8cUX6ykr25zFi99m0KCD8/b1\nquQiUNKpc0EPNItI8Vq3uqagyzriiCF88MH7jB49ki233JJEIsHFF1/M2rVfMW3a9fTpsw2VlZWb\ndiE23pU4ZMhRLFjwV7bb7rt/w4YNO4lf/GISV1xxFQBnnTWKqVOvYe7c37N27Vp+/vOx9OzZk7PO\nGsX48aPp3r07nTvnt4ZK8jlMlKZt0a134pgxs6OOEWsN9SuYOmZQUY3kKiu7UVu7JuoYGRV7zvZ0\nP7lM27JY3idX7N/zpNbcT04jORGRiJSVlRXVf8TiSGdXiohIbKnkIjB4+DVRRxAR6RBUciIiElsq\nORERiS2VnIiIxJZKTkREYqsoSs7MepvZHW1cxqc5yvKCmQ1oNG1vM5vc3HrM7BQzuyp8fI+ZbZGL\nLCIi0jZFUXLAr4Bb27iMXL2rPUHq1UkBd1/o7tekvJ7OA8DF6WaYP2dy69OJiEjWIn8zuJl1Bwa6\n+1vh8+XAK8AA4HmgB3Ag4O4+0sz2BG4EOgNbAePdfX7K8vYCphMU1SpglLs3eWkEMzsIuImg7FcA\nI8KXrjKzrYGuwOlAX2Csu5+e8rkHA/8FfAasB14LX3oemAb8Rxs2i4iI5EAxjOQGAZ7yvC9wBXAY\nMAm4zd0PAg41sx7AHsCF7n40cD1wTqPl3QlMcPchwFOkH1XNBM5x90HA48Du4fTH3f2o8PNPoenR\n2wxghLv/C7AoOdHdNwI1YdmKiEiEIh/JAb2BlSnPV7n7xwBmttbdl4TTVwObA38HJpvZP4Fu4fRU\nuwMzzAxgMyDdHfm2dncHcPdfh+uEb0ZlnwLN3dN9G3dfFj5+kaCskz4Jvy6JUEVFOZWV3aKO8S3F\nlqc57SFne8gIyhm1Yii5GqBnyvN0x7xKCHZFjnD3JWb2S6Bfo3mWAGe6+8dmdjjpy+bvZraLuy83\ns4uAZGllc3xvhZl9z93fBgY3+pxefLu4JQJ1dQ1FddHZdnQR3KLOWRl+LOaMScW+LZPaU86WKobd\nla8Ce6c8T2R4fD8wx8yeJMi/baPXxwO/MbOXCE5oWQRgZvOaWPdYYLaZvQDsCzzZxDyJZj6OBu42\ns+cIRo+JcD2dgO3dfXFTX6yIiBROUdxqx8xmADPd/Y08ruMmdz8/X8tPWc+PgH3c/drm5hky6vaE\n7ieXX7rVTusVe8443WqnWLSjnC2+1U4xjOQApgAT8ryOG/O8fMyshOBszJvyvS4REcmsGI7J4e61\nwJg8r+PjfC4/XEcCODPf6xERkewUy0hOREQk51RyIiISWyo5ERGJLZVcBHTtShGRwlDJiYhIbKnk\nREQktoriLQQdTeLrjTTUr4g6RqytW10TdQQRKQIquQhU9ipn6phBmWeMWEVFOXV1DVHHyKi5nFVV\nfSNIIyLFRCUXgdLS0qK63FRz2tGlftpFThEpPB2Ti0B1dXXUEUREOgSVnIiIxJZKTkREYkslJyIi\nsaWSExGR2FLJiYhIbKnkItCvX7+oI4iIdAgqORERiS2VnIiIxJZKTkREYkslJyIisaWSExGR2FLJ\nRUDXrhQRKQyVnIiIxJZKTkREYkslJyIisaWSExGR2FLJiYhIbKnkIqBrV4qIFIZKTkREYkslJyIi\nsaWSExGR2FLJiYhIbKnkREQktlRyEdC1K0VECqM06gAd0dKlS6mra4g6Rkb19eWR5qyq6ktZWVlk\n6xeR9k8lF4EzL3uALj36RB2jqK1bXcP0i4bRv/+uUUcRkXZMJReBLj36UN5r+6hjiIjEno7JiYhI\nbKnkREQktlRyEZg/Z3LUEUREOgSVnIiIxJZKTkREYiursyvNbASwBzAVONnd78trKhERkRzIOJIz\ns+uBHwEnA5sB55jZtHwHExERaatsdlceC5wJrHf3euAY4Id5TSUiIpID2ZTcxkbPN29iWquZWW8z\nu6ONy/g0V3kaLfcxM+ub5vVqMyszsyozOyGcNtbMjky33MHDr8l1VBERaUI2JTcHeAioMLPzgZeA\nB3OY4VfArW1cRiIXQVqx7ARQAhwFHBJOuwu4wsx0Uo+ISMQynnji7teZ2XHAh0AVMMXdH8/Fys2s\nOzDQ3d8Kny8HXgEGAM8DPYADgxg+0sz2BG4EOgNbAePdfX7K8vYCphMUzypglLt/3sy6jwCmEBR9\nOXCGuy8zs6uB44FPwq+3xMx+CXzi7jPNbDdghrsPCRfVGbgU2NLMXnH3x83s9XAZj+ViO4mISOtk\nc+LJEcA6gj/YjwKrzWygmfXMwfoHAZ7yvC9wBXAYMAm4zd0PAg41sx4EZ3he6O5HA9cD5zRa3p3A\nhLCAngIuTrPuPYCfhfP+DhhuZvsBQ9x9IDCcoPwg/WhuI8FZp79NKf83gR+k+RwRESmAbN5CMBk4\ngGBkBcEf7w+A7mY22d0faMP6ewMrU56vcvePAcxsrbsvCaevJjgW+Hdgspn9E+gWTk+1OzDDzCA4\nE3RpmnX/HbjZzBqA7QlGkAa8BuDu683sr018Xkkz01KnfwKkPS4nmVVUlFNZ2S2rebOdL2rKmTvt\nISMoZ9SyKbkSYC93/xDAzLYD7iEouxeAtpRcDZA6Ikw3Yioh2BU5wt2XhLsQ+zWaZwlwprt/bGaH\nE5Roc2YBO7v7WjO7J1z+O8DE8HhaKbBvOO96YNvw8X5NLGsj3x4VV4Rfm7RBXV0DtbVrMs5XWdkt\nq/mippy5URl+LOaMScW+LZPaU86WyubkiO2TBQfg7n8HtnX3xqOo1ngV2DvleSLD4/uBOWb2JEH2\nbRu9Ph74jZm9RHBCyyIAM5vXxLrvB14ys8eBfxB8TQsJdsn+L/BIOD0B/D/gR+Fy9m0i2yLgx2b2\n03DaQcBzzX3RunaliEhhlCQS6U9MNLO7gS2B3xKcZHEasAaYC1zq7oe1JYCZzQBmuvsbbVlOhnXc\n5O7n52v5jdZVCvwBOMrdm9y4W3TrnThmzOxCxGm3GupXMHXMoKxumtqe/heqnG1X2ac7ALU1TZ5T\nVlSKfVsmtaOcTR0uSiubkdw4YD4wBjib4C0E/0owgjmzpStswhRgQg6Wk86NeV5+qnOBa5srOBER\nKZxs3kLwlZndR7AbL9mi27n7k7kI4O61BAWaN8mTWQrB3WcUal0iIpJexpIzs8sJ3gdWx7ePRe2U\nr1AiIiK5kM3ZlaOB/uGIS0REpN3I5pjcB0B9voN0JLp2pYhIYWQzklsOvGxmfwS+CKcl3P0/8hdL\nRESk7bIpuRXhv6QWn8IpIiIShWzOrvxl6vPwaiA66URERIpeNmdXTgT+D9CVb0Zxi4Hv5TGXiIhI\nm2Wzu/JCYB+CoruM4JqVu+UxU+ytW63LWmaibSQiuZBNydW4+3tmtpDgQs33mNkr+Q4WZyv+chcP\nPzw36hgZVVSUU1fXENn6q6qavSm7iEhWsim5BjMbwjcXIV4AbJPfWPFWWlqa1TUZo9ZermcnItKc\nbN4nNwkYRnAT0t4Et7O5NZ+hREREciGbsyvfApJX8P8JgJkdnM9QIiIiudBsyYVFNg1YBYxy95Vm\nthPwn8DxQJfCRBQREWmddLsr7wAeJNg9OcXMRgNvARuAPQqQTUREpE3S7a4sdffp4Zu/qwneOnC0\nu88vRLA4q66u1gkdIiIFkG4k9wWAu38NfA0cqYITEZH2JJuzKwHq3X1lXpOIiIjkWLrdlduY2RSC\nS3mlPgbdhUBERNqBdCU3k29KLfWx7kIgIiLtQrMl18TdByrcvS7viURERHIk4zE5M9vHzJYAC82s\nyszeNbP9C5Attvr16xd1BBGRDiGbE09uAU4G/uHuHwFjgRl5TSUiIpID2ZRcF3d/J/nE3Z8DNs9f\nJBERkdzIpuRWmdk+ySdmNgLQsTkRESl62dxqZwJwL/A9M1sNLANG5DWViIhIDmRzF4LlwCFm1hXo\n7O6f5z+WiIhI22UsOTObByQI3x9nZl8D64F3gGvdvT6vCWNI164UESmMbHZXLga+BGYTFN0ZwA7A\nJ8DdBGdeioiIFJ1sSm6Qu++X8nyhmS1w9xFmdma+gomIiLRVNmdXlprZnskn4eNOZtYFKMtbMhER\nkTbKZiQ3CXjSzGoISrEX8DPgKuC+PGYTERFpk2zOrnzBzPoDexHcFXwxsBNwqbsn8pxPRESk1bK6\nn5y7fwUsAvYA/gD8TQXXerp2pYhIYWTzFoKdCa5XeTbQE7gWODW/sURERNqu2ZIzs5OBccC+wCME\nx+HudPerC5RNRESkTdKN5B4O/x3s7ssAzEy7KHNgw4YNvPvusqhjZFRfX05dXUPUMTJSztwq9pyV\n4Uf9DrVcVVVfyso61knx6Uru+8A5wEtmVg08lGF+yVJtfQOXzXo16hgi7dK88KN+h1pm3eoapl80\njP79d406SkGluzP4W8CFZnYJcDxB4W1tZk8At7v7EwXKGDslnTpT3mv7qGOItGv6HZJsZPMWgg3A\no8CjZtaH4NjcVEAl10qDh18TdQQRkQ4hq7cQJLl7jbtPA441s255yiQiIpITLSq5FL8HrjSz03MZ\nRkREJJdadSKJuw/KdRAREZFcyziSM7NxjZ53MbNb8xdJREQkN7IZyZ1kZkOBUYABdwHP5DWViIhI\nDmQcybn7scCTgAMPAiPcfWK+g8XZ/DmTo44gItIhZLO78khgIkHBOXCFmekNKiIiUvSyObvybmC8\nu48HjgKeBf7akpWYWW8zuyN8fJ6ZvWNmw1ucNv067jGzY3OwnLPNbGoT0x80s82aW4+ZLQo/jg3/\nYyAiIhHLpuS+7+7zANw94e63AYe0cD2/ApInq5wEDHf3OS1cRiaJ8F8ulvMd7n56eMuhTOu5i2C0\n29q3Z4iISI5kc+JJbzP7HcGNUg8HfktwEkpWzKw7MNDd3zKzMcB+wN1mdhowFDidoDQecvdbzOwe\n4EugL7A5wTUzhwI7Aj8GqoFZwA7AtsBcd5+csr5SYCawC0GJX+nuf2om25bAr8NllwHnhS8NMrNn\nCK4FO8Pd7wyv32kpn9sFuB/YCngX6Azg7hvN7HWCS6E9lu12EhGR3MtmtDETuAFYA3xKUHL3tmAd\ngwiO5eHus4A3gJFAF+CnBKPCw4ETzWwAQeG9H57wshjo5+7HA/9DUHZVwHx3Pw44iOB2QEklwLlA\nrbsfAZwI3JYm2zjgPXc/GDgtXB7AV+H6TwL+PZyWOnorCT/3bXc/HLiOoCST3gR+kHHLiIhIXmUz\nktvK3Z8xs+vc/WvgLjNrydmVvYGVjaaVAHsSjNb+GE7rCSQvj/238ONnBEUHUA9sAdQBB5jZEOBz\ngtFeqj2Bw8wsWVidzazC3euayDYAeArA3ZcD083srJT1ryQo46YYwVmnuLubWW3Ka58AzR6X07Ur\nRSQKFRXlVFY2fUXG5qa3d9mU3Doz2yH5xMwOBda3YB01BAWWKgEsIRgJ/TBc7gUEI6BTGs1b0uj5\n2cBn7j7OzHYBxjR6fQnwsbtPDXeVXkhQkE1ZDBwAzA3vgH418BzZHdt7h2AU+qiZ9SfYbZlUQfB1\ni4gUjbq6Bmpr13xnemVltyanF5vWFHE2JXcBwR0HdjazhQR/wFtyZuSrwPWNJ7r7m2b2vJm9TDBC\nexVYEb6cWjKNHz8PPGBm+wMfAAvMbLuU12cCd5rZC0B34DZ3T4S3DHrD3VPfyD4TmB3O24lg1+Re\nzay/8bQ7ws99meA4YepI8SDg6Sa3hoiIFExJItH8oCW80sk7wEfAJcAQgjKaEt6CJytmNgOY6e5v\ntC1u64VfS0PyTNE8rqcU+ANwlLs3uXGHjLo9oXthibTOY9NOBGDoBY9EnKR9aahfwdQxg5q8aWo7\nGsk13rOXUbMnnpjZL4CrCEZZuwGXAQ8AWxKciNISU4AJLQ2XY2/ku+BC5wLXNldwIiJSOOl2V44E\nBrv7WjO7DnjU3e8ysxK+ORkkK+5ey3ePnRWUu39UoPXMKMR6REQks3RvIfja3deGj4cQXpQ5HKFo\nlNIGunaliEhhpBvJbTCzXkBXYF/CkjOzHYGvCpBNRESkTdKN5K4DXgf+Atzl7p+E15v8Iy0/Jici\nIlJwzY7k3P1hM5tP8GbwheHkdcBod3+hEOFERETaIu375Nx9Bd+8dw13fyLviURERHJEV8oXEZHY\nUslFQNeuFBEpjGwu6yU5tm61Lmsp0lYN9SsyzySbdNS/O2kv6yX5sXTp0kRdXUPUMTKqqChHOXNH\nOXNj0OD9AXh1/msRJ8ms2LZlVVVfysrKvjM9zpf10kguAgMGDGgvP1DKmUPKmVtNXYOx2LSXbRln\nOiYnIiKxpZITEZHYUslFoF+/flFHEBHpEFRyIiISWyo5ERGJLZWciIjElkpORERiSyUnIiKxpZKL\nQHV1ddQRREQ6BJWciIjElkpORERiSyUnIiKxpZITEZHYUsmJiEhsqeQioGtXiogUhkpORERiSyUn\nIiKxpZITEZHYUsmJiEhsqeRERCS2VHIR0LUrRUQKQyUnIiKxpZITEZHYUsmJiEhsqeRERCS2SqMO\n0BEtXbqUurqGqGNkVF9frpw5pJy5URl+fPfdZZHmyEaxb8ukqHJWVfWlrKwsr+tQyUVgr30P5OBT\nr406hki7NC/8eNmsVyPNIW2zbnUN0y8aRv/+u+Z1PSq5CJR06kx5r+2jjiHSrul3SLKhY3IiIhJb\nKjkREYktlZyIiMSWSk5ERGJLJReBwcOviTqCiEiHoJITEZHYUsmJiEhsqeRERCS28lpyZtbbzO4I\nH59nZu+Y2fAcr+MeMzs2l8sMl3uKmV2V5vVfmtnY8PF54cetzeyWXGcREZHWyfdI7lfAreHjk4Dh\n7j4nx+tIhP8KLXW9VwC4+0pgjZkdHkEeERFpJG+X9TKz7sBAd3/LzMYA+wF3m9lpwFDgdIKSeMjd\nbzGze4Avgb7A5sBD4Xw7Aj8GqoFZwA7AtsBcd5+csr5SYCawC0F5X+nuf0qT7U6gJ7AdcJu732Fm\nBwP/BXwGrAdeM7O+YcbB4efOB04LF1ViZpcDFWZ2q7ufBzwAXA282Ny2mT9nMseMmZ3dhhQRkVbL\n50huEOAA7j4LeAMYCXQBfgocAhwOnGhmAwgK7313PxZYDPRz9+OB/yEouypgvrsfBxwEjEtZVwlw\nLlDr7kcAJwK3pcnWn6C4jgWOBS4Ip88ARrj7vwCLsvgaE+5+LVAXFhxh9kOz+FwREcmzfF6guTew\nstG0EmBPgtHaH8NpPYHkZaj/Fn78jKAsAOqBLYA64AAzGwJ8TjDaS7UncJiZHRQ+72xmFe5e10S2\nGuDfzezkcFnJ7bCNuyfv3/EiQVE3VtLEtE3cfaOZfZVuHhERgYqKcioru+V1HfksuRqCAkuVAJYA\nb7v7DwHM7ALgTeCURvM2LpOzgc/cfZyZ7QKMafT6EuBjd58a7o68kKAgm3IBwajwjrA0jw+nrzCz\n77n728DgMO96oI+ZdQK6Azs1kXFTVjMrATY0s14REQnV1TVQW7sm6/lbU4j53F35KrB344nu/ibw\nvJm9bGYLgJ2BFeHLqSeQNH78PHCcmT0LXAosMLPtUl6fCexmZi8ALwAfunvCzC5p4uzLx4B/NbNn\nCHaFrjGzzYDRBMcNnwN2J9gduRJ4FvgrwTHB1Ds1JjO+Y2b3hY/3Av6cftOIiEghlCQS+Tsx0cxm\nADPd/Y28rSRzhqFAg7vPyzhzbtb3n8Aj7t5s0W3RrXdCJ56ItM5j004EYOgFj0ScRNqioX4FU8cM\natFNUysru6U9XNSUfL+FYAowIc/ryOSNAhbc1kC3dAUHunaliEih5PXO4O5ey3ePnRWUu39UwHWt\nBMYXan0iIpKeLuslIiKxpZITEZHYUsmJiEhsqeRERCS2VHIRmD9ncuaZRESkzVRyIiISWyo5ERGJ\nrby+T06alvh6Iw31KzLPKCLN0u9Q+7ZudU1B1qOSi0Blr3KmjmnqBgfFpaKinLq6hqhjZKScuVX0\nOX8dfNDvUO5ElbOqqm/e16GSi0BpaWmLrtcWlcrKbi26QnhUlDO32ktO/Q7lTnvJ2Ro6JheB6urq\nqCOIiHQIKjkREYktlZyIiMSWSk5ERGJLJSciIrGlkhMRkdhSyUWgX79+UUcQEekQVHIiIhJbKjkR\nEYktlZyIiMSWSk5ERGJLJSciIrFVkkgkos4gIiKSFxrJiYhIbKnkREQktlRyIiISWyo5ERGJLZWc\niIjElkpORERiqzTqAHFmZp2A24HvA18Ao9393ZTXhwKTgQ3AbHe/qxhzhvN0AZ4FRrm7F1tGMzsd\n+DeCbbkImODuBX9/TBY5fwJcAiSA37r7zYXOmE3OlPlmAavc/bICR0yuP9P2PB/4OVAbThrr7kuL\nMOcBwI1ACbACGOnuXxZTTjPbGngoZfZ9gEvcfVaxZAxfPwm4nOB3aLa735FueRrJ5deJQJm7Hwxc\nSvBDDoCZbQZMA44BjgDGmFmfSFKmyQlgZgOBF4GdCH6wopBuW24JXAP8wN0PBXoAJ0SSMn3OzsBU\n4ChgMDDBzCoiSZnhew5gZmOBPYnuew6Zc+4HnOnuQ8J/BS+4ULrvewkwCzjb3Q8Dnif4XYpCsznd\nfWVyOxKUyGvAncWUMZT8u3kIcKGZ9Ui3MJVcfh0CPA3g7n8BBqa8tjuw3N1Xu/tXwMvA4YWPCKTP\nCVBG8INX8BFcinQZ1wOD3X19+LwU+Gdh423SbE533wjs5u5rgEqgM1Dw/82H0n7Pzexg4EBgJsHo\nIyqZfjb3By43s5fM7NJCh0uRLucAYBVwgZm9APSMYm9IKNP2TJbyzcD4KPaGkDnjV0BPYEuCn820\nGVVy+dUd+Dzl+cZwKJ58bXXKa2sIRiBRSJcTd/+zu39c+Fjf0mxGd0+4ey2AmU0Eurr7cxFkhMzb\n8mszOxl4HZgHrCtwvqRmc5rZtsAU4DyiLTjIsD2BB4GxwJHAoWZ2fCHDpUiXcyvgYOAW4GjgKDMb\nUuB8SZm2J8BQ4C13X1a4WN+SKeONBKPMt4DH3D113u9QyeXX50C3lOed3P3r8PHqRq91A+oLFayR\ndDmLRdqMZtbJzG4g2BX4k0KHS5FxW7r774Dtgc2BkQXMlipdzlMI/jA/SXD88AwzK8acANPdvS7c\nG/IEsG9B030jXc5VBHtt3N03EIxSvjOCKpBsftdHEOxejUqzGc1sR4L/fPUF+gFbm9kp6Ramksuv\nV4AfAZjZIODNlNeWALuaWS8zKyPYVTm/8BGB9DmLRaaMMwlK46SU3ZZRaDanmXU3sz+ZWVm4G2gt\nsDGamM3ndPdb3H1geGzmOuABd78vmphpt2cPYJGZdQ13sR0JLIgkZfqfz/eAcjPrHz4/jGAUEoVs\nftcHuntUf4sgfcYtCH5nvgiLr4Zg12WzdIHmPAp/8ZJnCQGcQ3AModzd7zSzEwh2C3UC7nb3GcWY\nM2W+eUR39lqzGQn+sC0gODkmabq7P1LQkGT1PT+X4GzAr4CFwMSIzgLN9nt+FmDufnmhM4brz7Q9\nTwfOJzgL7zl3v7pIcyb/w1ACvOLu5xdpzkrgGXffL4p8WWY8HziD4Fj8cuDccITcJJWciIjElnZX\niohIbKnkREQktlRyIiISWyo5ERGJLZWciIjElkpORERiSyUnIiKxpZITEZHY+v+6KKQERiLGCQAA\nAABJRU5ErkJggg==\n", - "text": [ - "" - ] - } - ], - "prompt_number": 156 - }, + "output_type": "display_data" + } + ], + "source": [ + "pd.pivot_table(train, index=[\"Sex\", \"Pclass\"], values=[\"Survived\"]).plot(kind=\"barh\")\n", + "plt.axvline(x=0.5, linewidth=2, color='r')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Passenger class definitely mattered. The survival rate for women in 3rd class is under 50%.\n", + "\n", + "What if we added in the price of the ticket? This will work best with discrete values, so we break it into tickets less than \\$10, tickets between \\$10 and \\$20, tickets between \\$20 and \\$30, and tickets over \\$30." + ] + }, + { + "cell_type": "code", + "execution_count": 158, + "metadata": { + "collapsed": false + }, + "outputs": [ { - "cell_type": "markdown", + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 158, "metadata": {}, - "source": [ - "How about passenger class?" - ] + "output_type": "execute_result" }, { - "cell_type": "code", - "collapsed": false, - "input": [ - "pd.pivot_table(train, index=[\"Sex\", \"Pclass\"], values=[\"Survived\"]).plot(kind=\"barh\")\n", - "plt.axvline(x=0.5, linewidth=2, color='r')" - ], - "language": "python", + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAc0AAAD9CAYAAADeSCwEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXncXdPZv68MkoYkJISWhGgrt7a0plc0KEooRQ1t/YxR\nJWbVaikqLUooYuhrKBpBpa25QWOeKtQbs5Z8Eyo1NJpIIiREZPj9sdbJ2Tk58/OcZ+9zcl+fTz6e\nc/baa69zO89z77X2WtfqtGTJEhzHcRzHqUzntBvgOI7jOM2CJ03HcRzHqRJPmo7jOI5TJZ40Hcdx\nHKdKPGk6juM4TpV40nQcx3GcKumadgOc9mHhwkVLZs/+KO1mZII+fVbGYxFIOxb91uwNwIzpH6TW\nhhxpxyJLeCzy9OvXq1Mt5TObNM1sdeAcSUe1oY53JX22xnO+DFwdX04BDpe0qA1tGAycBCwGfiPp\nOTNbBRgLrAYsAIZJ+o+ZbQVcAiwE7pd0lpn1AK6UdGi56wwcuB633jqu3ma2FH379mTWrLk1nTNg\nwHp069atQS1Kj65du6TdhMzgscjjsaifzCZN4NfA/7axjnrMDecAP5f0hJldB+wB3FmsoJkdADwp\naWqJ458FriUkwpWA28zsa8APgImSfm1mw4CTgROBq4C9Jb1hZveY2SaSXjCzJ83sEEk3lGr0jNlz\nOfXqv9fxcZ2P5kzn0p/tyRe+sEHaTXEcJ+NkMmmaWW9gC0n/iK9fAyYAg4CHgFWBLQFJOsTMNgIu\nAroAawBHS3oqUd/GwKVAJ2AmcJikUuNF+0pabGbdgM8C75dp6rvARWbWHbgOGCfp08Tx3sAnwFvA\nJ5LWj+9fama558nrAbPNrBfQTdIb8f37gJ2AF4CbgXuBkkmzU+cu9OyzTpmmOo7jOG0lqxOBtgKU\neL0ecDqwLXACcLmkwcA2ZrYq8GXgJEk7AecTenJJrgGOkbQDMJ7QsytKTJjrAv8AVgdeKlP2YUn7\nAocBuxCSY/L4ZELvcSRwupl9q+A6DwHHEnqyqwLJRP5hfA9J7wNrxMTqOI7jpEQme5qEZPXfxOuZ\nkt4GMLN5kibF9+cA3YH/AGeY2cdAr/h+ki8BV5oZhGHSyeUuLulNYJCZ/RAYBRxarFzsYe4DHEzo\nwX6vSF3XmtkUYABwpplNl/RcPLajhUbdA2wa256jN8v2cv8L9CUkU6ed6du3J/36teY9SRY+Vxba\nANlpRxbwWNRHVpPmdMIkmRzlnk12Igy9Hihpkpn9ChhYUGYScLCkt83sG4SkXBQzGwf8RNJrwFyg\n3CSgC4CpwEGSZhWp6xvAcEJP921C73ktMzsVeFvSjcA8YKGkD81sgZl9HngD2Bn4VaK61YAZZdri\ntIFZs+YyY0br3Y/069cr1c/VL/43C7FNOxZZwmORp9abh6wmzb8ThllzLKnw8x+AW8zsLeAZ4HMF\nx48GbjSzrvG9wwDM7JE4ZJtkJDDGzBYQEtrhsewfgRMlLe0BSzqhwud4AtiPMKlpCfCqpPFm9ixw\nvZkdRngOmxtOPgq4Kb53n6SJ8dqrAe9LKjlH/Gs7H8/c2e9UaI5TjI/mTE+7CY7jNAmdsro1mJld\nCfxO0gsNvMbFkn5cZdlzCEtgal7cZGbbAUskPV7rufH8YwhJc2ypMpMnT15S6zKLVsWXnORJu0eR\npXWaaceio1iwYAFvvfXvsmVq/R1p1d8PaKF1msAIwvKP4Q28xkU1lL2qnoQJIOmxes4DiOs0h0g6\nqFy5QYMGrRB/EKphRfnj6DjFeOutf/OjC8ax8qprtkt91S7JuvHGMTz77P+xcOFCOnfuzLHHnojZ\nhnVd87LLLmK//Q5krbVqWma/lFGjzmeHHXZi0003r+v8cmQ2aUqaQWMTJrnJRVWWfatyqfZH0sdA\n2YTpOI6TZOVV1+zQJWhvvPEvnnzyca68cjQAU6ZM5pxzfsWYMSUHx8pywgkntak9nTrV1Hmsiawu\nOXEcx3GahJ49e/Lf//6Xu+/+CzNmTGeDDQZxzTXXc9xxw3nzzTBUfOedtzJ69NW8++40DjlkP44/\n/kjGjr2Bgw7KLzoYNep8Hn/8UY4//kjefHMqhx9+CO++Ow2ARx55kEsvvYh58+byi1+czAknHMUJ\nJxzFv/712tL6DzvsQH7yk+OZMqXsAok2kdmkaWarm9lVbazj3TrO+bKZPRH/XWdmbfJNmdlgM7vZ\nzP5kZpsVHNvbzG5KvN7KzP4erz0ivtfDzMa0pQ2O4ziNpF+/NTnvvIt4+eUXOeqowzjwwO8yYcLj\nBT2+/M+zZs3i4osv54ADDuELX/giL774PAsWLOD5559l6623XVpu99335N577wFg/Pi72XPPvbn+\n+tFsscWWXHbZVfzsZ6dx4YXnMXv2bG6++Y9cffX1XHjhpXTq1Klhvc3MDs/SBBq9JHGG60GS/jfx\nXqFG73Yz2zguL7mUsKzk+UQ1VwL71KPR69+/f+bcs608ecBxnDzvvPM2q6zSk1NPHQHApEmv8tOf\nHs/qq/dbWiY56fRzn1ubrl1D+tljj70ZP/5uZs6cyTbbbEeXLrl+SieGDv0WxxxzBLvvvhfz5s1j\n/fU/z7/+9RrPP/8MDz30AAAffvgB77zzFuutt/7SOjfe+Gs0apJrJpNmE2n0MLOtCctS1iMsF0lS\nqNEbmDg2AbgDODLxmbvXq9HLmnvWfa6Os+Lw2mtTGDfuDs4/fxRdu3ZlwIAB9OzZm9VWW4333pvB\nuuuux+TJk+jXL0xO6tw5P8i5xRZbcsUVlzFjxgxOOumUZepdZZWemG3IZZddxLe/vScA6623Phtu\n+CWGDv0WM2ZM54EH7qV//3V5441/8ckn8+nWrTuvvvpPttpqSEM+ayaTJsU1etsTXK+zgC0lHW9m\n/yrQ6P3DzPYnrHt8KnH+NcChUX7wQ4JG7xfFLpzQ6D1ISJglNXpm9mdgHWC4pFeK1DU5DjGPBGaa\nWQ9J98ZjN5vZ9onivVleo/f5WPZ9M1vDzHpJKjot1N2zjuPkaM+1x9XUtd12O/Dvf7/B4YcfQo8e\nPViyZAnHHfcjunTpyqhR57Pmmp+lX79+S4dMC4dOd9hhR555ZiJrr73837A999ybn/70BE4//ZcA\nDBt2GCNHns24cXcwb948fvjDI1lttdUYNuwwjj76cHr37k2XLo1LbZlcpxkT3xaSToqvl27xZWbT\nJH0u/vw8wfk6CDgeWKrRk3RYrqyZzQGei9WvBEyWdFgV7fghsG2pbbnMbANCT3FLQq/xBkkzi5Tb\njqDRO57QC34uvr89cKSk/WNP8ylJX4nHfgR0lXRRfD0BOEBS0QVYn+m1+pKhw0dX+kgdxtzZ7/C7\nn+/EoEGD0m6Kkya5P44Z/DvTqixYsICpU6e2a50DBw5s5UctLbFOsyk0epKmAD+NQ7n7EvbI3CVR\nVzGNXtHFU5I+aDWNXlpqOl+nmSftWLhGLx369Plc2eO1xmLOnE8IT5paD9fodaBGL4ekBcAf478k\nxTR69xa0P/l56tboLVm8KFMaPVfTOY7TimRyeBZco1dwflNq9NKaPbsi9SgqkXYsXKOXTTwWeVyj\nVxuu0XMcx3GqJrM9TadmlnjSDPhddJ60Y+E9zWzischTa08zs0Ygx3Ecx8kanjQdx3Ecp0pSf6Zp\nZqsTJtgc1YY6lq7jrOGcLwNXx5dTgMMlFV1eYmafAY4B9ifM1L1C0qdxPemPgIXAy7FMJ+AK4KuE\nOdqHS3q9oL4uhGUogwizZ4+S9E8z+yIwBlgM/AM4Np5yXSwzv9TnmTx5cs17SKaBq/Ucx2lmUk+a\nNIdjdiTwHvAwwdJzmpmdD5wNbCRpvpmNBXYnyBO6SxpiZoMJk432Kqhvd2CxpG3izNpzYplRwGmS\nHo+zh78j6c5Y98nAWaU+zMabbsmQ/c6tIwwdh6v1HMdpdlJNmk3kmF2TsOZyI0KiXWJmnYCvJ3p/\nXYH5BN3feEKjnzazLQork/QXM7s7vhwIzI4/b5ZYljKeIDi4M8ZiFGWSpmv0HMdxGk/azzSLOWZP\nB7YFTgAulzQY2KbAMbsTQX7wg4L6rgGOicKC8YTeWVESjtl/EAxBJR2zsZ59gYOBX5vZapKWxI2y\nMbPjgVUkPcDyDtlFZrZcnCUtilt+XUZe9J6cxTWXcNNAHDaeHm8KHMdxnJRIe3h2dSBp2Jkp6W0A\nM5snaVJ8fw7QHfgPcIaZLXXMFtT3JeBKM4PomC13cUlvAoOiY3YUcGiJcu8AB5jZWcCbwPXAd2Iy\n/A3wRUJShZAwk16mzkAPM7uHMIz8gKRzY72HmtkpwNPxGevixHm9WLb3O40y+r9moW/fnjVrq+qh\nI67RLGQhFlloA2SnHVnAY1EfaSfNpnDMmtl9wI9jmUeIaj3gd4Qh2b0l5do+gfB89BYz2wp4SdI8\nwrBtrr6Dgf6SRhIk84sICfN5M9suyhB2JQzL5ujDsjcYy5A1jV4xPpozvUN8tL4GLU/asXD3bDbx\nWORpNvdsszhmzyAMo/YjDB3/xMw2i/U/Djwce7eXEHY7GRp3JYHlh5ABbo3XfozQIz4xTiY6Cbgm\nPmd9JZYj9mjXkfRqkboA6NenJyOHb1XqcGYYMGC9tJvgOI5TN6kbgZrJMWtmIySVnIzTKMxsN2CT\n3LBuCdwIFPG76Dxpx8KNQNnEY5GnGY1AIwjrGxtJuzhmU0qYnQjrQy/u6Gs7juM4y5J6T9NpN7yn\nGfG76Dxpx8J7mtnEY5GnGXuajuM4jtMUpD0RqKk1evHYysADBJGC4qSdShq9lYDRhHWp3YFfS7pr\nRdDodQSzZ/esKRau9nMcp1pST5o0p0bvdOBX0fZzFbB2og17Ad0qaPQOBGZIOtjM+gAvAHfRBo3e\nwaeOZeVV16wxBI6r/RzHqQXX6NWp0YvvdyMkxBsTZbcG7oXSGj3gFuJyEsIQ+afx57o1ei/e/1uG\nDh9d5iM4juM4bSXtZ5pNq9GLdTyZMxglqKjRkzRP0lwz60VInr+Ih1yj5ziOk2HSHp5tao1eiWqr\n0uiZ2QDgdsKNwZ9i2ZbX6GWRjlL7pUUWPlsW2gDZaUcW8FjUR9pJs1k1ekeUaWc1Gr21gPsJveJH\nEue2tEYvi3SU2i8t0l5a4Bq9bOKxyOMavY7R6JWzC1Wj0TuNMPQ6wsxGxPd2BVpeo9cR9O1b++xZ\nx3GcakhdbuAavaraVFGjN3DgwCUTJ77cga3KLn4XnSftWLjcIJt4LPI0o9zANXplqFajN3Xq1A5p\nj+M4zopM6j1Np91wjV7E76LzpB0L72lmE49FnmbsaTqO4zhOU5D2RKCSpKjX24Qw6WcRQYN3iKTp\nbWjDYMIEn8XAbyQ9Z2arAGMJM4cXAMMk/SfOtr0EWAjcL+ksM+sBXCnp0HLXcY1enmIaPVflOY7T\nHmQ2aZKeXu8S4DhJL5nZcOAUQtJbDjM7AHhS0tQSxz8LXBvrXAm4zcy+RphRO1HSr81sGEGecCJB\nybe3pDfM7B4z20TSC2b2pJkdIumGUo12jV5pXJXnOE57kcmkmbJeb7/EcpOVgI/LNPVd4CIz606Q\nqo/LidwjvQm91beATyStH9+/NGEJWg+YHe1A3SS9Ed+/D9iJ4KW9maDmK5k0V151TXr2WadMUx3H\ncZy2ktVnmmnq9f4LYGZDCLuMlJy1KulhSfsS1oPuQkiOyeOTCb3HkcDpZvatxLHFZvZQvMadhBuB\nZCL/kLxG731gjZhYi/LULWeUOuQ4juO0E5nsaZKyXs/M9iMICHaTNLNMue7APgQn7Uzge4VlJF1r\nZlOAAcCZZjZd0nPx2I4WGnUPsCnL6vd6s6xG779AX0IydWqk1VV55cjC585CGyA77cgCHov6yGrS\nTFOvdxAwHNhe0uwK7bwAmAocJGlWkbq+Eeu6Bnib0Htey8xOBd6WdCPBRrRQ0odmtsDMPg+8Qdjh\n5FeJ6lYDZlRoj1OCVlbllSPtpQWu0csmHos8zabRK0Uqej0z60JIwP8Gbo8900clnVlMryfphAqf\n4wlgP8KkpiXAq5LGm9mzwPVmdhjhOWxuOPko4Kb43n2SJsZ2rQa8X0q6AO6eLcdHc+qe/Ow4jrMM\nmZUbNJNer4pztwOWJPbKrPX8YwhJc2ypMv37919y663j6qm+5Sjmnl1Rl5yk3aNwuUE28VjkqVVu\nkNWeJgS93jmE4c1G0S56vUrEXUvqIq7THCLpoHLlunbt6ksqIv4HwXGcRpHZnqZTM67Ri3jSzJN2\nLLynmU08Fnlco+c4juM4DaKm4Vkz61PFjNJ2oZU1eoljewPflXRgfF23Rs9xHMdpPFX1NM1sEzOb\nBLxkZgPM7HUz27zBbUtbo7cDcDtBo1cRM1vNzI4reC+n0bsPeJQwI7dXPHYpcC5hyUyOK4H9JW0D\nDI4avY+BJ83skHLXnzy57NJTx3Ecpx2otqf5W8Ii/pskvWVmRxL+wG/ZiEY1kUYPM9saOJxgLbqp\n4HChRm9g4tgE4A7gyMRn7l6vRs9xHMdpPNU+01xZ0iu5F5IeJJh4GkVTaPTM7M/xehdI+qak3xfU\nVU6jd3NBdb1pg0bPcRzHaTzV9jRnxmd9AJjZgcByBpx2pCk0esAvCD3Fq8zsDuCGwvLlNHoFfEAb\nNHrf/OY3efvtt8t9rBUKV4TlyUIsstAGyE47soDHoj6qTZrHANcDXzazOcAU4MCGtapJNHqSpgA/\nNbNuwL6EPTJ3SdRVTKNXdP8uSR+0VaPnU8gDPp0+T9qxcI1eNvFY5Kn15qGq4VlJrxGeaa4OrEuY\nrKLyZ7WJvwNfS7yuVqP3V8JnKqXR+xthgtHLEDR6yYsmNHo9CZN2HjGzX8ZjfzSztYo1VtICSX+U\ntEvBoScIvd5fA2cBH0u6t6D9yc+T0+g9DTxXi0bPcRzHaTxVyQ3M7ATgB5I2NbOBhEkpF0v6XaMa\n5hq9Zc6vqNEbOHDgkokTX66n+pbD76LzpB0LlxtkE49FnkbJDY4EtgGQNBXYDDi+ppbVzgjCsHAj\n6TCNXhsSZk6jVzJhOo7jOB1Dtc80uwILEq8XEBbrNwxJM2isd5bc5KIqy75VuVT7E9dplvXOOo7j\nOB1DtUnzTuDhuMSiE+H5pm+pkSGmTp3qwy2O4zgNpqqkKekUM/se8A3gU+BSSXe2RwOaQZdnZp8h\nDBXvT5h0dIWkT81sf+BHBO3dy7FMJ+AK4Kux3sMlvV5QXxfCjNpBhIlAR0n6p5l9ERhD6MX/g7BO\nFOC6WGZ+qc8zefLk5bbDanZW1O28HMfJLmWTppltJum5OJFlOnBr4tg36n1OV0DauryXzGw4QZd3\nUomyI4H3gIeBzwOnmdn5wNnARpLmm9lYYHfCOtDukoZE7+xFwF4F9e0OLJa0TYztObHMKOA0SY/H\niVDfkXRnrPtkwgzcohx86lhWXrXoapam5KM507n0Z3v6dmeO42SKSj3No4EjgDMpnph2aMvFm0iX\ntyZh+chGwM8lLTGzTsDXE72/rsB8YHuCdQhJT5vZFoWVSfqLmd0dXw4EcutBN0vciIwnrNW8M8Zi\nFGWS5sqrrknPPuuU+QiO4zhOWymbNCUdEX/8s6QrG3D9Yrq87YF3CcahLSUdb2b/KtDl/SMOjf4A\neCpx/jXAoVFy8ENC7+wXxS5cRJe3bZl2ngxcQEjg3czsgqi2mxHrOB5YRdIDZvZ9ltXhLTKzzpKW\nmTglaZGZjQH2JogRYFl5+1zyGr1FZjbdzDaW5OtKHMdxUqLaiUDHEQTt7U1T6PIkvQMcYGZnAW8S\n7EjfMbPOwG+AL5JPfIU6vM5ADzO7h9Bbf0DSubHeQ83sFOBpM/syy85I7sWyGr1plDEZtSJ9+/as\nW/XlirA8WYhFFtoA2WlHFvBY1Ee1SfMtM3uYYKrJDUcukVRyuLBKmkKXZ2b3AT8mTBp6hLCrCcDv\nCPHYW1Ku7ROAPQiGoq2AlyTNI/Sgc/UdDPSXNJIwLLyIkDCfN7PtJD0G7EoYls3Rh2VvMJbhqVvO\nYOjw0eU+RtMxa9bcumYE+8LtPGnHwjV62cRjkafWm4dqk+bf43+TSa0mi0KZes9PvK5Wl/cW8Ayl\ndXld43uHQdDlxR1OiK9zurx/E3R5AI9KOtPM/gicmHjeCXAGYaZtP8Iw7k/MbLNY/+OE5TgQJhfd\nAQw1swnx3MIdVyBMqBpjZo8ResQnxslEJwHXRJftK7EcsUe7jqRXi9QVArB4EXNnv1PqcNPx0Zy6\n9/12HMdpGBU1ema2BqFH90oj3KfNpMszsxHt0LuuGTPbDdgkN6xbjP79+y+59dbWWjpb75ITv4vO\nk3YsXKOXTTwWeWrV6FVacvI9whrBuUBnM/u+pEfrb15RRhCWXDTS/tMuuryUEmYnwvrQsvHp2rWr\nL89wHMdpMJWGZ88A/kfSq2a2C2Grqu3bswGuyytPfFZ6cNrtcBzHcSoL2xfnnqNJuo8VbPam4ziO\n4ySp1NMsfOC5sL0b0MwavXhsZeABgkhBcdJOJY3eSsBowrrU7sCvJd3VFo2eu2cdx3EaT6Wk2TMu\n3YAwWzb3uhNt2B+ygGbU6J0O/Crafq4C1k60YS+gWwWN3oHADEkHm1kf4AXgLtqg0XP3rOM4TuOp\nlDTfISj0Sr1eYTV68f1uhIR4Y6Ls1oRNuktq9IBbyHt8OxMk+NAGjZ67Zx3HcRpPJY3e9gBm1lfS\nrOQxMxvYDtdvao2epCdjHcmyvamg0YuyA8ysFyF55tpYt0bP3bOO4ziNp9KSkwGEntA9ca1gjpWA\ne4AN23j9ptbolShelUYvxvZ24HJJf4plXaOXwDV67UMWYpGFNkB22pEFPBb1UWl49ixCz29t4LHE\n+wuBu4udUCPNqtE7okzxajR6awH3A8dIeiRxbt0avVbENXptJ+1YuEYvm3gs8rSrRk/SDwDM7OeS\nzmtDu0rRrBq9cnahajR6pxGGXkeY2Yj43q6EiUh1afSe/PNpDNmvpDCo6XCNnuM4WaSiRg/AzLoD\nPwUMOCH+O0/SgrY2wDV6VbXJNXo14HfRedKOhWv0sonHIk+7avQSXE7YO3JzwtDsBsDvaR9TjWv0\nyuAaPcdxnOxQbdLcXNKmZvYtSXPN7BDC4vs24xq98rhGz3EcJztU0ujlWByfs+VYg2VnejqO4zhO\ny1Nt0rwUeBD4rJldCjxLMOo4juM4zgpDVcOzkm4ws2cJBqDOwO600/BsKdJy0ibOvRiYJOl39V4/\n1jOYMCt2MfAbSc+Z2SrAWMJymwXAMEn/iUtULiE8N75f0llm1gO4UtKh5a5z//338/rrU9rS1JZh\n9uyeLacUrIQrBx2nY6gqaZrZ0ZKuBP4ZX3+NYOIZ3MC2peKkNbN+wA2EyU4ll3jEsgcAT0qaWuL4\nZ4FrCYlwJeC2GLsfABMl/drMhhGMQycSPLZ7S3rDzO4xs00kvWBmT5rZIZJuKNWWVtPoOdXjykHH\n6TiqnQh0YNyZ42qC8OAg4OeNalTKTtpVgF8S1k1Wmor8LnBRXJJzHTAut/tJpDdhp5O3gE8krR/f\nvzSuvYSgDpwdlXrdJL0R378P2Ikgc7+Z4LMtmTRdo+c4jtN4qk2aOxOUb6cAfwW+Usmi00bSdNJO\nBaaa2a6VGinpYeBhM1uT0DO+HPhs4vhkM7uKsEvKTDPrISknc19sZg8RJPA7E24Ekon8Q8KOKkh6\n38zWMLNeknxxlbMc5ZSDWdClZaENkJ12ZAGPRX1Ucs8OIz/EeRuwCUEkvoeZUW64sI2k6qStltjD\n3IewJGQm8L3CMpKuNbMpwADgTDObLum5eGxHC426B9iUZZ21vVnWPftfoC8hmTrOMpRSDqa9iN01\netnEY5GnXTV6hIk/yeeC9xImr+SUdI1Kmqk5aWvkAmAqcFDhLjAA8VrDCT3dtwm957XM7FTgbUk3\nAvOAhZI+NLMFZvZ54A1C7/NXiepWIwgmiuLauRUX/3/vOB1HJffsobmfzWyzOPNzNYLs4KHSZ7aZ\nVJy0RVh6rWJOWkknVPgcTwD7EYZulwCvShofZyJfb2aHEZ7D5vy0RwE3xffukzQxXns14P1SpiKA\nd56+llbT6NVL374r5uxZx3EaT7Xu2fMIiXKoma1NWC7xmKRfNqphzeSkreLc7YAliQ2maz3/GELS\nHFuqzMCBA5dMnFh0q80VDh96ypN2LNw9m008Fnlqdc9WKzfYA/gWgKT/EGZ17ltb02pmBHBMg6/R\nLk7aSkh6rA0JswcwpFzCdBzHcTqGamfPdgFWJj8JpTsN1ui5k3bpdT8mLPFxHMdxUqbapPk74Fkz\nG0eYeLMrbRcPOI7jOE5TUdXwrKSLCb2daYSNmw+UdEUjG2Zmq8c1jm2p4902nHuxmR3ZluvHegab\n2c1m9icz26zg2N5mdlPi9VZm9nczeyK3ObWZ9TCzMW1th+M4jtN2yiZNM9sj/ncYsCHwHmEN5Ffj\n9mCNJDWNnpmNJzzHrfp8M1vNzI4reC+n0bsPeBS4PZp/iOL7c1nWOnQlsL+kbYDBUaP3MfBkpXjf\nf//91TbVcRzHqZNKw7NbAHex/HrNHA1Zp9lEGj3MbGvgcIK16KaCw4UavYGJYxOAO4AjE5+5e70a\nPcdxHKfxVEqaq8Oy6zU7iKbQ6JnZn4F1gOGSXilSVzmN3s1mtn2ieG9co+c4jpNpKiXNrTukFcvT\nFBo9QuI9ErjKzO4AbpA0M1mgnEavgA9oo0bPXZJ5PBZ5shCLLLQBstOOLOCxqI9KSbObma1b6qCk\nN9u5PTmaQqMnaQrwUzPrRli3OhbYJXe8hEav6P5dkj5oi0YPsuH3zAK+cDtP2rFw92w28VjkaW/3\n7AbAY2WOr1/mWFtoCo1eDkkLgD/Gf0mKafTuLag/+Xnq1ugNGjTIfwkcx3EaTFmNnpk9L2nTDmxP\n8tqu0cuf7xq9GvC76Dxpx8I1etnEY5GnVo1etXKDNBgBnENjrUAdptGr5zxYRqPnViDHcZyUqZQ0\nL+uQVhTBNXpLr+saPcdxnIxQaWuw60odi+KDRcCD8Zme4ziO47Q0bRme3YWw4H534PZ6KzGz1QnP\nCo9qQx2NECA7AAAgAElEQVTvSvpsnedeDEyS9LsyZT5D2HFlf8KkoyskfRrXhP4IWAi8HMt0Aq4A\nvkoQGxwu6fWC+roQZtQOIkwEOkrSP83si8AYggz/H8Cx8ZTrYpn5pdq4cOFCXn99So2fvjWZPXvF\n20+zFKuuulHaTXCclqLupCnpuMqlqiI1XR7BsLMB8GqF4iMJCsGHCcKB08zsfOBsYCNJ881sLOEG\nYiWC2WeImQ0mPDfdq6C+3YHFkraJk4TOiWVGAadJejxOhPqOpDtj3ScDZ5Vq4IzZczn16r/XEgKn\nxfloznRuHNmTPn0+V7mw4zhVUVXSjD2grQjrEK8CNgN+LOlvbbl4E+ny1iQsH9kI+LmkJWbWCfh6\novfXFZhPMBeNJzT6aTPborAySX8xs7vjy4HA7PjzZokZtuMJazXvjLEYRZmkOWS/c+nZZ50KH8Nx\nHMdpC9VuQn0dsADYk5DQfgJc2A7XL6bLOx3YFjgBuFzSYGCbAl3eToR1nD8oqO8a4Ji49nI8oXdW\nFElTJf1fle08mSAvOBj4tZmtJmlJnKyEmR0PrCLpAZbX4S0ys+XiLGlR3L3kMvLO2mTynku4aUDS\nImB6vClwHMdxUqLa4dnPRFfqtcDYOHzYHstVmkKXJ+kd4AAzOwt4E7ge+E5Mhr8BvkhIqrC8Dq8z\n0MPM7iEMIz8g6dxY76FmdgrwtJl9mWU39u7Fshq9abSTychZsciCLi0LbYDstCMLeCzqo9rEt9DM\nvkt4FjfCzPYizJxtK02hyzOz+4AfEz7zI4RdTSBszj0f2FtSru0TCNuK3WJmWwEvSZpHGLbN1Xcw\n0F/SSODjWO9i4Hkz2y6u69yVMCybow/L3mA4TlW4Ri/gC/rzeCzytLdGL8eRwInAsZL+Y2bfJ584\n2kKz6PLOIAyj9iMMHf8kbih9GPA48HDs3V5C2O5rqJlNiOcWDiED3AqMMbPHCD3iE+NkopOAa6LL\n9pVYjtijXUdSyQlLH82ZXubjOSsi/p1wnPanrEYviZmtHRPmNwjLKa6LPag20Uy6PDMbIankZJxG\nYWa7AZvkhnWLMXny5CW+zCLQt68vOcmx2WYbMWfOJ6ld3zV62cRjkachGr24J+QiM7uCMGnlfsLG\n1PuWPbE6mkaXl1LC7ERYH1o2PjvvvDPung34H4Q83bp1IywXdhynPah2eHZLYHPCEo3Rkn5pZs+0\nRwNcl1ee+Kz04LTb4TiO41S/5KRz/Pcd4K9mtgqwcsNa5TiO4zgZpNqe5g2EJQ9PxgX7rwBX13vR\npDrPzI4j6Od+KemWeussco0xwB8l3VfDOUX1dm1oQx+CCu87wJWSRsf3jwWGxWtcKOmWuJvJHwiT\njT4Ehkl6L84S/nO5SUDQPBq9AQPWi0OGjuM4zUdVSVPSKDO7NC6yB9hW0sw2XDepztsb+F5bklMJ\nCjd4roZServlMLPNgb5RaFCK0YTZtI8Bu5rZIuBuwmbTmwA9CLNkbyHM/H1R0llmth/wC8KM5YsJ\nJqZvl2t4M2j0PpoznUt/tidf+MIGaTfFcRynLqqdCLQt8LM4LNsZ6GJm60oaWOsFk+o8MxtOUPL9\n3sz+H2F94/6EZPcnSb+NPcYFBFtQd+BPsdy6hB7cVEKvtz9hCco4SWckrteVsJ7yi7Htvyi1v2UZ\nvV0x/gPsZ2ZnAncRZhO/W1BmTeCfwPrA93NrOc3sa5IWm9nahHWaAFuTX35zL2GZC5LmmNnHZrax\npJIzfTp17uIaPcdxnAZT7TPNawkO1K6EHuIUQg+oHpaq8yRdDbwAHEJ4Rvp9QvL4BrCXmeWGSd+Q\ntAtBrD5Q0reB2wjJcwDwlKRvAYMJvbgcnYAjgBmStiP0Gi8v17gCvd3YMuWmSTqZsG7zLeBlMyvs\nDR5B0AIeAJwSd0shJsxjgScJQ7IQ9Hs5w9GHRIVe5CUScoRifP17Z5c77DiO47QD1T7T/FjSaDMb\nSOh9HUEYcry0jmsWqvMgJLeNCL3Jh+N7qxF2IAF4Lv73ffI7kswGPgPMAv7HzHYgKOy6F9S9EbBt\n3HEEQi+5r6RZpRpYoLf7UtwIejniEO0RhGegpxJsQcl6XgH2MbORsa3nE7YSQ9LlZnY1MN7M/hbb\n3jueWkyh1xLdyL59e3aIvssVYXmyEIsstAGy044s4LGoj6qTppn1JfQQtyIkh37lTylJoToPQm9y\nEvBPSbsCmNlPCD2s7xaULVyIeijwfpxU9EWWX74yCXhb0sg4NHwSJYZdi+jtFrOsDzZZdndCT/cq\nSc+XKPMioYc4H/gbcGTsPZ8naR/CPpyfxGtMAHYDJhIUeo8nqmoZhd6sWXMbvobS12nmSTsWrtHL\nJh6LPI3S6I0CbiZM2nkGOIh8769WCtV5AEh6ycweMrMnCL2yvwPvxMPl9HoPAWNjr+/fwDPxWWHu\n+O8IarpHCT25y+PWXqcALxTMri3U2/1I0idmNiy28fpEe+8mTOopx+mEuK0JDAFOkDTZzF4ws6di\n+/4aBfgTgetjr/MTwpBujsGEnmxJmkGZ1gxtdBzHKUctGr1OMdmsQhiOfFFS0V5YFXU1XJ1XRRv2\nAOZKeqSKshsTJi9dV+e16tbvxR7+GEl7livXLBq9jlhy4nfRedKOhWv0sonHIk+7avTM7LqC18mX\nS4XoddAR6rxKvFCD/WdWvQkT2qzfO5EKvUyAQYMG+S+B4zhOg6k0PPsYITl2ovY1jyXpCHVeFW2o\nWpcX99NMBUkjqik3cOBAd886juM0mLJLTiSNic/xbgN6xZ8fIqx5bDd7j+M4juM0A9VOBBpLmMkK\nYWlEZ+BG6tzlZEXX6MVj/QgzZjeStGBF0eh1BLNn+9ZgOdKORW72bJrfTVc3Ou1JtUlzPUl7AEj6\nADg9Lqeol6bX6CWJ23cNBWZKejZxqFCjt1jSGDPbBTiPMKs2R8tr9JwVj9wsu7S+m65udNqbapPm\nYjP7qqSXAMzsSwS1Xc20kEYPM/scYTLUtwnrMC8pKFJUowcsAnYEkgnWNXpOy+LfTadVqFaj91Pg\nfjN71syeBe4jSALqoSU0enHJykuEpL2tpFMkTSsoVkqj92ARI1GbNHqO4zhO46l2l5MHzWxd4KvA\np+Etza/zmq2i0XsIOA34IbCNmV0j6bmCekpq9IrQJo2eu2cdpzhJdaOr4/J4LOqj0jrNdYDfEibG\nPAH8XNL75c6pgpbQ6En6iDBp6Boz24ygyLsrmoJy9S2n0StWV2SF0Og5TkeTUzf6gv48Hos87a3R\nu46gzbsG2I8wKeUHdbUsT0to9Ara/hzFE+JyGr2C48nPciUtrtFzVlzmzk5nqbP/XjjtTVmNnpn9\nQ9JG8eeVCLM7v9zWi7pGr6ZzW0qj1xH07etLTnKkHYutvr45AH9/6tkKJRtHbsmJ967yeCzytKtG\nj8QMWUmfmtkndbVqeVyjVz2u0asR/4OQJyux8CUfTqtQKWnWlIGrxTV61VOtRs9xHMdpPJWS5lfM\n7I3E67UTr5dI+nyD2uXUiLtnHcdxGk+lpDmoLZW3ii4vGnxOAl4DRkl6LS7BGQ10IfTIh8e9Mvcg\niAkWAqMlXVukvn2BU+K1b5J0mZl1Bq4gLOv5BDhc0utmdiQwRdLDhfUkcY1enrTVcbXimjfHaR7K\nJk1JU0sdM7PPmlkvSeUemDS9Ls/MNiUkwbuBt4B7zGxD4CzgMknjzGxnYGTU340CtgA+AiaY2ThJ\n0xP1dQFGApsD84BXzOwmYDugu6QhcU3pRbFN1xLEEo+W27/UNXrNiWveHKe5qFajV4w7gcfM7AVJ\nfyw82EK6vDWAmYR1kk9Isni9k8gbfFYirOv8EvCapDmxzBMEu9GtiWsvMrMNJS02s7UIPdUFBBPS\n+FjmaTPbIlH+eYKq765SjXSNnuM4TuOpVqO3HJK2iuq45RJmpCV0ecCDwFPAycCFObOQpJmSFlrY\nmfsC4EyC+m5O4txCHV7u2ovNbB/geYLTeh5hDWlye/tFccgWXKPnOI6TCarqaZrZUZKuSrxeGfiN\npOPKnNYSurwoWT/PzKbFz3Odme0oaVpsy+XAQZKmRLdsUi/RC3jfzM4GtiHcGOwkabGk283sDmAM\n4Wbig4JzOyeGY6cB3yz1OZzmJql5awRZ0KVloQ2QnXZkAY9FfVQ7PLt3nOByGGCE52yVJt60hC7P\nzA4CvhLrnwS8B6wan2teAuySWL4yCdjAwj6a8wg96Qsk3Zaor7eZ3QUMjftoziPsejKB0KO+xcy2\nIr9/KUBfQjxL4u7Z5iWneWsEaa/TzO2nmYW1omnHIkt4LPK0t0YPAEm7mNmxhOHWecBekiZWOK1V\ndHm3E5ywOxJ6hI9ImmRmf4rn3hBGaJkk6eh4E3AfYej794U7n0j6wMz+ADxuZp8CLxI2nwYYamYT\n4s9JXeFgwnZhJXFdWHPi/98cp7koq9HLYWbfJCyHeITQ0/wAOLbSov9W0uXFhPqIpDcb0MxybeoK\n3A/smNiPczlco5cnbXVcrTRyyUnaPYp+a4aNe2ZM/6BCycaTdiyyhMciT3tr9HL8HjhM0iNm1omw\n3nIisHb501pHl1dK1t4BHAGcWy5hgmv0kvgfBMdxGkW1Pc3l1mOa2fqS3ih1jtPhLPFEEfCkmSft\nWHhPM5t4LPI0qqe5upndDqxPmNxyE2FSkOM4juOsMFS7TvN3wIWEdYfvEpJmWsOVThEGDhyYdhMc\nx3Fanmp7mmtIus/MzotrB681s+MrndTK7tnEsROBtSSdGl9X457dH/hRLPMyIS6dcPdsu9Bs7tlG\nknYscktOOvK76S5fp5FUmzQ/MrP+uRdmtg0wv4rzWtI9G962HoT1qv9D1OTFjboruWd7AGcDG0ma\nb2ZjY3tWwt2zTouRm7LeUd9Nd/k6jabapPkTQrL4vJm9SFhs/71yJ7S6eza2cQxhOciG8b2K7lnC\nzcbXJeVuOrrG97bH3bNOi+LfTadVqJg043DjK4Qe1SnADoQE+kyFU5dxz8YhySNZ1j3bmdCLuo+8\ne3Z4XN85UNK3zexXhOR5J8E9+/uoq3uL0AOEZd2zP4zDwo8R1HpFSbhn92Z5G1GSBwk7kpwM7GZm\nF0p6WtL7wAM5IUKkNxXcs3HpyAyAOMS9iqQHzOz7FHHPxt5lzj1bMmk6jhMopyV0dVwej0V9lE2a\nZvZT4P8Bwwi9qVOBEwhauQuBE8uc3vLu2SJVzqGye3bHGIffEHrF+8ay7p51nHaglJbQl1nk8Vjk\naW+N3iGEocR5ZnYe8BdJ10bBwasVzm1p9ywhkRVS0T0b67yaMCS7d0Ja0Cb37Nd2Pp65s8sKmhwn\nNTrqu+laQqfRVEqaiyXNiz/vAFwJofdlZpUm37S0e7bgYy2J531ayT1rZpsR1rg+DjwcvbWXAHfQ\nBvfsjSMP8BmjkWbT6DWS1GMR/Vojh2/VYZccMGC9DruWs+JR1ghkZs8AQ4FVgH8B68UtsdYF7pb0\n1XKVu3u27VTrnsWNQEvxoac8acfCjUDZxGORp72NQOcRNkpeCbg2JszvASOBs6qo392zbacq96zj\nOI7TeCq6Z81sHYLc4MX4+tvAPEmPNr55Tg14TzPid9F50o6F9zSzicciT7u7Z+P2X+8kXt9TR7sc\nx3Ecp+mpVm7QrmRYr7cSMJq8YOHXkupeGxln0R5LkDNcKWl0fP9YwjKeJcCFkm6JpqA/EMxjHwLD\nJL0X16n+WVLZ2cr9+/fn1lvH1dvUliJtdVyWSDsWaWj0SpF2LLKExyJPv36b1VQ+laRJdvV6BxIE\nCQfHhPcCJYQCcRZvX0kPlKlvNGFW7GPArma2iKDjOwrYBOhBEEfcAhwNvCjpLDPbD/gFYR3sxcBY\nghGoJK7Rc7JIR2v0HKcWPpoznadvy3jSzLJej5C8csq7zgShein+A+xnZmcSEut1kt4tKLMm8E/C\nlmrfz03mMbOvSVocl8zkhApbk1+icy/RdiRpjpl9bGYbS3q5VGNco+dkGf9uOq1CtVuDtSfL6PUI\nvblDWFav9w1gLzPL7ULyhqRdCEKFgZK+DdxGSJ4DCHq9bxHWMx6VuFZSr7cdQYB+eamGSZonaa6Z\n9SIk0NPLlJ0m6WRgW4LS7+U4SSrJEbGOA4BTov6PmDCPBZ4kDMnCsgq+Qv1eTqPnOI7jpEgaSbMa\nvd6DBAtOMb3eK/HnQr3eHwg7jBTT6+1mZo8QepFdzKxvqcaZ2YDYhhsk/ancB4lDtJcTZAWnkh+N\nAkDSK5L2IQgSPkNC9iDpckLPeDsz256g0esdD/eKnzXHNELcHMdxnBRJ45lmlvV6axFEAsdUkiGY\n2e6Enu5Vkp4vUeZFQg9xPvA34MjYez4vJtOFhL0zFxM0ersBE4FdCcagHH1Y/kZjGZYsXuQaPSez\n+HfTySL1aBfTSJpZ1uudRhgWHWFmI+L5uwH7xTYuFRxIupswqaccpwM3E55tDgFOkDTZzF4ws6di\n/X+V9LiZTQSuN7O/ERLpAYl6BhN6siV5+fn/89lwkdTVcRki9VikoNErReqxyBAei/qpKDdoBK2k\n16vyWiMkVWNQKnZuX2CMpD0rFHW5QcQXbudJOxYuN8gmHos8tcoN0nimCUGvd0xK187xQjUJM1JS\nr1cN9SbMyIlU6GU6juM4HUMqPU2nIXhPM+J30XnSjoX3NLOJxyJPs/Q0HcdxHKfpaOhEoFbR5ZnZ\nLoRZt68BoyS9FrdHGw10IczoHR4n+exBEBMsBEZLurZIffsCpxAmAt0k6TIz6wxcAXyVMBHocEmv\nm9mRwBRJD5f7TJMnT/YH+xFXhOVJOxau0csmWYjFgAHr0a1bt1TbUA+Nnj3bCrq8TQlJ8G6CxOAe\nM9uQsDXaZZLGmdnOwMiovxsFbAF8BEwws3GSpifq60LYWm1zYB7wipndBGwHdJc0xMwGAxcRZAzX\nAveb2aOSFpf6QBtvuiVD9ju3xjA4TmNxjZ5TjI/mTOfSn+3JF76wQeXCGaNhSbOFdHlrADMJ6ySf\nkGTxeieRN/isRNDhfQl4TdKcWOYJgt0ody0kLTKzDaMVaC1CT3UBwYQ0PpZ52sy2SJR/nuCeLdkb\ndo2ek2X8u+m0Co18ptkSujyCnegp4GTgwtgLRNJMSQvNzIALgDMJazznJM4t1OHlrr/YzPYhbPD9\nCKHH2ZtgBcqxKA7Zgmv0HMdxMkEjh2er0eVBsAMV0+XltsIq1OXtQEguxXR52+aSGlGXJ2lWscZF\nXd7tBNlBSV1elKyfZ2bT4ue5zsx2lDQttuVy4CBJU6Jbtlfi9F7A+2Z2NrAN4cZgJ0mLJd1uZncA\nYwg3Ex8UnNs5MRw7DfhmqTY6juM0G3379qRfv16VC2aMRibNVtHlHQR8JdY/CXgPWDU+17wE2EXS\nW4k2bBCfk84j9KQvkHRbor7eZnYXMFTSAjObBywiaPT2AG4xs61iTHL0JcTTcRynJZg1a24mlr3U\nmrgbmTRbQpdH6I3uBuxI6BE+ImmSmf2J8CzzhjBCyyRJR8ebgPsIQ9+/lzSt4PN/EOXyj5vZp8CL\n5Hc6GWpmE+LPP0icNpiwXVhJ3D3rZBn/bjpJ6nG+ZoWGyg1aSZdnZsMICfPNBjSzXJu6EnrFO+b2\n4yzG5MmTl6Q9hTwruFczT9qx2OrrmwPw96eeTa0NOdKORZbIQiyysuSkVrlBo5ecjADOYfmh1I7k\nhcTwaSVK6vIKep8dyRHAueUSJsCgQYMyMdSRBdx2kicrscjC0oKsxCILeCzqxzV6rYNr9CL+ByFP\n2rFwjV428VjkcY2e4ziO4zQI1+jVqdFLHDsRWEvSqfF1NRq9/YEfxTIvE+LSCdfotQtZUIRlhbRj\n4Rq9bJLVWGTlOWc5XKNXh0YvvG09CIq7/yEaf2IyrqTR6wGcDWwkab6ZjQV2J8zErVujd/CpY1l5\n1TVrDIPjNBbX6DnV0ixqPdfo1anRi20cQ5jZumF8r6JGD5gPfF3S/Pi6a3xve9qg0Xvx/t8ydPjo\nMh/DcdLDNXpOq+Aavfo1eu9LeqCgbG8qaPQkLZE0A8DMjgdWifW4Rs9xHCfjuEavDRq9IsXnUFmj\nt2OMw28IveJ9Y1nX6DmOs0LTDGo91+jVqdEjJLJCKmr0Yp1XE4Zk906sv3SNnuM4KzRpqPVco9dB\nGr2Cj7UknvdpJY2emW0GHAY8DjwcFXyXAHfgGj2nRfHvplOJZlHruUZv2bJNq9Hr37//kltvHddx\nDcswWVCEZYW0Y+EavWyS1VikseTENXrLs0Jo9N5++203fETcdpInK7HIwjKCrMQiC3gs6sc1eq2D\na/Qi/gchT9qxcI1eNvFY5HGNnuM4juM0iEYPzxYlq3q9xLmDgfMk7dDGNvQBjiXIGa6UNDq+fyww\njDCB6EJJt0RT0B8I5rEPgWGS3jOzXwF/lvRqsWvkcI1enqwqwtIg7Vi4Ri+brEixaO/npKkkTbKr\n18PMTgYOAsp+o+Is3r5FBAdJRhNmxT4G7Gpmiwg6vqOATYAewCsEwcLRwIuSzjKz/YBfACcCFwNj\nCUagkrhGz8kirtFz0qQRar4OT5oZ1+tBkLLvA9xY4aP8B9jPzM4k6O2uk/RuQZk1gX8C6wPfz03m\nMbOvSVocl8x8HMtuTX6Jzr0E3y2S5pjZx2a2saSXSzVm5VXXdFWZk1n8u+m0Cmk808ysXi+26XbK\nu2hz5aZJOhnYliByf9nMCnuDRxAUfQcAp5jZZ+K5i+MQ7ZOEIVlYVsFXqN+rqNF76pYzyh12HMdx\n2oE0hmczrderhThEewQwCDiV/GgUAJJeAfYxs5GxrecTtgRD0uXRDDTezP4W2947ntorftYc0wC/\nVXccx6mR9lbzpZE0M6vXqwUz253Q071K0vMlyrxI6CHOB/4GHBl7z+dJ2ofQo/0EWEzQ6O0GTAR2\nJRiDcvRh+RsNx3EcpwKV1HxZ0uiVIst6vSRLrxNtQMsIDiTdTZjUU47TgZsJzzaHACdImmxmL5jZ\nU/Eaf5X0uJlNBK6Pvc5PCEO6OQYTerIlcY2ek2X8u+mkQSPUfKnIDVpJr1fltUZIOqvOc/sCYyTt\nWa6ca/TyZFURlgZpx8I1etlkRYpFpSUnWdPolaJl9HrVUG/CjJxIhV4mQNeuXTOhKssCbjvJk5VY\nZOG7mZVYZAGPRf24Rq91cI1exP8g5Ek7Fq7RyyYeizyu0XMcx3GcBtHQ4dlW0eWZ2S6EWbevAaMk\nvWZm6xKMP10IM3qHx0k+exDEBAuB0ZKuLVLfvsAphIlAN0m6zMw6A1cAXyVMBDpc0utmdiQwRdLD\nhfUkcY1enhVJEVaJtGPhGr1sUkss0tiuK8s0+plmK+jyNiUkwbsJEoN7zGxD4CzgMknjzGxnYGTU\n340CtgA+AiaY2ThJ0xP1dQFGApsD84BXzOwmYDugu6QhMZlfRJAxXAvcb2aPSlpcqp2u0XOyiGv0\nmptGaOianYYlzRbS5a0BzCSsk3xCksXrnUTe4LMSQYf3JeA1SXNimScIdqNbc5VJWmRmG0Yr0FqE\nnuoCgglpfCzztJltkSj/PME9e1epRrpGz8ky/t10WoVGPtNsCV0e8CDwFHAycGHOLCRppqSFZmbA\nBcCZBPXdnMS5hTq83LUXm9k+wPOEm/F5hDWkydkSi+KQLVSh0XMcx3EaTyOHZ1tClxcl6+eZ2bT4\nea4zsx0lTYttuRw4SNKU6JZN6iV6Ae+b2dnANoQbg50kLZZ0u5ndAYwh3Ex8UHBu58Rw7DTgm+Xa\n+dQtZzB0+Oi2fFTHcZzlaG8NXbPTyKTZKrq8g4CvxPonAe8Bq8bnmpcAuyTWe04CNoj7aM4j9KQv\nkHRbor7eZnYXMFTSAjObBywiaPT2AG4xs60IMcnRlxBPx3GcDqWShq7ZyZJGryV0ecDtBCfsjoQe\n4SOSJpnZnwjPMm8II7RMknR0vAm4jzD0/XtJ0wo+/wdm9gfgcTP7FHiR/E4nQ81sQvz5B4nTBhO2\nCyuJa/ScLOPfzeakERq6ZqehcoNW0uXFhPqIpDcb0MxybeoK3A/smNuPsxiu0cuzIinCKpF2LFyj\nl01qiUWrLznJmkavZXR5Bb3PjuQI4NxyCRNco5fEbSd5shKLLHw3sxKLLOCxqJ+GJk1JM0g3YVJD\nwkRS5saQJF2Zdhscx3GcgLtnHcdxHKdK3D3rOI7jOFXiSdNxHMdxqsSTpuM4juNUiSdNx3Ecx6kS\nT5qO4ziOUyWeNB3HcRynShotN3DakVIbVSeOV9wAu1WoIhb7Az8ixOJl4JhKgohmpVIsEuWuBmZK\nOrWDm9hhVPG9+B/CXrWdCPrOQyQtSKOtjaaKWOwNnEZQiY6WdFUqDe1A4oYe50naoeD9qv92ek+z\nudgL6CZpCPBzwi8/AGa2EmED7KGEDa2Hm1kr70pdLhY9gLOB7SVtQ9iebfdUWtkxlIxFDjM7krAT\nUEveOCQo973oRNiT91BJ2xJ81uun0sqOodL3Ivf3YmvgJDNbbhvDVsLMTgauoWCHrFr/dnrSbC62\nJorbJT0NbJE4tnQDbEmfArkNsFuVcrGYD3xd0vz4uithk/BWpVwsMLMhwJaETQ1q8mw2IeViMYiw\nofxP4sYOq0lSh7ew4yj7vQA+JexE1YPwvWj1G6rXgH1Y/negpr+dnjSbi3IbVfemig2wW4iSsZC0\nJCocMbPjgVUkPZhCGzuKkrEws88RHNDH0foJE8r/jqwBDAF+C+wE7Bj3xG1VysUCQs/zWeAfwF2S\nkmVbDkm3E4ZfC6npb6cnzeai3EbVc1h+A+w27yeaYcrFAjPrbGYXErZ027ejG9fBlIvFdwnJ4q/A\nKcABZnZIB7evIykXi5mEHoUkLST0wgp7X61EyViY2bqEG6n1gIHAWmZWuKfxikJNfzs9aTYXEwh7\ne1Jko+qlG2CbWTfC8MJTHd/EDqNcLCAMRXYH9k4M07YqJWMh6beStogTH84Dxkq6IZ1mdgjlvhf/\nAli4RVsAAADbSURBVHqa2Rfi620JvaxWpVwsPgMsAj6JiXQ6Yah2RaSmv50ubG8i4kSG3Gw4CBtV\nbw70lHSNme1OGIrLbYDdsjuklIsF8Ez893jilEsl3dmhjewgKn0vEuWGASbptI5vZcdQxe9I7uah\nEzBB0o/TaWnjqSIWPwYOIMwBeA04IvbAWxYzG0i4cRwSZ9jX/LfTk6bjOI7jVIkPzzqO4zhOlXjS\ndBzHcZwq8aTpOI7jOFXiSdNxHMdxqsSTpuM4juNUiSdNx3Ecx6kST5qO4ziOUyWeNB3HcRynSv4/\nRFGBEyBbwiUAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "pyout", - "prompt_number": 157, - "text": [ - "" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "png": "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\n", - "text": [ - "" - ] - } - ], - "prompt_number": 157 - }, + "output_type": "display_data" + } + ], + "source": [ + "def ticket_price(fare):\n", + " if fare < 10:\n", + " return \"< $10\"\n", + " elif fare < 20:\n", + " return \"$10-20\"\n", + " elif fare < 30:\n", + " return \"$20-30\"\n", + " else:\n", + " return \"> $30\"\n", + " \n", + "train[\"TicketPrice\"] = train[\"Fare\"].map(ticket_price)\n", + "pd.pivot_table(train, index=[\"Sex\", \"Pclass\", \"TicketPrice\"], values=[\"Survived\"]) \\\n", + " .plot(kind=\"barh\")\n", + "plt.axvline(x=0.5, linewidth=2, color='r')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ok, this is now meaningful. The groups with survival rate > 50% are:\n", + "\n", + "* Women in 1st and 2nd class.\n", + "* Women in 3rd class that paid $20 or less." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "test = pd.read_csv(\"titanic/test.csv\")\n", + "\n", + "test[\"Survived\"] = 0\n", + "test.loc[test[\"Sex\"] == \"female\", \"Survived\"] = 1\n", + "test.loc[(test[\"Pclass\"] == 3) & (test[\"Fare\"] > 20), \"Survived\"] = 0\n", + "test = test[[\"PassengerId\", \"Survived\"]]\n", + "test.to_csv(\"titanic/genderclassmodel.csv\", index=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Cleaning data\n", + "\n", + "To do any better than this, we'll need to clean up our data. We'll need everything to be numerical so we can use them as real features.\n", + "\n", + "Let's turn all the strings we might use into numbers." + ] + }, + { + "cell_type": "code", + "execution_count": 160, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "train['Gender'] = train['Sex'].map( {'female': 0, 'male': 1} ).astype(int)" + ] + }, + { + "cell_type": "code", + "execution_count": 161, + "metadata": { + "collapsed": false + }, + "outputs": [ { - "cell_type": "markdown", + "data": { + "text/plain": [ + "array([[ 35. , 28. , 21.5],\n", + " [ 40. , 30. , 25. ]])" + ] + }, + "execution_count": 161, "metadata": {}, - "source": [ - "Passenger class definitely mattered. The survival rate for women in 3rd class is under 50%.\n", - "\n", - "What if we added in the price of the ticket? This will work best with discrete values, so we break it into tickets less than \\$10, tickets between \\$10 and \\$20, tickets between \\$20 and \\$30, and tickets over \\$30." - ] - }, + "output_type": "execute_result" + } + ], + "source": [ + "# Get the median age of passengers by sex and class, for filling in missing ages.\n", + "median_ages = np.zeros((2,3))\n", + "\n", + "for i in range(0, 2):\n", + " for j in range(0, 3):\n", + " median_ages[i,j] = train[(train['Gender'] == i) & \\\n", + " (train['Pclass'] == j+1)]['Age'].dropna().median()\n", + "\n", + "median_ages" + ] + }, + { + "cell_type": "code", + "execution_count": 162, + "metadata": { + "collapsed": false + }, + "outputs": [ { - "cell_type": "code", - "collapsed": false, - "input": [ - "def ticket_price(fare):\n", - " if fare < 10:\n", - " return \"< $10\"\n", - " elif fare < 20:\n", - " return \"$10-20\"\n", - " elif fare < 30:\n", - " return \"$20-30\"\n", - " else:\n", - " return \"> $30\"\n", - " \n", - "train[\"TicketPrice\"] = train[\"Fare\"].map(ticket_price)\n", - "pd.pivot_table(train, index=[\"Sex\", \"Pclass\", \"TicketPrice\"], values=[\"Survived\"]) \\\n", - " .plot(kind=\"barh\")\n", - "plt.axvline(x=0.5, linewidth=2, color='r')" - ], - "language": "python", + "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", + "
GenderPclassAgeAgeFill
5 1 3NaN 25.0
17 1 2NaN 30.0
19 0 3NaN 21.5
26 1 3NaN 25.0
28 0 3NaN 21.5
\n", + "
" + ], + "text/plain": [ + " Gender Pclass Age AgeFill\n", + "5 1 3 NaN 25.0\n", + "17 1 2 NaN 30.0\n", + "19 0 3 NaN 21.5\n", + "26 1 3 NaN 25.0\n", + "28 0 3 NaN 21.5" + ] + }, + "execution_count": 162, "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "pyout", - "prompt_number": 158, - "text": [ - "" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAc0AAAD9CAYAAADeSCwEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXncXdPZv68MkoYkJISWhGgrt7a0plc0KEooRQ1t/YxR\nJWbVaikqLUooYuhrKBpBpa25QWOeKtQbs5Z8Eyo1NJpIIiREZPj9sdbJ2Tk58/OcZ+9zcl+fTz6e\nc/baa69zO89z77X2WtfqtGTJEhzHcRzHqUzntBvgOI7jOM2CJ03HcRzHqRJPmo7jOI5TJZ40Hcdx\nHKdKPGk6juM4TpV40nQcx3GcKumadgOc9mHhwkVLZs/+KO1mZII+fVbGYxFIOxb91uwNwIzpH6TW\nhhxpxyJLeCzy9OvXq1Mt5TObNM1sdeAcSUe1oY53JX22xnO+DFwdX04BDpe0qA1tGAycBCwGfiPp\nOTNbBRgLrAYsAIZJ+o+ZbQVcAiwE7pd0lpn1AK6UdGi56wwcuB633jqu3ma2FH379mTWrLk1nTNg\nwHp069atQS1Kj65du6TdhMzgscjjsaifzCZN4NfA/7axjnrMDecAP5f0hJldB+wB3FmsoJkdADwp\naWqJ458FriUkwpWA28zsa8APgImSfm1mw4CTgROBq4C9Jb1hZveY2SaSXjCzJ83sEEk3lGr0jNlz\nOfXqv9fxcZ2P5kzn0p/tyRe+sEHaTXEcJ+NkMmmaWW9gC0n/iK9fAyYAg4CHgFWBLQFJOsTMNgIu\nAroAawBHS3oqUd/GwKVAJ2AmcJikUuNF+0pabGbdgM8C75dp6rvARWbWHbgOGCfp08Tx3sAnwFvA\nJ5LWj+9fama558nrAbPNrBfQTdIb8f37gJ2AF4CbgXuBkkmzU+cu9OyzTpmmOo7jOG0lqxOBtgKU\neL0ecDqwLXACcLmkwcA2ZrYq8GXgJEk7AecTenJJrgGOkbQDMJ7QsytKTJjrAv8AVgdeKlP2YUn7\nAocBuxCSY/L4ZELvcSRwupl9q+A6DwHHEnqyqwLJRP5hfA9J7wNrxMTqOI7jpEQme5qEZPXfxOuZ\nkt4GMLN5kibF9+cA3YH/AGeY2cdAr/h+ki8BV5oZhGHSyeUuLulNYJCZ/RAYBRxarFzsYe4DHEzo\nwX6vSF3XmtkUYABwpplNl/RcPLajhUbdA2wa256jN8v2cv8L9CUkU6ed6du3J/36teY9SRY+Vxba\nANlpRxbwWNRHVpPmdMIkmRzlnk12Igy9Hihpkpn9ChhYUGYScLCkt83sG4SkXBQzGwf8RNJrwFyg\n3CSgC4CpwEGSZhWp6xvAcEJP921C73ktMzsVeFvSjcA8YKGkD81sgZl9HngD2Bn4VaK61YAZZdri\ntIFZs+YyY0br3Y/069cr1c/VL/43C7FNOxZZwmORp9abh6wmzb8ThllzLKnw8x+AW8zsLeAZ4HMF\nx48GbjSzrvG9wwDM7JE4ZJtkJDDGzBYQEtrhsewfgRMlLe0BSzqhwud4AtiPMKlpCfCqpPFm9ixw\nvZkdRngOmxtOPgq4Kb53n6SJ8dqrAe9LKjlH/Gs7H8/c2e9UaI5TjI/mTE+7CY7jNAmdsro1mJld\nCfxO0gsNvMbFkn5cZdlzCEtgal7cZGbbAUskPV7rufH8YwhJc2ypMpMnT15S6zKLVsWXnORJu0eR\npXWaaceio1iwYAFvvfXvsmVq/R1p1d8PaKF1msAIwvKP4Q28xkU1lL2qnoQJIOmxes4DiOs0h0g6\nqFy5QYMGrRB/EKphRfnj6DjFeOutf/OjC8ax8qprtkt91S7JuvHGMTz77P+xcOFCOnfuzLHHnojZ\nhnVd87LLLmK//Q5krbVqWma/lFGjzmeHHXZi0003r+v8cmQ2aUqaQWMTJrnJRVWWfatyqfZH0sdA\n2YTpOI6TZOVV1+zQJWhvvPEvnnzyca68cjQAU6ZM5pxzfsWYMSUHx8pywgkntak9nTrV1Hmsiawu\nOXEcx3GahJ49e/Lf//6Xu+/+CzNmTGeDDQZxzTXXc9xxw3nzzTBUfOedtzJ69NW8++40DjlkP44/\n/kjGjr2Bgw7KLzoYNep8Hn/8UY4//kjefHMqhx9+CO++Ow2ARx55kEsvvYh58+byi1+czAknHMUJ\nJxzFv/712tL6DzvsQH7yk+OZMqXsAok2kdmkaWarm9lVbazj3TrO+bKZPRH/XWdmbfJNmdlgM7vZ\nzP5kZpsVHNvbzG5KvN7KzP4erz0ivtfDzMa0pQ2O4ziNpF+/NTnvvIt4+eUXOeqowzjwwO8yYcLj\nBT2+/M+zZs3i4osv54ADDuELX/giL774PAsWLOD5559l6623XVpu99335N577wFg/Pi72XPPvbn+\n+tFsscWWXHbZVfzsZ6dx4YXnMXv2bG6++Y9cffX1XHjhpXTq1Klhvc3MDs/SBBq9JHGG60GS/jfx\nXqFG73Yz2zguL7mUsKzk+UQ1VwL71KPR69+/f+bcs608ecBxnDzvvPM2q6zSk1NPHQHApEmv8tOf\nHs/qq/dbWiY56fRzn1ubrl1D+tljj70ZP/5uZs6cyTbbbEeXLrl+SieGDv0WxxxzBLvvvhfz5s1j\n/fU/z7/+9RrPP/8MDz30AAAffvgB77zzFuutt/7SOjfe+Gs0apJrJpNmE2n0MLOtCctS1iMsF0lS\nqNEbmDg2AbgDODLxmbvXq9HLmnvWfa6Os+Lw2mtTGDfuDs4/fxRdu3ZlwIAB9OzZm9VWW4333pvB\nuuuux+TJk+jXL0xO6tw5P8i5xRZbcsUVlzFjxgxOOumUZepdZZWemG3IZZddxLe/vScA6623Phtu\n+CWGDv0WM2ZM54EH7qV//3V5441/8ckn8+nWrTuvvvpPttpqSEM+ayaTJsU1etsTXK+zgC0lHW9m\n/yrQ6P3DzPYnrHt8KnH+NcChUX7wQ4JG7xfFLpzQ6D1ISJglNXpm9mdgHWC4pFeK1DU5DjGPBGaa\nWQ9J98ZjN5vZ9onivVleo/f5WPZ9M1vDzHpJKjot1N2zjuPkaM+1x9XUtd12O/Dvf7/B4YcfQo8e\nPViyZAnHHfcjunTpyqhR57Pmmp+lX79+S4dMC4dOd9hhR555ZiJrr73837A999ybn/70BE4//ZcA\nDBt2GCNHns24cXcwb948fvjDI1lttdUYNuwwjj76cHr37k2XLo1LbZlcpxkT3xaSToqvl27xZWbT\nJH0u/vw8wfk6CDgeWKrRk3RYrqyZzQGei9WvBEyWdFgV7fghsG2pbbnMbANCT3FLQq/xBkkzi5Tb\njqDRO57QC34uvr89cKSk/WNP8ylJX4nHfgR0lXRRfD0BOEBS0QVYn+m1+pKhw0dX+kgdxtzZ7/C7\nn+/EoEGD0m6Kkya5P44Z/DvTqixYsICpU6e2a50DBw5s5UctLbFOsyk0epKmAD+NQ7n7EvbI3CVR\nVzGNXtHFU5I+aDWNXlpqOl+nmSftWLhGLx369Plc2eO1xmLOnE8IT5paD9fodaBGL4ekBcAf478k\nxTR69xa0P/l56tboLVm8KFMaPVfTOY7TimRyeBZco1dwflNq9NKaPbsi9SgqkXYsXKOXTTwWeVyj\nVxuu0XMcx3GqJrM9TadmlnjSDPhddJ60Y+E9zWzischTa08zs0Ygx3Ecx8kanjQdx3Ecp0pSf6Zp\nZqsTJtgc1YY6lq7jrOGcLwNXx5dTgMMlFV1eYmafAY4B9ifM1L1C0qdxPemPgIXAy7FMJ+AK4KuE\nOdqHS3q9oL4uhGUogwizZ4+S9E8z+yIwBlgM/AM4Np5yXSwzv9TnmTx5cs17SKaBq/Ucx2lmUk+a\nNIdjdiTwHvAwwdJzmpmdD5wNbCRpvpmNBXYnyBO6SxpiZoMJk432Kqhvd2CxpG3izNpzYplRwGmS\nHo+zh78j6c5Y98nAWaU+zMabbsmQ/c6tIwwdh6v1HMdpdlJNmk3kmF2TsOZyI0KiXWJmnYCvJ3p/\nXYH5BN3feEKjnzazLQork/QXM7s7vhwIzI4/b5ZYljKeIDi4M8ZiFGWSpmv0HMdxGk/azzSLOWZP\nB7YFTgAulzQY2KbAMbsTQX7wg4L6rgGOicKC8YTeWVESjtl/EAxBJR2zsZ59gYOBX5vZapKWxI2y\nMbPjgVUkPcDyDtlFZrZcnCUtilt+XUZe9J6cxTWXcNNAHDaeHm8KHMdxnJRIe3h2dSBp2Jkp6W0A\nM5snaVJ8fw7QHfgPcIaZLXXMFtT3JeBKM4PomC13cUlvAoOiY3YUcGiJcu8AB5jZWcCbwPXAd2Iy\n/A3wRUJShZAwk16mzkAPM7uHMIz8gKRzY72HmtkpwNPxGevixHm9WLb3O40y+r9moW/fnjVrq+qh\nI67RLGQhFlloA2SnHVnAY1EfaSfNpnDMmtl9wI9jmUeIaj3gd4Qh2b0l5do+gfB89BYz2wp4SdI8\nwrBtrr6Dgf6SRhIk84sICfN5M9suyhB2JQzL5ujDsjcYy5A1jV4xPpozvUN8tL4GLU/asXD3bDbx\nWORpNvdsszhmzyAMo/YjDB3/xMw2i/U/Djwce7eXEHY7GRp3JYHlh5ABbo3XfozQIz4xTiY6Cbgm\nPmd9JZYj9mjXkfRqkboA6NenJyOHb1XqcGYYMGC9tJvgOI5TN6kbgZrJMWtmIySVnIzTKMxsN2CT\n3LBuCdwIFPG76Dxpx8KNQNnEY5GnGY1AIwjrGxtJuzhmU0qYnQjrQy/u6Gs7juM4y5J6T9NpN7yn\nGfG76Dxpx8J7mtnEY5GnGXuajuM4jtMUpD0RqKk1evHYysADBJGC4qSdShq9lYDRhHWp3YFfS7pr\nRdDodQSzZ/esKRau9nMcp1pST5o0p0bvdOBX0fZzFbB2og17Ad0qaPQOBGZIOtjM+gAvAHfRBo3e\nwaeOZeVV16wxBI6r/RzHqQXX6NWp0YvvdyMkxBsTZbcG7oXSGj3gFuJyEsIQ+afx57o1ei/e/1uG\nDh9d5iM4juM4bSXtZ5pNq9GLdTyZMxglqKjRkzRP0lwz60VInr+Ih1yj5ziOk2HSHp5tao1eiWqr\n0uiZ2QDgdsKNwZ9i2ZbX6GWRjlL7pUUWPlsW2gDZaUcW8FjUR9pJs1k1ekeUaWc1Gr21gPsJveJH\nEue2tEYvi3SU2i8t0l5a4Bq9bOKxyOMavY7R6JWzC1Wj0TuNMPQ6wsxGxPd2BVpeo9cR9O1b++xZ\nx3GcakhdbuAavaraVFGjN3DgwCUTJ77cga3KLn4XnSftWLjcIJt4LPI0o9zANXplqFajN3Xq1A5p\nj+M4zopM6j1Np91wjV7E76LzpB0L72lmE49FnmbsaTqO4zhOU5D2RKCSpKjX24Qw6WcRQYN3iKTp\nbWjDYMIEn8XAbyQ9Z2arAGMJM4cXAMMk/SfOtr0EWAjcL+ksM+sBXCnp0HLXcY1enmIaPVflOY7T\nHmQ2aZKeXu8S4DhJL5nZcOAUQtJbDjM7AHhS0tQSxz8LXBvrXAm4zcy+RphRO1HSr81sGEGecCJB\nybe3pDfM7B4z20TSC2b2pJkdIumGUo12jV5pXJXnOE57kcmkmbJeb7/EcpOVgI/LNPVd4CIz606Q\nqo/LidwjvQm91beATyStH9+/NGEJWg+YHe1A3SS9Ed+/D9iJ4KW9maDmK5k0V151TXr2WadMUx3H\ncZy2ktVnmmnq9f4LYGZDCLuMlJy1KulhSfsS1oPuQkiOyeOTCb3HkcDpZvatxLHFZvZQvMadhBuB\nZCL/kLxG731gjZhYi/LULWeUOuQ4juO0E5nsaZKyXs/M9iMICHaTNLNMue7APgQn7Uzge4VlJF1r\nZlOAAcCZZjZd0nPx2I4WGnUPsCnL6vd6s6xG779AX0IydWqk1VV55cjC585CGyA77cgCHov6yGrS\nTFOvdxAwHNhe0uwK7bwAmAocJGlWkbq+Eeu6Bnib0Htey8xOBd6WdCPBRrRQ0odmtsDMPg+8Qdjh\n5FeJ6lYDZlRoj1OCVlbllSPtpQWu0csmHos8zabRK0Uqej0z60JIwP8Gbo8900clnVlMryfphAqf\n4wlgP8KkpiXAq5LGm9mzwPVmdhjhOWxuOPko4Kb43n2SJsZ2rQa8X0q6AO6eLcdHc+qe/Ow4jrMM\nmZUbNJNer4pztwOWJPbKrPX8YwhJc2ypMv37919y663j6qm+5Sjmnl1Rl5yk3aNwuUE28VjkqVVu\nkNWeJgS93jmE4c1G0S56vUrEXUvqIq7THCLpoHLlunbt6ksqIv4HwXGcRpHZnqZTM67Ri3jSzJN2\nLLynmU08Fnlco+c4juM4DaKm4Vkz61PFjNJ2oZU1eoljewPflXRgfF23Rs9xHMdpPFX1NM1sEzOb\nBLxkZgPM7HUz27zBbUtbo7cDcDtBo1cRM1vNzI4reC+n0bsPeJQwI7dXPHYpcC5hyUyOK4H9JW0D\nDI4avY+BJ83skHLXnzy57NJTx3Ecpx2otqf5W8Ii/pskvWVmRxL+wG/ZiEY1kUYPM9saOJxgLbqp\n4HChRm9g4tgE4A7gyMRn7l6vRs9xHMdpPNU+01xZ0iu5F5IeJJh4GkVTaPTM7M/xehdI+qak3xfU\nVU6jd3NBdb1pg0bPcRzHaTzV9jRnxmd9AJjZgcByBpx2pCk0esAvCD3Fq8zsDuCGwvLlNHoFfEAb\nNHrf/OY3efvtt8t9rBUKV4TlyUIsstAGyE47soDHoj6qTZrHANcDXzazOcAU4MCGtapJNHqSpgA/\nNbNuwL6EPTJ3SdRVTKNXdP8uSR+0VaPnU8gDPp0+T9qxcI1eNvFY5Kn15qGq4VlJrxGeaa4OrEuY\nrKLyZ7WJvwNfS7yuVqP3V8JnKqXR+xthgtHLEDR6yYsmNHo9CZN2HjGzX8ZjfzSztYo1VtICSX+U\ntEvBoScIvd5fA2cBH0u6t6D9yc+T0+g9DTxXi0bPcRzHaTxVyQ3M7ATgB5I2NbOBhEkpF0v6XaMa\n5hq9Zc6vqNEbOHDgkokTX66n+pbD76LzpB0LlxtkE49FnkbJDY4EtgGQNBXYDDi+ppbVzgjCsHAj\n6TCNXhsSZk6jVzJhOo7jOB1Dtc80uwILEq8XEBbrNwxJM2isd5bc5KIqy75VuVT7E9dplvXOOo7j\nOB1DtUnzTuDhuMSiE+H5pm+pkSGmTp3qwy2O4zgNpqqkKekUM/se8A3gU+BSSXe2RwOaQZdnZp8h\nDBXvT5h0dIWkT81sf+BHBO3dy7FMJ+AK4Kux3sMlvV5QXxfCjNpBhIlAR0n6p5l9ERhD6MX/g7BO\nFOC6WGZ+qc8zefLk5bbDanZW1O28HMfJLmWTppltJum5OJFlOnBr4tg36n1OV0DauryXzGw4QZd3\nUomyI4H3gIeBzwOnmdn5wNnARpLmm9lYYHfCOtDukoZE7+xFwF4F9e0OLJa0TYztObHMKOA0SY/H\niVDfkXRnrPtkwgzcohx86lhWXrXoapam5KM507n0Z3v6dmeO42SKSj3No4EjgDMpnph2aMvFm0iX\ntyZh+chGwM8lLTGzTsDXE72/rsB8YHuCdQhJT5vZFoWVSfqLmd0dXw4EcutBN0vciIwnrNW8M8Zi\nFGWS5sqrrknPPuuU+QiO4zhOWymbNCUdEX/8s6QrG3D9Yrq87YF3CcahLSUdb2b/KtDl/SMOjf4A\neCpx/jXAoVFy8ENC7+wXxS5cRJe3bZl2ngxcQEjg3czsgqi2mxHrOB5YRdIDZvZ9ltXhLTKzzpKW\nmTglaZGZjQH2JogRYFl5+1zyGr1FZjbdzDaW5OtKHMdxUqLaiUDHEQTt7U1T6PIkvQMcYGZnAW8S\n7EjfMbPOwG+AL5JPfIU6vM5ADzO7h9Bbf0DSubHeQ83sFOBpM/syy85I7sWyGr1plDEZtSJ9+/as\nW/XlirA8WYhFFtoA2WlHFvBY1Ee1SfMtM3uYYKrJDUcukVRyuLBKmkKXZ2b3AT8mTBp6hLCrCcDv\nCPHYW1Ku7ROAPQiGoq2AlyTNI/Sgc/UdDPSXNJIwLLyIkDCfN7PtJD0G7EoYls3Rh2VvMJbhqVvO\nYOjw0eU+RtMxa9bcumYE+8LtPGnHwjV62cRjkafWm4dqk+bf43+TSa0mi0KZes9PvK5Wl/cW8Ayl\ndXld43uHQdDlxR1OiK9zurx/E3R5AI9KOtPM/gicmHjeCXAGYaZtP8Iw7k/MbLNY/+OE5TgQJhfd\nAQw1swnx3MIdVyBMqBpjZo8ResQnxslEJwHXRJftK7EcsUe7jqRXi9QVArB4EXNnv1PqcNPx0Zy6\n9/12HMdpGBU1ema2BqFH90oj3KfNpMszsxHt0LuuGTPbDdgkN6xbjP79+y+59dbWWjpb75ITv4vO\nk3YsXKOXTTwWeWrV6FVacvI9whrBuUBnM/u+pEfrb15RRhCWXDTS/tMuuryUEmYnwvrQsvHp2rWr\nL89wHMdpMJWGZ88A/kfSq2a2C2Grqu3bswGuyytPfFZ6cNrtcBzHcSoL2xfnnqNJuo8VbPam4ziO\n4ySp1NMsfOC5sL0b0MwavXhsZeABgkhBcdJOJY3eSsBowrrU7sCvJd3VFo2eu2cdx3EaT6Wk2TMu\n3YAwWzb3uhNt2B+ygGbU6J0O/Crafq4C1k60YS+gWwWN3oHADEkHm1kf4AXgLtqg0XP3rOM4TuOp\nlDTfISj0Sr1eYTV68f1uhIR4Y6Ls1oRNuktq9IBbyHt8OxMk+NAGjZ67Zx3HcRpPJY3e9gBm1lfS\nrOQxMxvYDtdvao2epCdjHcmyvamg0YuyA8ysFyF55tpYt0bP3bOO4ziNp9KSkwGEntA9ca1gjpWA\ne4AN23j9ptbolShelUYvxvZ24HJJf4plXaOXwDV67UMWYpGFNkB22pEFPBb1UWl49ixCz29t4LHE\n+wuBu4udUCPNqtE7okzxajR6awH3A8dIeiRxbt0avVbENXptJ+1YuEYvm3gs8rSrRk/SDwDM7OeS\nzmtDu0rRrBq9cnahajR6pxGGXkeY2Yj43q6EiUh1afSe/PNpDNmvpDCo6XCNnuM4WaSiRg/AzLoD\nPwUMOCH+O0/SgrY2wDV6VbXJNXo14HfRedKOhWv0sonHIk+7avQSXE7YO3JzwtDsBsDvaR9TjWv0\nyuAaPcdxnOxQbdLcXNKmZvYtSXPN7BDC4vs24xq98rhGz3EcJztU0ujlWByfs+VYg2VnejqO4zhO\ny1Nt0rwUeBD4rJldCjxLMOo4juM4zgpDVcOzkm4ws2cJBqDOwO600/BsKdJy0ibOvRiYJOl39V4/\n1jOYMCt2MfAbSc+Z2SrAWMJymwXAMEn/iUtULiE8N75f0llm1gO4UtKh5a5z//338/rrU9rS1JZh\n9uyeLacUrIQrBx2nY6gqaZrZ0ZKuBP4ZX3+NYOIZ3MC2peKkNbN+wA2EyU4ll3jEsgcAT0qaWuL4\nZ4FrCYlwJeC2GLsfABMl/drMhhGMQycSPLZ7S3rDzO4xs00kvWBmT5rZIZJuKNWWVtPoOdXjykHH\n6TiqnQh0YNyZ42qC8OAg4OeNalTKTtpVgF8S1k1Wmor8LnBRXJJzHTAut/tJpDdhp5O3gE8krR/f\nvzSuvYSgDpwdlXrdJL0R378P2Ikgc7+Z4LMtmTRdo+c4jtN4qk2aOxOUb6cAfwW+Usmi00bSdNJO\nBaaa2a6VGinpYeBhM1uT0DO+HPhs4vhkM7uKsEvKTDPrISknc19sZg8RJPA7E24Ekon8Q8KOKkh6\n38zWMLNeknxxlbMc5ZSDWdClZaENkJ12ZAGPRX1Ucs8OIz/EeRuwCUEkvoeZUW64sI2k6qStltjD\n3IewJGQm8L3CMpKuNbMpwADgTDObLum5eGxHC426B9iUZZ21vVnWPftfoC8hmTrOMpRSDqa9iN01\netnEY5GnXTV6hIk/yeeC9xImr+SUdI1Kmqk5aWvkAmAqcFDhLjAA8VrDCT3dtwm957XM7FTgbUk3\nAvOAhZI+NLMFZvZ54A1C7/NXiepWIwgmiuLauRUX/3/vOB1HJffsobmfzWyzOPNzNYLs4KHSZ7aZ\nVJy0RVh6rWJOWkknVPgcTwD7EYZulwCvShofZyJfb2aHEZ7D5vy0RwE3xffukzQxXns14P1SpiKA\nd56+llbT6NVL374r5uxZx3EaT7Xu2fMIiXKoma1NWC7xmKRfNqphzeSkreLc7YAliQ2maz3/GELS\nHFuqzMCBA5dMnFh0q80VDh96ypN2LNw9m008Fnlqdc9WKzfYA/gWgKT/EGZ17ltb02pmBHBMg6/R\nLk7aSkh6rA0JswcwpFzCdBzHcTqGamfPdgFWJj8JpTsN1ui5k3bpdT8mLPFxHMdxUqbapPk74Fkz\nG0eYeLMrbRcPOI7jOE5TUdXwrKSLCb2daYSNmw+UdEUjG2Zmq8c1jm2p4902nHuxmR3ZluvHegab\n2c1m9icz26zg2N5mdlPi9VZm9nczeyK3ObWZ9TCzMW1th+M4jtN2yiZNM9sj/ncYsCHwHmEN5Ffj\n9mCNJDWNnpmNJzzHrfp8M1vNzI4reC+n0bsPeBS4PZp/iOL7c1nWOnQlsL+kbYDBUaP3MfBkpXjf\nf//91TbVcRzHqZNKw7NbAHex/HrNHA1Zp9lEGj3MbGvgcIK16KaCw4UavYGJYxOAO4AjE5+5e70a\nPcdxHKfxVEqaq8Oy6zU7iKbQ6JnZn4F1gOGSXilSVzmN3s1mtn2ieG9co+c4jpNpKiXNrTukFcvT\nFBo9QuI9ErjKzO4AbpA0M1mgnEavgA9oo0bPXZJ5PBZ5shCLLLQBstOOLOCxqI9KSbObma1b6qCk\nN9u5PTmaQqMnaQrwUzPrRli3OhbYJXe8hEav6P5dkj5oi0YPsuH3zAK+cDtP2rFw92w28VjkaW/3\n7AbAY2WOr1/mWFtoCo1eDkkLgD/Gf0mKafTuLag/+Xnq1ugNGjTIfwkcx3EaTFmNnpk9L2nTDmxP\n8tqu0cuf7xq9GvC76Dxpx8I1etnEY5GnVo1etXKDNBgBnENjrUAdptGr5zxYRqPnViDHcZyUqZQ0\nL+uQVhTBNXpLr+saPcdxnIxQaWuw60odi+KDRcCD8Zme4ziO47Q0bRme3YWw4H534PZ6KzGz1QnP\nCo9qQx2NECA7AAAgAElEQVTvSvpsnedeDEyS9LsyZT5D2HFlf8KkoyskfRrXhP4IWAi8HMt0Aq4A\nvkoQGxwu6fWC+roQZtQOIkwEOkrSP83si8AYggz/H8Cx8ZTrYpn5pdq4cOFCXn99So2fvjWZPXvF\n20+zFKuuulHaTXCclqLupCnpuMqlqiI1XR7BsLMB8GqF4iMJCsGHCcKB08zsfOBsYCNJ881sLOEG\nYiWC2WeImQ0mPDfdq6C+3YHFkraJk4TOiWVGAadJejxOhPqOpDtj3ScDZ5Vq4IzZczn16r/XEgKn\nxfloznRuHNmTPn0+V7mw4zhVUVXSjD2grQjrEK8CNgN+LOlvbbl4E+ny1iQsH9kI+LmkJWbWCfh6\novfXFZhPMBeNJzT6aTPborAySX8xs7vjy4HA7PjzZokZtuMJazXvjLEYRZmkOWS/c+nZZ50KH8Nx\nHMdpC9VuQn0dsADYk5DQfgJc2A7XL6bLOx3YFjgBuFzSYGCbAl3eToR1nD8oqO8a4Ji49nI8oXdW\nFElTJf1fle08mSAvOBj4tZmtJmlJnKyEmR0PrCLpAZbX4S0ys+XiLGlR3L3kMvLO2mTynku4aUDS\nImB6vClwHMdxUqLa4dnPRFfqtcDYOHzYHstVmkKXJ+kd4AAzOwt4E7ge+E5Mhr8BvkhIqrC8Dq8z\n0MPM7iEMIz8g6dxY76FmdgrwtJl9mWU39u7Fshq9abSTychZsciCLi0LbYDstCMLeCzqo9rEt9DM\nvkt4FjfCzPYizJxtK02hyzOz+4AfEz7zI4RdTSBszj0f2FtSru0TCNuK3WJmWwEvSZpHGLbN1Xcw\n0F/SSODjWO9i4Hkz2y6u69yVMCybow/L3mA4TlW4Ri/gC/rzeCzytLdGL8eRwInAsZL+Y2bfJ584\n2kKz6PLOIAyj9iMMHf8kbih9GPA48HDs3V5C2O5rqJlNiOcWDiED3AqMMbPHCD3iE+NkopOAa6LL\n9pVYjtijXUdSyQlLH82ZXubjOSsi/p1wnPanrEYviZmtHRPmNwjLKa6LPag20Uy6PDMbIankZJxG\nYWa7AZvkhnWLMXny5CW+zCLQt68vOcmx2WYbMWfOJ6ld3zV62cRjkachGr24J+QiM7uCMGnlfsLG\n1PuWPbE6mkaXl1LC7ERYH1o2PjvvvDPung34H4Q83bp1IywXdhynPah2eHZLYHPCEo3Rkn5pZs+0\nRwNcl1ee+Kz04LTb4TiO41S/5KRz/Pcd4K9mtgqwcsNa5TiO4zgZpNqe5g2EJQ9PxgX7rwBX13vR\npDrPzI4j6Od+KemWeussco0xwB8l3VfDOUX1dm1oQx+CCu87wJWSRsf3jwWGxWtcKOmWuJvJHwiT\njT4Ehkl6L84S/nO5SUDQPBq9AQPWi0OGjuM4zUdVSVPSKDO7NC6yB9hW0sw2XDepztsb+F5bklMJ\nCjd4roZServlMLPNgb5RaFCK0YTZtI8Bu5rZIuBuwmbTmwA9CLNkbyHM/H1R0llmth/wC8KM5YsJ\nJqZvl2t4M2j0PpoznUt/tidf+MIGaTfFcRynLqqdCLQt8LM4LNsZ6GJm60oaWOsFk+o8MxtOUPL9\n3sz+H2F94/6EZPcnSb+NPcYFBFtQd+BPsdy6hB7cVEKvtz9hCco4SWckrteVsJ7yi7Htvyi1v2UZ\nvV0x/gPsZ2ZnAncRZhO/W1BmTeCfwPrA93NrOc3sa5IWm9nahHWaAFuTX35zL2GZC5LmmNnHZrax\npJIzfTp17uIaPcdxnAZT7TPNawkO1K6EHuIUQg+oHpaq8yRdDbwAHEJ4Rvp9QvL4BrCXmeWGSd+Q\ntAtBrD5Q0reB2wjJcwDwlKRvAYMJvbgcnYAjgBmStiP0Gi8v17gCvd3YMuWmSTqZsG7zLeBlMyvs\nDR5B0AIeAJwSd0shJsxjgScJQ7IQ9Hs5w9GHRIVe5CUScoRifP17Z5c77DiO47QD1T7T/FjSaDMb\nSOh9HUEYcry0jmsWqvMgJLeNCL3Jh+N7qxF2IAF4Lv73ffI7kswGPgPMAv7HzHYgKOy6F9S9EbBt\n3HEEQi+5r6RZpRpYoLf7UtwIejniEO0RhGegpxJsQcl6XgH2MbORsa3nE7YSQ9LlZnY1MN7M/hbb\n3jueWkyh1xLdyL59e3aIvssVYXmyEIsstAGy044s4LGoj6qTppn1JfQQtyIkh37lTylJoToPQm9y\nEvBPSbsCmNlPCD2s7xaULVyIeijwfpxU9EWWX74yCXhb0sg4NHwSJYZdi+jtFrOsDzZZdndCT/cq\nSc+XKPMioYc4H/gbcGTsPZ8naR/CPpyfxGtMAHYDJhIUeo8nqmoZhd6sWXMbvobS12nmSTsWrtHL\nJh6LPI3S6I0CbiZM2nkGOIh8769WCtV5AEh6ycweMrMnCL2yvwPvxMPl9HoPAWNjr+/fwDPxWWHu\n+O8IarpHCT25y+PWXqcALxTMri3U2/1I0idmNiy28fpEe+8mTOopx+mEuK0JDAFOkDTZzF4ws6di\n+/4aBfgTgetjr/MTwpBujsGEnmxJmkGZ1gxtdBzHKUctGr1OMdmsQhiOfFFS0V5YFXU1XJ1XRRv2\nAOZKeqSKshsTJi9dV+e16tbvxR7+GEl7livXLBq9jlhy4nfRedKOhWv0sonHIk+7avTM7LqC18mX\nS4XoddAR6rxKvFCD/WdWvQkT2qzfO5EKvUyAQYMG+S+B4zhOg6k0PPsYITl2ovY1jyXpCHVeFW2o\nWpcX99NMBUkjqik3cOBAd886juM0mLJLTiSNic/xbgN6xZ8fIqx5bDd7j+M4juM0A9VOBBpLmMkK\nYWlEZ+BG6tzlZEXX6MVj/QgzZjeStGBF0eh1BLNn+9ZgOdKORW72bJrfTVc3Ou1JtUlzPUl7AEj6\nADg9Lqeol6bX6CWJ23cNBWZKejZxqFCjt1jSGDPbBTiPMKs2R8tr9JwVj9wsu7S+m65udNqbapPm\nYjP7qqSXAMzsSwS1Xc20kEYPM/scYTLUtwnrMC8pKFJUowcsAnYEkgnWNXpOy+LfTadVqFaj91Pg\nfjN71syeBe4jSALqoSU0enHJykuEpL2tpFMkTSsoVkqj92ARI1GbNHqO4zhO46l2l5MHzWxd4KvA\np+Etza/zmq2i0XsIOA34IbCNmV0j6bmCekpq9IrQJo2eu2cdpzhJdaOr4/J4LOqj0jrNdYDfEibG\nPAH8XNL75c6pgpbQ6En6iDBp6Boz24ygyLsrmoJy9S2n0StWV2SF0Og5TkeTUzf6gv48Hos87a3R\nu46gzbsG2I8wKeUHdbUsT0to9Ara/hzFE+JyGr2C48nPciUtrtFzVlzmzk5nqbP/XjjtTVmNnpn9\nQ9JG8eeVCLM7v9zWi7pGr6ZzW0qj1xH07etLTnKkHYutvr45AH9/6tkKJRtHbsmJ967yeCzytKtG\nj8QMWUmfmtkndbVqeVyjVz2u0asR/4OQJyux8CUfTqtQKWnWlIGrxTV61VOtRs9xHMdpPJWS5lfM\n7I3E67UTr5dI+nyD2uXUiLtnHcdxGk+lpDmoLZW3ii4vGnxOAl4DRkl6LS7BGQ10IfTIh8e9Mvcg\niAkWAqMlXVukvn2BU+K1b5J0mZl1Bq4gLOv5BDhc0utmdiQwRdLDhfUkcY1enrTVcbXimjfHaR7K\nJk1JU0sdM7PPmlkvSeUemDS9Ls/MNiUkwbuBt4B7zGxD4CzgMknjzGxnYGTU340CtgA+AiaY2ThJ\n0xP1dQFGApsD84BXzOwmYDugu6QhcU3pRbFN1xLEEo+W27/UNXrNiWveHKe5qFajV4w7gcfM7AVJ\nfyw82EK6vDWAmYR1kk9Isni9k8gbfFYirOv8EvCapDmxzBMEu9GtiWsvMrMNJS02s7UIPdUFBBPS\n+FjmaTPbIlH+eYKq765SjXSNnuM4TuOpVqO3HJK2iuq45RJmpCV0ecCDwFPAycCFObOQpJmSFlrY\nmfsC4EyC+m5O4txCHV7u2ovNbB/geYLTeh5hDWlye/tFccgWXKPnOI6TCarqaZrZUZKuSrxeGfiN\npOPKnNYSurwoWT/PzKbFz3Odme0oaVpsy+XAQZKmRLdsUi/RC3jfzM4GtiHcGOwkabGk283sDmAM\n4Wbig4JzOyeGY6cB3yz1OZzmJql5awRZ0KVloQ2QnXZkAY9FfVQ7PLt3nOByGGCE52yVJt60hC7P\nzA4CvhLrnwS8B6wan2teAuySWL4yCdjAwj6a8wg96Qsk3Zaor7eZ3QUMjftoziPsejKB0KO+xcy2\nIr9/KUBfQjxL4u7Z5iWneWsEaa/TzO2nmYW1omnHIkt4LPK0t0YPAEm7mNmxhOHWecBekiZWOK1V\ndHm3E5ywOxJ6hI9ImmRmf4rn3hBGaJkk6eh4E3AfYej794U7n0j6wMz+ADxuZp8CLxI2nwYYamYT\n4s9JXeFgwnZhJXFdWHPi/98cp7koq9HLYWbfJCyHeITQ0/wAOLbSov9W0uXFhPqIpDcb0MxybeoK\n3A/smNiPczlco5cnbXVcrTRyyUnaPYp+a4aNe2ZM/6BCycaTdiyyhMciT3tr9HL8HjhM0iNm1omw\n3nIisHb501pHl1dK1t4BHAGcWy5hgmv0kvgfBMdxGkW1Pc3l1mOa2fqS3ih1jtPhLPFEEfCkmSft\nWHhPM5t4LPI0qqe5upndDqxPmNxyE2FSkOM4juOsMFS7TvN3wIWEdYfvEpJmWsOVThEGDhyYdhMc\nx3Fanmp7mmtIus/MzotrB681s+MrndTK7tnEsROBtSSdGl9X457dH/hRLPMyIS6dcPdsu9Bs7tlG\nknYscktOOvK76S5fp5FUmzQ/MrP+uRdmtg0wv4rzWtI9G962HoT1qv9D1OTFjboruWd7AGcDG0ma\nb2ZjY3tWwt2zTouRm7LeUd9Nd/k6jabapPkTQrL4vJm9SFhs/71yJ7S6eza2cQxhOciG8b2K7lnC\nzcbXJeVuOrrG97bH3bNOi+LfTadVqJg043DjK4Qe1SnADoQE+kyFU5dxz8YhySNZ1j3bmdCLuo+8\ne3Z4XN85UNK3zexXhOR5J8E9+/uoq3uL0AOEZd2zP4zDwo8R1HpFSbhn92Z5G1GSBwk7kpwM7GZm\nF0p6WtL7wAM5IUKkNxXcs3HpyAyAOMS9iqQHzOz7FHHPxt5lzj1bMmk6jhMopyV0dVwej0V9lE2a\nZvZT4P8Bwwi9qVOBEwhauQuBE8uc3vLu2SJVzqGye3bHGIffEHrF+8ay7p51nHaglJbQl1nk8Vjk\naW+N3iGEocR5ZnYe8BdJ10bBwasVzm1p9ywhkRVS0T0b67yaMCS7d0Ja0Cb37Nd2Pp65s8sKmhwn\nNTrqu+laQqfRVEqaiyXNiz/vAFwJofdlZpUm37S0e7bgYy2J531ayT1rZpsR1rg+DjwcvbWXAHfQ\nBvfsjSMP8BmjkWbT6DWS1GMR/Vojh2/VYZccMGC9DruWs+JR1ghkZs8AQ4FVgH8B68UtsdYF7pb0\n1XKVu3u27VTrnsWNQEvxoac8acfCjUDZxGORp72NQOcRNkpeCbg2JszvASOBs6qo392zbacq96zj\nOI7TeCq6Z81sHYLc4MX4+tvAPEmPNr55Tg14TzPid9F50o6F9zSzicciT7u7Z+P2X+8kXt9TR7sc\nx3Ecp+mpVm7QrmRYr7cSMJq8YOHXkupeGxln0R5LkDNcKWl0fP9YwjKeJcCFkm6JpqA/EMxjHwLD\nJL0X16n+WVLZ2cr9+/fn1lvH1dvUliJtdVyWSDsWaWj0SpF2LLKExyJPv36b1VQ+laRJdvV6BxIE\nCQfHhPcCJYQCcRZvX0kPlKlvNGFW7GPArma2iKDjOwrYBOhBEEfcAhwNvCjpLDPbD/gFYR3sxcBY\nghGoJK7Rc7JIR2v0HKcWPpoznadvy3jSzLJej5C8csq7zgShein+A+xnZmcSEut1kt4tKLMm8E/C\nlmrfz03mMbOvSVocl8zkhApbk1+icy/RdiRpjpl9bGYbS3q5VGNco+dkGf9uOq1CtVuDtSfL6PUI\nvblDWFav9w1gLzPL7ULyhqRdCEKFgZK+DdxGSJ4DCHq9bxHWMx6VuFZSr7cdQYB+eamGSZonaa6Z\n9SIk0NPLlJ0m6WRgW4LS7+U4SSrJEbGOA4BTov6PmDCPBZ4kDMnCsgq+Qv1eTqPnOI7jpEgaSbMa\nvd6DBAtOMb3eK/HnQr3eHwg7jBTT6+1mZo8QepFdzKxvqcaZ2YDYhhsk/ancB4lDtJcTZAWnkh+N\nAkDSK5L2IQgSPkNC9iDpckLPeDsz256g0esdD/eKnzXHNELcHMdxnBRJ45lmlvV6axFEAsdUkiGY\n2e6Enu5Vkp4vUeZFQg9xPvA34MjYez4vJtOFhL0zFxM0ersBE4FdCcagHH1Y/kZjGZYsXuQaPSez\n+HfTySL1aBfTSJpZ1uudRhgWHWFmI+L5uwH7xTYuFRxIupswqaccpwM3E55tDgFOkDTZzF4ws6di\n/X+V9LiZTQSuN7O/ERLpAYl6BhN6siV5+fn/89lwkdTVcRki9VikoNErReqxyBAei/qpKDdoBK2k\n16vyWiMkVWNQKnZuX2CMpD0rFHW5QcQXbudJOxYuN8gmHos8tcoN0nimCUGvd0xK187xQjUJM1JS\nr1cN9SbMyIlU6GU6juM4HUMqPU2nIXhPM+J30XnSjoX3NLOJxyJPs/Q0HcdxHKfpaOhEoFbR5ZnZ\nLoRZt68BoyS9FrdHGw10IczoHR4n+exBEBMsBEZLurZIffsCpxAmAt0k6TIz6wxcAXyVMBHocEmv\nm9mRwBRJD5f7TJMnT/YH+xFXhOVJOxau0csmWYjFgAHr0a1bt1TbUA+Nnj3bCrq8TQlJ8G6CxOAe\nM9uQsDXaZZLGmdnOwMiovxsFbAF8BEwws3GSpifq60LYWm1zYB7wipndBGwHdJc0xMwGAxcRZAzX\nAveb2aOSFpf6QBtvuiVD9ju3xjA4TmNxjZ5TjI/mTOfSn+3JF76wQeXCGaNhSbOFdHlrADMJ6ySf\nkGTxeieRN/isRNDhfQl4TdKcWOYJgt0ody0kLTKzDaMVaC1CT3UBwYQ0PpZ52sy2SJR/nuCeLdkb\ndo2ek2X8u+m0Co18ptkSujyCnegp4GTgwtgLRNJMSQvNzIALgDMJazznJM4t1OHlrr/YzPYhbPD9\nCKHH2ZtgBcqxKA7Zgmv0HMdxMkEjh2er0eVBsAMV0+XltsIq1OXtQEguxXR52+aSGlGXJ2lWscZF\nXd7tBNlBSV1elKyfZ2bT4ue5zsx2lDQttuVy4CBJU6Jbtlfi9F7A+2Z2NrAN4cZgJ0mLJd1uZncA\nYwg3Ex8UnNs5MRw7DfhmqTY6juM0G3379qRfv16VC2aMRibNVtHlHQR8JdY/CXgPWDU+17wE2EXS\nW4k2bBCfk84j9KQvkHRbor7eZnYXMFTSAjObBywiaPT2AG4xs61iTHL0JcTTcRynJZg1a24mlr3U\nmrgbmTRbQpdH6I3uBuxI6BE+ImmSmf2J8CzzhjBCyyRJR8ebgPsIQ9+/lzSt4PN/EOXyj5vZp8CL\n5Hc6GWpmE+LPP0icNpiwXVhJ3D3rZBn/bjpJ6nG+ZoWGyg1aSZdnZsMICfPNBjSzXJu6EnrFO+b2\n4yzG5MmTl6Q9hTwruFczT9qx2OrrmwPw96eeTa0NOdKORZbIQiyysuSkVrlBo5ecjADOYfmh1I7k\nhcTwaSVK6vIKep8dyRHAueUSJsCgQYMyMdSRBdx2kicrscjC0oKsxCILeCzqxzV6rYNr9CL+ByFP\n2rFwjV428VjkcY2e4ziO4zQI1+jVqdFLHDsRWEvSqfF1NRq9/YEfxTIvE+LSCdfotQtZUIRlhbRj\n4Rq9bJLVWGTlOWc5XKNXh0YvvG09CIq7/yEaf2IyrqTR6wGcDWwkab6ZjQV2J8zErVujd/CpY1l5\n1TVrDIPjNBbX6DnV0ixqPdfo1anRi20cQ5jZumF8r6JGD5gPfF3S/Pi6a3xve9qg0Xvx/t8ydPjo\nMh/DcdLDNXpOq+Aavfo1eu9LeqCgbG8qaPQkLZE0A8DMjgdWifW4Rs9xHCfjuEavDRq9IsXnUFmj\nt2OMw28IveJ9Y1nX6DmOs0LTDGo91+jVqdEjJLJCKmr0Yp1XE4Zk906sv3SNnuM4KzRpqPVco9dB\nGr2Cj7UknvdpJY2emW0GHAY8DjwcFXyXAHfgGj2nRfHvplOJZlHruUZv2bJNq9Hr37//kltvHddx\nDcswWVCEZYW0Y+EavWyS1VikseTENXrLs0Jo9N5++203fETcdpInK7HIwjKCrMQiC3gs6sc1eq2D\na/Qi/gchT9qxcI1eNvFY5HGNnuM4juM0iEYPzxYlq3q9xLmDgfMk7dDGNvQBjiXIGa6UNDq+fyww\njDCB6EJJt0RT0B8I5rEPgWGS3jOzXwF/lvRqsWvkcI1enqwqwtIg7Vi4Ri+brEixaO/npKkkTbKr\n18PMTgYOAsp+o+Is3r5FBAdJRhNmxT4G7Gpmiwg6vqOATYAewCsEwcLRwIuSzjKz/YBfACcCFwNj\nCUagkrhGz8kirtFz0qQRar4OT5oZ1+tBkLLvA9xY4aP8B9jPzM4k6O2uk/RuQZk1gX8C6wPfz03m\nMbOvSVocl8x8HMtuTX6Jzr0E3y2S5pjZx2a2saSXSzVm5VXXdFWZk1n8u+m0Cmk808ysXi+26XbK\nu2hz5aZJOhnYliByf9nMCnuDRxAUfQcAp5jZZ+K5i+MQ7ZOEIVlYVsFXqN+rqNF76pYzyh12HMdx\n2oE0hmczrderhThEewQwCDiV/GgUAJJeAfYxs5GxrecTtgRD0uXRDDTezP4W2947ntorftYc0wC/\nVXccx6mR9lbzpZE0M6vXqwUz253Q071K0vMlyrxI6CHOB/4GHBl7z+dJ2ofQo/0EWEzQ6O0GTAR2\nJRiDcvRh+RsNx3EcpwKV1HxZ0uiVIst6vSRLrxNtQMsIDiTdTZjUU47TgZsJzzaHACdImmxmL5jZ\nU/Eaf5X0uJlNBK6Pvc5PCEO6OQYTerIlcY2ek2X8u+mkQSPUfKnIDVpJr1fltUZIOqvOc/sCYyTt\nWa6ca/TyZFURlgZpx8I1etlkRYpFpSUnWdPolaJl9HrVUG/CjJxIhV4mQNeuXTOhKssCbjvJk5VY\nZOG7mZVYZAGPRf24Rq91cI1exP8g5Ek7Fq7RyyYeizyu0XMcx3GcBtHQ4dlW0eWZ2S6EWbevAaMk\nvWZm6xKMP10IM3qHx0k+exDEBAuB0ZKuLVLfvsAphIlAN0m6zMw6A1cAXyVMBDpc0utmdiQwRdLD\nhfUkcY1enhVJEVaJtGPhGr1sUkss0tiuK8s0+plmK+jyNiUkwbsJEoN7zGxD4CzgMknjzGxnYGTU\n340CtgA+AiaY2ThJ0xP1dQFGApsD84BXzOwmYDugu6QhMZlfRJAxXAvcb2aPSlpcqp2u0XOyiGv0\nmptGaOianYYlzRbS5a0BzCSsk3xCksXrnUTe4LMSQYf3JeA1SXNimScIdqNbc5VJWmRmG0Yr0FqE\nnuoCgglpfCzztJltkSj/PME9e1epRrpGz8ky/t10WoVGPtNsCV0e8CDwFHAycGHOLCRppqSFZmbA\nBcCZBPXdnMS5hTq83LUXm9k+wPOEm/F5hDWkydkSi+KQLVSh0XMcx3EaTyOHZ1tClxcl6+eZ2bT4\nea4zsx0lTYttuRw4SNKU6JZN6iV6Ae+b2dnANoQbg50kLZZ0u5ndAYwh3Ex8UHBu58Rw7DTgm+Xa\n+dQtZzB0+Oi2fFTHcZzlaG8NXbPTyKTZKrq8g4CvxPonAe8Bq8bnmpcAuyTWe04CNoj7aM4j9KQv\nkHRbor7eZnYXMFTSAjObBywiaPT2AG4xs60IMcnRlxBPx3GcDqWShq7ZyZJGryV0ecDtBCfsjoQe\n4SOSJpnZnwjPMm8II7RMknR0vAm4jzD0/XtJ0wo+/wdm9gfgcTP7FHiR/E4nQ81sQvz5B4nTBhO2\nCyuJa/ScLOPfzeakERq6ZqehcoNW0uXFhPqIpDcb0MxybeoK3A/smNuPsxiu0cuzIinCKpF2LFyj\nl01qiUWrLznJmkavZXR5Bb3PjuQI4NxyCRNco5fEbSd5shKLLHw3sxKLLOCxqJ+GJk1JM0g3YVJD\nwkRS5saQJF2Zdhscx3GcgLtnHcdxHKdK3D3rOI7jOFXiSdNxHMdxqsSTpuM4juNUiSdNx3Ecx6kS\nT5qO4ziOUyWeNB3HcRynShotN3DakVIbVSeOV9wAu1WoIhb7Az8ixOJl4JhKgohmpVIsEuWuBmZK\nOrWDm9hhVPG9+B/CXrWdCPrOQyQtSKOtjaaKWOwNnEZQiY6WdFUqDe1A4oYe50naoeD9qv92ek+z\nudgL6CZpCPBzwi8/AGa2EmED7KGEDa2Hm1kr70pdLhY9gLOB7SVtQ9iebfdUWtkxlIxFDjM7krAT\nUEveOCQo973oRNiT91BJ2xJ81uun0sqOodL3Ivf3YmvgJDNbbhvDVsLMTgauoWCHrFr/dnrSbC62\nJorbJT0NbJE4tnQDbEmfArkNsFuVcrGYD3xd0vz4uithk/BWpVwsMLMhwJaETQ1q8mw2IeViMYiw\nofxP4sYOq0lSh7ew4yj7vQA+JexE1YPwvWj1G6rXgH1Y/negpr+dnjSbi3IbVfemig2wW4iSsZC0\nJCocMbPjgVUkPZhCGzuKkrEws88RHNDH0foJE8r/jqwBDAF+C+wE7Bj3xG1VysUCQs/zWeAfwF2S\nkmVbDkm3E4ZfC6npb6cnzeai3EbVc1h+A+w27yeaYcrFAjPrbGYXErZ027ejG9fBlIvFdwnJ4q/A\nKcABZnZIB7evIykXi5mEHoUkLST0wgp7X61EyViY2bqEG6n1gIHAWmZWuKfxikJNfzs9aTYXEwh7\ne1Jko+qlG2CbWTfC8MJTHd/EDqNcLCAMRXYH9k4M07YqJWMh6beStogTH84Dxkq6IZ1mdgjlvhf/\nAli4RVsAAADbSURBVHqa2Rfi620JvaxWpVwsPgMsAj6JiXQ6Yah2RaSmv50ubG8i4kSG3Gw4CBtV\nbw70lHSNme1OGIrLbYDdsjuklIsF8Ez893jilEsl3dmhjewgKn0vEuWGASbptI5vZcdQxe9I7uah\nEzBB0o/TaWnjqSIWPwYOIMwBeA04IvbAWxYzG0i4cRwSZ9jX/LfTk6bjOI7jVIkPzzqO4zhOlXjS\ndBzHcZwq8aTpOI7jOFXiSdNxHMdxqsSTpuM4juNUiSdNx3Ecx6kST5qO4ziOUyWeNB3HcRynSv4/\nRFGBEyBbwiUAAAAASUVORK5CYII=\n", - "text": [ - "" - ] - } - ], - "prompt_number": 158 - }, + "output_type": "execute_result" + } + ], + "source": [ + "# Fill in the median age for persons with missing ages.\n", + "for i in range(0, 2):\n", + " for j in range(0, 3):\n", + " train.loc[(train.Age.isnull()) & (train.Gender == i) & (train.Pclass == j+1),\\\n", + " 'AgeFill'] = median_ages[i,j]\n", + "\n", + "train[ train['Age'].isnull() ][['Gender','Pclass','Age','AgeFill']].head()" + ] + }, + { + "cell_type": "code", + "execution_count": 163, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Remember which ages were null.\n", + "train['AgeIsNull'] = pd.isnull(train.Age).astype(int)" + ] + }, + { + "cell_type": "code", + "execution_count": 164, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def calc_median_ages(df):\n", + " median_ages = np.zeros((2,3))\n", + "\n", + " for i in range(0, 2):\n", + " for j in range(0, 3):\n", + " median_ages[i,j] = df[(df['Gender'] == i) & \\\n", + " (df['Pclass'] == j+1)]['Age'].dropna().median()\n", + " \n", + " return median_ages\n", + "\n", + "\n", + "def guess_ages(df, median_ages=None):\n", + " if median_ages is None:\n", + " median_ages = calc_median_ages(df)\n", + " \n", + " for i in range(0, 2):\n", + " for j in range(0, 3):\n", + " df.loc[(df.Age.isnull()) & (df.Gender == i) & (df.Pclass == j+1),\\\n", + " 'Age'] = median_ages[i,j]\n", + " \n", + " df['GuessedAge'] = pd.isnull(df.Age).astype(int)\n", + " return df\n", + "\n", + "def clean(df, median_ages=None):\n", + " df['Gender'] = df['Sex'].map( {'female': 0, 'male': 1} ).astype(int)\n", + " df = guess_ages(df, median_ages)\n", + " df = df.drop(['Ticket', 'Cabin', 'Sex'], axis=1)\n", + " \n", + " return df" + ] + }, + { + "cell_type": "code", + "execution_count": 165, + "metadata": { + "collapsed": false + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Ok, this is now meaningful. The groups with survival rate > 50% are:\n", - "\n", - "* Women in 1st and 2nd class.\n", - "* Women in 3rd class that paid $20 or less." + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 891 entries, 0 to 890\n", + "Data columns (total 11 columns):\n", + "PassengerId 891 non-null int64\n", + "Survived 891 non-null int64\n", + "Pclass 891 non-null int64\n", + "Name 891 non-null object\n", + "Age 891 non-null float64\n", + "SibSp 891 non-null int64\n", + "Parch 891 non-null int64\n", + "Fare 891 non-null float64\n", + "Embarked 889 non-null object\n", + "Gender 891 non-null int64\n", + "GuessedAge 891 non-null int64\n", + "dtypes: float64(2), int64(7), object(2)\n", + "memory usage: 83.5+ KB\n" ] - }, + } + ], + "source": [ + "train = pd.read_csv(\"titanic/train.csv\")\n", + "train = clean(train)\n", + "train.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 166, + "metadata": { + "collapsed": false + }, + "outputs": [ { - "cell_type": "code", - "collapsed": false, - "input": [ - "test = pd.read_csv(\"titanic/test.csv\")\n", - "\n", - "test[\"Survived\"] = 0\n", - "test.loc[test[\"Sex\"] == \"female\", \"Survived\"] = 1\n", - "test.loc[(test[\"Pclass\"] == 3) & (test[\"Fare\"] > 20), \"Survived\"] = 0\n", - "test = test[[\"PassengerId\", \"Survived\"]]\n", - "test.to_csv(\"titanic/genderclassmodel.csv\", index=False)" - ], - "language": "python", + "data": { + "text/plain": [ + "Name object\n", + "Embarked object\n", + "dtype: object" + ] + }, + "execution_count": 166, "metadata": {}, - "outputs": [], - "prompt_number": 7 - }, + "output_type": "execute_result" + } + ], + "source": [ + "train.dtypes[train.dtypes.map(lambda x: x=='object')]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We might want to get the port the passenger embarked from as a number. Do this as an exercise.\n", + "\n", + "We also might want to use regular expressions on the names to look for titles like \"Dr\" and \"Rev\".\n", + "\n", + "We may want to add new features, like total family size." + ] + }, + { + "cell_type": "code", + "execution_count": 167, + "metadata": { + "collapsed": false + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Cleaning data\n", - "\n", - "To do any better than this, we'll need to clean up our data. We'll need everything to be numerical so we can use them as real features.\n", - "\n", - "Let's turn all the strings we might use into numbers." + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 418 entries, 0 to 417\n", + "Data columns (total 11 columns):\n", + "PassengerId 418 non-null int64\n", + "Pclass 418 non-null int64\n", + "Name 418 non-null object\n", + "Sex 418 non-null object\n", + "Age 332 non-null float64\n", + "SibSp 418 non-null int64\n", + "Parch 418 non-null int64\n", + "Ticket 418 non-null object\n", + "Fare 417 non-null float64\n", + "Cabin 91 non-null object\n", + "Embarked 418 non-null object\n", + "dtypes: float64(2), int64(4), object(5)\n", + "memory usage: 39.2+ KB\n" ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "train['Gender'] = train['Sex'].map( {'female': 0, 'male': 1} ).astype(int)" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 160 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Get the median age of passengers by sex and class, for filling in missing ages.\n", - "median_ages = np.zeros((2,3))\n", - "\n", - "for i in range(0, 2):\n", - " for j in range(0, 3):\n", - " median_ages[i,j] = train[(train['Gender'] == i) & \\\n", - " (train['Pclass'] == j+1)]['Age'].dropna().median()\n", - "\n", - "median_ages" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "pyout", - "prompt_number": 161, - "text": [ - "array([[ 35. , 28. , 21.5],\n", - " [ 40. , 30. , 25. ]])" - ] - } - ], - "prompt_number": 161 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Fill in the median age for persons with missing ages.\n", - "for i in range(0, 2):\n", - " for j in range(0, 3):\n", - " train.loc[(train.Age.isnull()) & (train.Gender == i) & (train.Pclass == j+1),\\\n", - " 'AgeFill'] = median_ages[i,j]\n", - "\n", - "train[ train['Age'].isnull() ][['Gender','Pclass','Age','AgeFill']].head()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "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", - "
GenderPclassAgeAgeFill
5 1 3NaN 25.0
17 1 2NaN 30.0
19 0 3NaN 21.5
26 1 3NaN 25.0
28 0 3NaN 21.5
\n", - "
" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 162, - "text": [ - " Gender Pclass Age AgeFill\n", - "5 1 3 NaN 25.0\n", - "17 1 2 NaN 30.0\n", - "19 0 3 NaN 21.5\n", - "26 1 3 NaN 25.0\n", - "28 0 3 NaN 21.5" - ] - } - ], - "prompt_number": 162 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Remember which ages were null.\n", - "train['AgeIsNull'] = pd.isnull(train.Age).astype(int)" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 163 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "def calc_median_ages(df):\n", - " median_ages = np.zeros((2,3))\n", - "\n", - " for i in range(0, 2):\n", - " for j in range(0, 3):\n", - " median_ages[i,j] = df[(df['Gender'] == i) & \\\n", - " (df['Pclass'] == j+1)]['Age'].dropna().median()\n", - " \n", - " return median_ages\n", - "\n", - "\n", - "def guess_ages(df, median_ages=None):\n", - " if median_ages is None:\n", - " median_ages = calc_median_ages(df)\n", - " \n", - " for i in range(0, 2):\n", - " for j in range(0, 3):\n", - " df.loc[(df.Age.isnull()) & (df.Gender == i) & (df.Pclass == j+1),\\\n", - " 'Age'] = median_ages[i,j]\n", - " \n", - " df['GuessedAge'] = pd.isnull(df.Age).astype(int)\n", - " return df\n", - "\n", - "def clean(df, median_ages=None):\n", - " df['Gender'] = df['Sex'].map( {'female': 0, 'male': 1} ).astype(int)\n", - " df = guess_ages(df, median_ages)\n", - " df = df.drop(['Ticket', 'Cabin', 'Sex'], axis=1)\n", - " \n", - " return df" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 164 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "train = pd.read_csv(\"titanic/train.csv\")\n", - "train = clean(train)\n", - "train.info()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "\n", - "Int64Index: 891 entries, 0 to 890\n", - "Data columns (total 11 columns):\n", - "PassengerId 891 non-null int64\n", - "Survived 891 non-null int64\n", - "Pclass 891 non-null int64\n", - "Name 891 non-null object\n", - "Age 891 non-null float64\n", - "SibSp 891 non-null int64\n", - "Parch 891 non-null int64\n", - "Fare 891 non-null float64\n", - "Embarked 889 non-null object\n", - "Gender 891 non-null int64\n", - "GuessedAge 891 non-null int64\n", - "dtypes: float64(2), int64(7), object(2)\n", - "memory usage: 83.5+ KB\n" - ] - } - ], - "prompt_number": 165 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "train.dtypes[train.dtypes.map(lambda x: x=='object')]" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "pyout", - "prompt_number": 166, - "text": [ - "Name object\n", - "Embarked object\n", - "dtype: object" - ] - } - ], - "prompt_number": 166 - }, + } + ], + "source": [ + "median_ages = calc_median_ages(train)\n", + "test = pd.read_csv(\"titanic/test.csv\")\n", + "test.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 168, + "metadata": { + "collapsed": false + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We might want to get the port the passenger embarked from as a number. Do this as an exercise.\n", - "\n", - "We also might want to use regular expressions on the names to look for titles like \"Dr\" and \"Rev\".\n", - "\n", - "We may want to add new features, like total family size." + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 418 entries, 0 to 417\n", + "Data columns (total 10 columns):\n", + "PassengerId 418 non-null int64\n", + "Pclass 418 non-null int64\n", + "Name 418 non-null object\n", + "Age 418 non-null float64\n", + "SibSp 418 non-null int64\n", + "Parch 418 non-null int64\n", + "Fare 417 non-null float64\n", + "Embarked 418 non-null object\n", + "Gender 418 non-null int64\n", + "GuessedAge 418 non-null int64\n", + "dtypes: float64(2), int64(6), object(2)\n", + "memory usage: 35.9+ KB\n" ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "median_ages = calc_median_ages(train)\n", - "test = pd.read_csv(\"titanic/test.csv\")\n", - "test.info()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "\n", - "Int64Index: 418 entries, 0 to 417\n", - "Data columns (total 11 columns):\n", - "PassengerId 418 non-null int64\n", - "Pclass 418 non-null int64\n", - "Name 418 non-null object\n", - "Sex 418 non-null object\n", - "Age 332 non-null float64\n", - "SibSp 418 non-null int64\n", - "Parch 418 non-null int64\n", - "Ticket 418 non-null object\n", - "Fare 417 non-null float64\n", - "Cabin 91 non-null object\n", - "Embarked 418 non-null object\n", - "dtypes: float64(2), int64(4), object(5)\n", - "memory usage: 39.2+ KB\n" - ] - } - ], - "prompt_number": 167 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "test = clean(test, median_ages)\n", - "test.info()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "\n", - "Int64Index: 418 entries, 0 to 417\n", - "Data columns (total 10 columns):\n", - "PassengerId 418 non-null int64\n", - "Pclass 418 non-null int64\n", - "Name 418 non-null object\n", - "Age 418 non-null float64\n", - "SibSp 418 non-null int64\n", - "Parch 418 non-null int64\n", - "Fare 417 non-null float64\n", - "Embarked 418 non-null object\n", - "Gender 418 non-null int64\n", - "GuessedAge 418 non-null int64\n", - "dtypes: float64(2), int64(6), object(2)\n", - "memory usage: 35.9+ KB\n" - ] - } - ], - "prompt_number": 168 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 168 } ], - "metadata": {} + "source": [ + "test = clean(test, median_ages)\n", + "test.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 168, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] } - ] -} \ No newline at end of file + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.4.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/my week5 day1 homework.ipynb b/my week5 day1 homework.ipynb new file mode 100644 index 0000000..9c5b36b --- /dev/null +++ b/my week5 day1 homework.ipynb @@ -0,0 +1,1301 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sb" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "test = pd.read_csv(\"titanic/test.csv\")\n", + "train = pd.read_csv(\"titanic/train.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "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", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
88688702Montvila, Rev. Juozasmale270021153613.00NaNS
88788811Graham, Miss. Margaret Edithfemale190011205330.00B42S
88888903Johnston, Miss. Catherine Helen \"Carrie\"femaleNaN12W./C. 660723.45NaNS
88989011Behr, Mr. Karl Howellmale260011136930.00C148C
89089103Dooley, Mr. Patrickmale32003703767.75NaNQ
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass Name \\\n", + "886 887 0 2 Montvila, Rev. Juozas \n", + "887 888 1 1 Graham, Miss. Margaret Edith \n", + "888 889 0 3 Johnston, Miss. Catherine Helen \"Carrie\" \n", + "889 890 1 1 Behr, Mr. Karl Howell \n", + "890 891 0 3 Dooley, Mr. Patrick \n", + "\n", + " Sex Age SibSp Parch Ticket Fare Cabin Embarked \n", + "886 male 27 0 0 211536 13.00 NaN S \n", + "887 female 19 0 0 112053 30.00 B42 S \n", + "888 female NaN 1 2 W./C. 6607 23.45 NaN S \n", + "889 male 26 0 0 111369 30.00 C148 C \n", + "890 male 32 0 0 370376 7.75 NaN Q " + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "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", + "
PassengerIdPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
08923Kelly, Mr. Jamesmale34.5003309117.8292NaNQ
18933Wilkes, Mrs. James (Ellen Needs)female47.0103632727.0000NaNS
28942Myles, Mr. Thomas Francismale62.0002402769.6875NaNQ
38953Wirz, Mr. Albertmale27.0003151548.6625NaNS
48963Hirvonen, Mrs. Alexander (Helga E Lindqvist)female22.011310129812.2875NaNS
\n", + "
" + ], + "text/plain": [ + " PassengerId Pclass Name Sex \\\n", + "0 892 3 Kelly, Mr. James male \n", + "1 893 3 Wilkes, Mrs. James (Ellen Needs) female \n", + "2 894 2 Myles, Mr. Thomas Francis male \n", + "3 895 3 Wirz, Mr. Albert male \n", + "4 896 3 Hirvonen, Mrs. Alexander (Helga E Lindqvist) female \n", + "\n", + " Age SibSp Parch Ticket Fare Cabin Embarked \n", + "0 34.5 0 0 330911 7.8292 NaN Q \n", + "1 47.0 1 0 363272 7.0000 NaN S \n", + "2 62.0 0 0 240276 9.6875 NaN Q \n", + "3 27.0 0 0 315154 8.6625 NaN S \n", + "4 22.0 1 1 3101298 12.2875 NaN S " + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 891 entries, 0 to 890\n", + "Data columns (total 12 columns):\n", + "PassengerId 891 non-null int64\n", + "Survived 891 non-null int64\n", + "Pclass 891 non-null int64\n", + "Name 891 non-null object\n", + "Sex 891 non-null object\n", + "Age 714 non-null float64\n", + "SibSp 891 non-null int64\n", + "Parch 891 non-null int64\n", + "Ticket 891 non-null object\n", + "Fare 891 non-null float64\n", + "Cabin 204 non-null object\n", + "Embarked 889 non-null object\n", + "dtypes: float64(2), int64(5), object(5)\n", + "memory usage: 90.5+ KB\n" + ] + } + ], + "source": [ + "train.info()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "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", + "
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
\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", + "\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", + "\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 " + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nlQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sex_table = pd.pivot_table(train, index='Sex', values='Survived')\n", + "sex_table.plot(kind='barh')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "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", + "
Survived
SexAge_Range
femaleAdult0.777293
Child0.593750
Unknown0.679245
maleAdult0.173077
Child0.567568
Unknown0.129032
\n", + "
" + ], + "text/plain": [ + " Survived\n", + "Sex Age_Range \n", + "female Adult 0.777293\n", + " Child 0.593750\n", + " Unknown 0.679245\n", + "male Adult 0.173077\n", + " Child 0.567568\n", + " Unknown 0.129032" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nHSUAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def age_range(age):\n", + " if str(age) == 'nan':\n", + " return 'Unknown'\n", + " elif age >= 13:\n", + " return 'Adult'\n", + " else:\n", + " return 'Child'\n", + " \n", + " \n", + "train['Age_Range'] = train['Age'].map(age_range)\n", + "\n", + "survivor_table = pd.pivot_table(train, index=['Sex', 'Age_Range'], values=['Survived'])\n", + "survivor_table.plot(kind='barh')\n", + "survivor_table\n" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "37" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tx = train[(train.Age <= 13) & (train.Sex == 'male')] \n", + "len(tx)" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Survived
SexAge_RangePclass
femaleAdult10.976190
20.909091
30.455696
Child10.000000
21.000000
30.478261
Unknown11.000000
21.000000
30.595238
maleAdult10.377551
20.066667
30.127193
Child11.000000
21.000000
30.360000
Unknown10.238095
20.222222
30.095745
\n", + "
" + ], + "text/plain": [ + " Survived\n", + "Sex Age_Range Pclass \n", + "female Adult 1 0.976190\n", + " 2 0.909091\n", + " 3 0.455696\n", + " Child 1 0.000000\n", + " 2 1.000000\n", + " 3 0.478261\n", + " Unknown 1 1.000000\n", + " 2 1.000000\n", + " 3 0.595238\n", + "male Adult 1 0.377551\n", + " 2 0.066667\n", + " 3 0.127193\n", + " Child 1 1.000000\n", + " 2 1.000000\n", + " 3 0.360000\n", + " Unknown 1 0.238095\n", + " 2 0.222222\n", + " 3 0.095745" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nnTQAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pclass_table = pd.pivot_table(train, index=['Sex', 'Age_Range', 'Pclass'], values=[\"Survived\"])\n", + "pclass_table.plot(kind='barh')\n", + "pclass_table" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "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", + "
PassengerIdSurvived
08920
18931
28940
38950
48961
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived\n", + "0 892 0\n", + "1 893 1\n", + "2 894 0\n", + "3 895 0\n", + "4 896 1" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test = pd.read_csv(\"titanic/test.csv\")\n", + "test['Survived'] = 0\n", + "test.loc[test['Sex'] == 'female', 'Survived'] = 1\n", + "test = test[['PassengerId', 'Survived']]\n", + "#test.to_csv(\"titanic/malesdie.csv\", index=False)\n", + "test.head() # this was 77% accurate" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PassengerIdSurvived
08920
18931
28940
38950
48961
58970
68981
78990
89001
99010
109020
119030
129041
139050
149061
159071
169080
179090
189101
199111
209120
219131
229141
239150
249161
259170
269181
279190
289200
299210
.........
38812800
38912811
39012820
39112831
39212841
39312850
39412860
39512871
39612880
39712891
39812900
39912910
40012921
40112930
40212941
40312950
40412960
40512970
40612980
40712990
40813001
40913011
41013021
41113031
41213041
41313050
41413061
41513070
41613080
41713090
\n", + "

418 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " PassengerId Survived\n", + "0 892 0\n", + "1 893 1\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 1\n", + "22 914 1\n", + "23 915 0\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 1\n", + "390 1282 0\n", + "391 1283 1\n", + "392 1284 1\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 0\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]" + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "new_test = pd.read_csv(\"titanic/test.csv\")\n", + "new_test['Survived'] = 0\n", + "new_test.loc[(new_test['Sex'] == 'male') & (new_test['Age'] <= 13), \"Survived\"] = 1\n", + "new_test.loc[new_test['Sex'] == 'female', 'Survived'] = 1\n", + "test = new_test[['PassengerId', 'Survived']]\n", + "test.to_csv(\"titanic/woman&children.csv\", index=False)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.4.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/titanic_prediction.ipynb b/titanic_prediction.ipynb index 50e273b..7fb2bcf 100644 --- a/titanic_prediction.ipynb +++ b/titanic_prediction.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 5, + "execution_count": 2, "metadata": { "collapsed": false }, @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 3, "metadata": { "collapsed": false }, @@ -42,7 +42,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 9, "metadata": { "collapsed": false }, @@ -362,17 +362,74 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 12, "metadata": { "collapsed": false }, - "outputs": [], + "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", + "
PassengerIdSurvived
08920
18931
28940
38950
48961
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived\n", + "0 892 0\n", + "1 893 1\n", + "2 894 0\n", + "3 895 0\n", + "4 896 1" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "test = pd.read_csv(\"titanic/test.csv\")\n", "test['Survived'] = 0\n", "test.loc[test[\"Sex\"] == \"female\", \"Survived\"] = 1\n", "test = test[[\"PassengerId\", \"Survived\"]]\n", - "test.to_csv(\"titanic/gender_set.csv\", index=False)\n" + "test.to_csv(\"titanic/gender_set.csv\", index=False)\n", + "test.head()" ] }, { @@ -399,7 +456,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 11, "metadata": { "collapsed": false }, @@ -463,15 +520,15 @@ " unknown 0.129032" ] }, - "execution_count": 52, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\ngg==\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcwAAAD9CAYAAAAxikc6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XucXfO9//HXJAxiIjFM3DqCkDc9VPkFqXu0fqhL3VtU\nSkpcjjgHh6KEnl6CX3GCirgdLcU5elp1KyVN3ErbqGvJZ+SgiEgiM0KSBmH//lhrkp0xs2dlsq+T\n9/PxmMestfba6/veK5n5zHet71qrLpfLYWZmZoX1qXQAMzOzWuCCaWZmloELppmZWQYumGZmZhm4\nYJqZmWXggmlmZpbBKpUOYCtm8eJPc21tCysdo6C11+5HtWcE5yw25ywu5yyepqb+dT15n3uYNW6V\nVfpWOkK3aiEjOGexOWdxOWfluWCamZll4IJpZmaWgQummZlZBi6YZmZmGbhgmpmZZeCCaWZmloGv\nw6xxLS0ttLbOr3SMgtraGpY7Y3PzYOrr60uUyKz3+fjjj3nrrb8XdZv+OVyWC2aNO/a82+k3YFCl\nYxTVwnmzGX/2QQwZskWlo5jVjLfe+jv/8v/uKdrvg6w/h7feegvPPPNnFi9eTJ8+fbjggvMZNGjj\nHrV51VWX881vHsN6663fo/dfccWljBjxNbbb7v/06P3dccGscf0GDKJh7Y0qHcPMqkC5fx+8/vpr\n/PGPjzFhws0AvPpqC+effz433nhbj7Z3+ulnrVCeuroe3cAnM5/DNDOzHmloaGDWrFncd99vmTNn\nNltsMZS77rqL004bzZtvJoeH7777V9x88/W8++5MRo78JmPGnMTtt/+Cb3/7iCXbueKKS3nssSmM\nGXMSb775BiecMJJ3350JwOTJjzB+/OUsWDCfCy44h9NPP5nTTz+Z116bvmT7o0Ydw5lnjuHVV1tK\n+nldMM3MrEeamgZxySWX8+KLz3PyyaM45pjDmTx5coee3tLp1tZWrrzyZxx99EiGDNmc559/lo8/\n/phnn32GXXbZbcl6BxxwEA8+eD8Av/vdfRx00CH8/Oc3M2zYjlx11XWcffb5/PSnl9DW1sZ///cd\nXH/9z/npT8dTV1dX0l6mD8mamVmPzJjxNmuu2cB5540FYNq0Vzj77NNpbFx3yTq5XG7J9AYbbMgq\nqyRl58ADD+F3v7uPuXPnsuuue9C3b/s9aOvYe+99OfXUEznggINZsGABm266Ga+9Np1nn53KpEkP\nA/Dhhx8wY8ZbDB686ZJtbrPNtsu0V2wV72FKWkfSdSu4jXeLlaeL7V8s6aRSttFJm4MkXV3ONs3M\nlsf06a9yxRWXsXjxYgCam5sZMGAAAwcO5L335gDQ0jJtyfp9+iwtOcOG7UhLS3D//fdw4IEHL7Pd\nNddsQNqSq666nP33PwiAwYM35cgjj+bqqycyduwP2W+/A/jCFzbm9ddf46OPFpHL5Xjllb/1+h7m\nj4BrVnAbpfuTojzb/5yImC3pQ0m7R8Rj5W7fzGrPwnmzy7qtPfYYwd///jonnDCSNdZYg1wuxznn\nnMOCBZ9wxRWXMmjQ+jQ1NS0pYh2L2YgRX2Xq1L+w4YafH6h00EGH8G//djrf//5FAHznO6MYN+6H\n3HPPb1iwYAHf/e5JDBw4kO98ZxSnnHICa621Fn37lrak1ZWy+9odSWsBkyJih3R+OvAkMBSYBAwA\ndgQiIkZK2hq4HOgLrAucEhFPSZoZERtI2gYYT3LQfC4wKiI+6KLtKcDoiGiRdDKwHnALcCfwJjAE\n+HNEnCrpIuDdNNMvgROAw4BNgEHAYOCMiPi9pL2BHwKL2jMA/wn8OCKekTQNOC8ifiPpIeB44FHg\nCUDALOCwiPgs/bw/iIjDutqHI0Zdm+tto2Tnt81g3OjhZb+spKmpP3PmfFjWNnvCOYurt+Sslusw\na2F/9vR5mJXuYQ4HIm9+MLAnSXFqBXaMiDGSXpM0APgicFZEvCTpKJJi81Te+28AjouIaZK+C5wD\nXNBF27kuprcAvgb8A3hN0nrp8i1Jit/REfG/kg4FFkXE1yV9DTgL+D0wEdglImZKOj1t/zfAfpLm\nkhTSr0maBKweEe9I2hTYMyJmSHoC2AH4E/AKsGv3u9HMVnb19fW+drnEKl0w1yHpUbWbGxFvA0ha\nEBHtB7/nAasB7wAXSvoH0D9dnm8rYIIkgFWBrGOM88/lTo+IBWmGmcDq6fJ9gU+Az/LWfTb9/jaw\nuqR1gQ8iYma6/HHgx+nXb4H3gEuBM4H9gHvS9d6LiBnp9FvtbUbEp5I+yfgZepXGxgaamvqXvd1K\ntNkTzllczllctZJzeVW6YM4GBubNFzo+XEdyuPWYtAd5Mckh0XzTgGMj4m1Ju5MU5K4sAjYkKarb\nkxS9QhmuBF4Dfi5pz85WiIj3JK0laf2IeBfYI1kc70taCHwTOBQ4HPgX4JhCbUqqAxYX+Ay9Vmvr\n/LIf1qmFQ0ngnMXmnMVVCzl7WtArPUr2aWDbvPmuDpO2T98G3CXpAZLsG3R4/RTgVkmPkwwmehFA\n0uRO2r4KuFbSg+m22rfRVQYi4hHgZeB7BdY9Efh1emh1L5LzmZD0MNeIiDbgoXT69c7ayZvfBvhj\nJ9nNzKzMKjroB0DSBGBiRDxXwjaujIgzSrX9UpF0GXB3RHRZND3op3hq4S9jcM5ic87iqoWcPR30\nU+keJsBY4NQSt3F5ibdfdOlgo/6FiqWZmZVPpc9hEhFzgNElbuPt7teqLhExi+QQs5mZVYFq6GGa\nmZlVPRdMMzOzDFwwzczMMqj4OUxbMcW8d2S16I2fycxqnwtmjbt13NG0ts6vdIyCGhsbljtjc/Pg\nEqUxM+sZF8waN3To0Fq45qnqM5qZdcfnMM3MzDJwwTQzM8vABdPMzCwDF0wzM7MMXDDNzMwycME0\nMzPLwAXTzMwsAxdMMzOzDFwwzczMMnDBNDMzy8AF08zMLAMXTDMzswxcMM3MzDJwwTQzM8vABdPM\nzCwDPw+zxrW0tFT9A6Tb2pb/AdKV4JzF4weAW2/kglnjjj3vdvoNGFTpGGZLLJw3m/FnH8RGG61T\n6ShmReWCWeP6DRhEw9obVTqGmVmv53OYZmZmGbhgmpmZZeCCaWZmloELppmZWQa9qmBKWkfSdSu4\njXeLlGWKpKEdlm0r6cKu2pF0uKSL0ulbJK1ejCxmZrbietso2R8B16zgNnLFCJJupy5/QUQ8Dzyf\nsZ3bgXOAfy9SHjMzWwG9pmBKWgsYFhEvpfPTgSeBocAkYACwIxARMVLS1sDlQF9gXeCUiHgqb3vb\nAONJit5cYFREfNBF2zsBV5L02GcAx6QvXSRpPWBN4ChgMHBSRByV996dgf8A3gcWAc+kL00CrsAF\n08ysKvSaggkMByJvfjCwJ/Au0ArsGBFjJL0maQDwReCsiHhJ0lHA8cBTee+/ATguIqZJ+i5Jb++C\nLtqeCHwzIkLS8cBW6fL7IuL29DDr4cCfO3nvBODwiHhV0o/bF0bEp5JmS9omIl5crj1hVmGNjQ0A\nNDX1r3CSbJyzuGol5/LqTQVzHWBW3vzciHgbQNKCiJiWLp8HrAa8A1wo6R9A/3R5vq2ACZIAVgVa\nCrS9XkQEQET8Z9omLO0tvgus38V714+IV9Ppx0gKf7uZ6ecyqyntt+6bM+fDCifpXlNTf+csolrI\n2dOC3psG/cwGBubNFzpHWEdyuPWiiDgOeJHP74tpwLERMQI4H7i3wPbekbQ5gKSzJR2cIUO7GZL+\nKZ3+SofX1mbZPwLMzKxCelPBfBrYNm8+1830bcBdkh4g2Q8bdHj9FOBWSY+TDCZ6EUDS5E7aPgm4\nWdIUYDvggU7WyXXx/QTgJkmPkPRqc2k7fYCNIuKVzj6smZmVV10uV6xBoZUnaQIwMSKeK2EbV0bE\nGaXafl47Xwe+HBE/KbTeiFHX5nwvWasm89tmMG70cIYP377qD81BbRxCBOcspqam/nXdr/V5vamH\nCTAWOLXEbVxe4u0jqY5kVO2VpW7LzMyy6U2DfoiIOcDoErfxdim3n7aRA44tdTtmZpZdb+thmpmZ\nlYQLppmZWQa96pDsymjhvNmVjmC2DP+ftN7KBbPG3Tru6CUXiVerxsaGqs8IzllMzc2DKx3BrOhc\nMGvc0KFDa2EId9VnBOc0s8J8DtPMzCwDF0wzM7MMXDDNzMwycME0MzPLwAXTzMwsAxdMMzOzDFww\nzczMMnDBNDMzy8AF08zMLINMd/qRdAzwRWAccGhE/KKkqczMzKpMtz1MSZcCXwcOBVYFjpd0RamD\nmZmZVZMsh2T3IXmY8aKIaAP2BvYraSozM7Mqk6VgftphfrVOlpmZmfVqWQrmXcCdQKOkM4DHgTtK\nmsrMzKzKdDvoJyIukbQv8CbQDIyNiPtKnszMzKyKdFswJe0BLATuTRd9JmkYMD0i3i9lOOteS0tL\n1T9MuK2t8g88bm4eTH19fUUzmFlty3JZyYXADsCkdH5P4O/AWpIujIjbS5TNMjj2vNvpN2BQpWNU\ntYXzZjP+7IMYMmSLSkcxsxqWpWDWAdtExJsAkjYEbiEpnFMAF8wK6jdgEA1rb1TpGGZmvV6WQT8b\ntRdLgIh4B9ggIuaVLpaZmVl1ydLDfFLS7cAvgb7At4A/StofqO6TZ2ZmZkWSpYd5MvAUMBo4juSy\nkn8GciQ3NDAzM+v1slxW8omkXwC/JTmfCbBhRDxQ0mRmZmZVJMu9ZM8H3gIeIxnkMwV4tKSpekDS\nOpKuW8FtvFusPB22e6+kwQVef0NSvaRmSQeky06StFcp8piZ2fLLcg7zBGBIRMwpdZgV9CPgmhXc\nRq4YQXqw7RxJ7/2rgID7gBuB30uaEhGflTCXmZllkKVg/h1oK3WQFSFpLWBYRLyUzk8HngSGklw/\nOgDYEYiIGClpa+BykkFM6wKnRMRTedvbBhhPUsTmAqMi4oMu2t4DGEvSW28Ajo6IVyX9ANgfmEly\nh6Q6SRcDMyNioqQtgQkRMSLdVF/gXGANSU9GxH2Snk23cS9mZlZRWQrmdOAJSX8APkqX5SLi30sX\na7kNByJvfjDJdaLvAq3AjhExRtJrkgaQPNvzrIh4SdJRwPEkA5va3QAcFxHTJH0XOAe4oIu2vwh8\nOyJmSjoPOELSg8CIiBgmaXXgpXTdQr3MT0meN6q8Ww++kH4OF0wzswrLUjBnpF/t6rpasYLWAWbl\nzc+NiLcBJC2IiGnp8nkkT1t5B7hQ0j+A/unyfFsBEyRB8gzQlgJtvwNcJWk+sBFJz1bAMwARsUjS\nXzp5X2f7sa7D8pmAz2MWQWNjA01N/btdL8s61cA5i8s5i6tWci6vLKNkL86fl9QH2LRUgXpoNjAw\nb75QT66O5HDrMWkP8mJgkw7rTAOOjYi3Je1OUpC7cj2wWUQskHRLuv2XgTHpvloF2C5ddxGwQTq9\nfSfb+pRlB2I1pp/NVlBr63zmzPmw4DpNTf27XacaOGdxOWdx1ULOnhb0LKNkx0j6QNKnkj4DFgP3\n9Ki10nka2DZvPtfN9G3AXZIeINkHG3R4/RTgVkmPkwwmehFA0uRO2r4NeFzSfcB7JHdBep7kMpw/\nA3eny3PAfwFfT7ezXSfZXgS+IenIdNlOwCPdfnozMyu5LIdkzwK+DPwYOI/knNqWJcy03NLe3V8k\nfTkinouIDfNey59u79VdmX513M6G6fe/AiM6vg4818l7zuoi06XApZ28tGMn67b32J8j3beSViHZ\n751u38zMyivLnX5mR8RrwPMkN2G/BditpKl6ZixwaonbuLzE2893IvCTiCjlpS5mZpZRlh7mfEkj\nWHq4cCqwfmljLb/0OtHRJW7j7VJuv0NbE8rVlpmZdS9LD/N04CDgdySDX6ax4jcIMDMzqylZRsm+\nBJyRzh4GIGnnUoYyMzOrNl0WzLQoXsHSO93MkrQpcBnJ3Wf6lSeiFbJwnq866Y73kZkVQ6Ee5nXA\nTcDGwNj0Nm3jSS4p+WIZslkGt447mtbW6n4saWNjQ8UzNjd3ee97M7NMChXMVSJifHrx/Rskl5N8\nLf+eq1Z5Q4cOrYmLhKs9o5lZdwoN+vkIIH1SxmfAXi6WZma2ssoyShagLSJmdb+amZlZ71TokOz6\nksaS3Bs1fxqq72klZmZmJVWoYE5kaYHMn67Gp5WYmZmVVJcFs5OnlDRGRGvJE5mZmVWhbm9cIOnL\nwJ3Amum1mVOAIyPimRJnMzMzqxpZBv1cDRwKvBcRbwEnAb7PqZmZrVSyFMx+EfFy+0xEPAKsVrpI\nZmZm1SdLwZybHpYFQNIxgM9lmpnZSiXL471OBX4O/JOkecCrwDElTWVmZlZlsjytZDqwi6Q1gb4R\n8UHpY5mZmVWXLKNkJwM50usvJX0GLAJeBn4SEW0lTWhmZlYFshySfQX4GLiZpGgeDXwBmEnyNJND\nS5bOzMysSmQpmMMjYvu8+eclTY2IYyQdW6pgZmZm1STLKNlVJG3dPpNO95HUD6gvWTIzM7MqkqWH\neTrwgKTZJAV2beDbwEXAL0qYzczMrGrU5XK5bleStCqwDbCY5JzmpsCrEdH9m62kWlpacq2t8ysd\no6DGxgaqPSM4Z7E5Z3FVQ87m5sHU1xc+sFgLD4xvaurfo4eIZCqYsKRoHkZya7wdIqKhJw1ace10\n2MW5fgMGVTqGmfVyC+fNZvzZBzFkyBYF1+vNBTPLZSWbkRTJ44CBwE+Ab/akMSu+fgMG0bD2RpWO\nYWbW63VZMCUdCpwMbAfcTXLe8oaI+EGZspmZmVWNQj3MX6VfO0fEqwCSfM7SzMxWSoUK5peA44HH\nJb1B8kzMLKNqzczMep0ur8OMiJci4iySu/qMA/YE1pN0v6T9s2xc0jqSrkunT5P0sqQjipA7v41b\nJO1TzG122P4mkp4q1fYLtHuNJI/mMTOrEt3euCAiFkfEbyPiYJLiOYmkgGbxI+CadPoQ4IiIuKtH\nSbuWS796m6vIvp/NzKzElusQa0TMBq6QdIek/hHR5dhhSWsBwyLiJUmjge2BmyR9CzgQOIqk0N0Z\nEVdLuoXknrWDSR5QfWe63sbAN4A3gOtJivYGwD0RcWFee6sAE4HNSf4QuCAiHu0i23GAIuI8SasD\nr0TEppKmAM8CWwNrAUfkvacPyWPOXgT+K833JjAE+HNEnCppIHAb0J9k316QTu8dEWMknQt8JSK+\nkT5XdGNgKPARsEn6uY6LiGcjokXSVpIaI8LPHzUzq7Ast8brzG+ACyQdVWCd4UAARMT1wHPASKAf\ncCSwC7A7cLCkoSTF8/WI2Ifk5gibRMT+wP+QFM5m4KmI2BfYiWQEb7s64ERgTkTsARwM/KxAtq56\npDngTxGxN/AwS4v6qsAvgScj4rK0vS2AUcCOwNclrUdSIB9KMxxBcnP636efk/T7hpL6pp/p1+ny\nN9LPdTUwOi/PtHQ/mZlZhfVoEE9EDM+w2jrArA7L6kh6b4OBP6TLBpIUH4C/pt/fJymaAG3A6kAr\nsIOkEcAHJL3QfFsDu0naKZ3vm7F31vEC1mfT728B66fTX0oz9c9bb3pELACQNDPNuCVwK0BEvCPp\nA5KeaoukYSQ96KeBPYCNIyIk5bf5NssWyJkk+9HMrOIaGxtoaurf7XpZ1qlFWW5ccHJEXJc33w+4\nLCJO6+ats0mKYb4cSa/pbxGxX7q9M4EXgMM7rNuxkB0HvB8RJ0vanGV7YqTbfTsixqWHg88iKbad\nWURy+BOSQ8UdM3b0DHAA8GdJDwIfdrHeKyS9yOclbURy3933SHrkPyXpUb5OcvOHh7rIlm9tPv9H\nh5lZRbS2zu/2Lj41cqefHr0vyyHZQ9KRsetJ2p3k0GqWQTZPA9t2XBgRLwCTJD0haSqwGTAjfTl/\nux2nJwH7SnoYOBeYKmnDvNcnAlum5yGnAG9GRE7S9zoZRfsgsImkx0kOnc7r4jO0Z8hFxCLgFJIb\nztfz+X2QIymEe0l6lKRInhgRnwH3kxyi/n2abTuWHo5dpp0O290OeLyLbGZmVkZZb77+z8CPgQXA\nwRHxlywblzQBmBgRz61QyhUg6UBgfkRMrlSGnpD0ReBfI6JjT3oZI0Zdm/Ot8cys1Oa3zWDc6OEr\n9b1ku+1hStoLGAPcQTKI5/vp4cYsxgKn9iRYET1Xa8UydRpwYbdrmZlZWWQZ9HMTMCoiJkuqIymA\nfwE2LPw2iIg5fP5cY1lFxFuVbL+nIqLSf2iYmVmeLAXzS+3XW6bPv/yZpAdKG8vMzKy6ZCmY60j6\nNclDo3cnuR5xVElTmZmZVZksBXMiySURlwDvkhTMn7P0YnyroIXzZlc6gpmtBPy7JlvBXDciHpJ0\nSXqJxI2SxpQ6mGVz67ijaW2dX+kYBTU2NlR9RnDOYnPO4qqGnM3NgyvafqVlKZgLJX2hfUbSriQX\n/lsVGDp0aC0M4a76jOCcxeacxVUrOXuzLAXzTJIL7zeT9DzQSN5Nyc3MzFYGBa/DTC/6bwV2AC4D\n5pLcK3Vq6aOZmZlVjy4LpqR/Ay5i6U3FzwNuB9YgGQRkZma20ijUwxwJ7BERfwOOBn4bETeSHKLd\ntxzhzMzMqkWhgvlZ++OrgBGkT9dIb16Q5ebrZmZmvUahQT+LJa0NrEny1IyHACRtDHxShmxmZmZV\no1AP8xKSBxv/CbgxImZKOoLkwc8+h2lmZiuVLnuYEfErSU+R3Ljg+XTxQuCEiJhSjnBmZmbVouB1\nmBExg6UPdyYi7i95IjMzsyrU7fMwzczMzAXTzMwsExdMMzOzDFwwzczMMnDBNDMzy8AF08zMLAMX\nTDMzswyyPA/TqlhLS0vFn8Lenba2yj8pPgvnLC7nLK5qzdncPJj6+vpKxygLF8wad+x5t9NvwKBK\nxzCzldDCebMZf/ZBDBmyRaWjlIULZo3rN2AQDWtvVOkYZma9ns9hmpmZZeCCaWZmloELppmZWQY1\nVTAlrSPpunT6NEkvp8/oLGYbt0japwjbOU7SuE6W3yFp1a7akfRi+v0kSXutaA4zMyuOmiqYwI+A\na9LpQ4AjIuKuIreRS7+KsZ3PiYijIuKTDO3cCHxfUq39G5mZ9Uo1M0pW0lrAsIh4SdJoYHvgJknf\nAg4EjiIpQHdGxNWSbgE+BgYDqwF3puttDHwDeAO4HvgCsAFwT0RcmNfeKsBEYHOSPywuiIhHu8i2\nBvCf6bbrgdPSl4ZLeghoAiZExA2S3gCU995+wG3AusD/An0BIuJTSc8C+wP39minmZlZ0dRS72U4\nEAARcT3wHDAS6AccCewC7A4cLGkoSfF8PSL2AV4BNomI/YH/ISmczcBTEbEvsBNwcl5bdcCJwJyI\n2AM4GPhZgWwnA69FxM7At9LtAXyStn8I8K/psvxeZV363r9FxO7AJSQFt90LwJ7d7hkzMyu5mulh\nAusAszosqwO2JulF/iFdNhBov4r2r+n390mKJkAbsDrQCuwgaQTwAUkvNN/WwG6S2otfX0mNEdHa\nSbahwO8AImI6MF7Sd/Lan0VS2Dsj4IH0vSFpTt5rMwGfxzSzqtXY2EBTU/9llnWc7y1qqWDOJimG\n+XLANJIe2n4Aks4k6Zkd3mHdug7zxwHvR8TJkjYHRnd4fRrwdkSMSw8Hn0VSbDvzCrADcI+kzYAf\nAI+Q7VzoyyS9499KGkJyaLZdI8nnNjOrSq2t85kz58Ml801N/ZeZr0Y9Lei1dEj2aWDbjgsj4gVg\nkqQnJE0FNgNmpC/nF6yO05OAfSU9DJwLTJW0Yd7rE4EtJU0BpgBvRkRO0vc6Gd06EdgsXfcW4MoC\n7Xdcdh2wkaQnSAptfg92J5LCa2ZmFVaXyxVjQGh5SJoATIyI5yqY4UBgfkRMLnE7qwC/B74aEV3+\nI40YdW3Ot8Yzs0qY3zaDcaOHL3Mv2RrpYXY84phJLfUwAcYCp1Y4w3OlLpapE4GfFCqWZmZWPrV0\nDpOImMPnzzWWO8NbZWpnQjnaMTOzbGqth2lmZlYRLphmZmYZ1NQhWfu8hfN81YmZVcbK9vunpkbJ\n2ue1tLTkWlvnVzpGQY2NDVR7RnDOYnPO4qrWnM3Ng6mvX3qDst48StY9zBo3dOjQWvjPWfUZwTmL\nzTmLq1Zy9mY+h2lmZpaBC6aZmVkGLphmZmYZuGCamZll4IJpZmaWgQummZlZBi6YZmZmGbhgmpmZ\nZeCCaWZmloELppmZWQYumGZmZhm4YJqZmWXggmlmZpaBC6aZmVkGLphmZmYZuGCamZll4AdI17iW\nlpaqfAp7vra26nxSfEfOWVzOWVzOWVhz82Dq6+tL2oYLZo079rzb6TdgUKVjmJlVzMJ5sxl/9kEM\nGbJFSdtxwaxx/QYMomHtjSodw8ys1/M5TDMzswxcMM3MzDJwwTQzM8ugZgqmpHUkXZdOnybpZUlH\nFLmNWyTtU8xtpts9XNJFBV6/WNJJ6fRp6ff1JF1d7CxmZtYzNVMwgR8B16TThwBHRMRdRW4jl36V\nW3673weIiFnAh5J2r0AeMzProCZGyUpaCxgWES9JGg1sD9wk6VvAgcBRJAXnzoi4WtItwMfAYGA1\n4M50vY2BbwBvANcDXwA2AO6JiAvz2lsFmAhsTvJHxQUR8WiBbDcAA4ENgZ9FxHWSdgb+A3gfWAQ8\nI2lwmvEr6XufAr6VbqpO0vlAo6RrIuI04HbgB8BjK7L/zMxsxdVKD3M4EAARcT3wHDAS6AccCewC\n7A4cLGkoSfF8PSL2AV4BNomI/YH/ISmczcBTEbEvsBNwcl5bdcCJwJyI2AM4GPhZgWxDSIrgPsA+\nwJnp8gnAMRHxf4EXM3zGXET8BGhNiyVp9l0zvNfMzEqsJnqYwDrArA7L6oCtSXqRf0iXDQTar1z9\na/r9fZLCA9AGrA60AjtIGgF8QNILzbc1sJukndL5vpIaI6K1k2yzgX+VdGi6rfZ9un5EvJpOP0ZS\n9Duq62TZEhHxqaRPCq1jZmbQ2NhAU1P/krZRKz3M2STFMF8OmAb8LSJGRMQI4FbghU7e37EwHQe8\nHxHfBq4g6anmmwbckW7zG8B/kxTbzpxJ0ls9FvgVS/fpDEn/lE5/Jf2+CBgkqY+kgcCmnWRcklVS\nHbC4i3b2ed0VAAAF60lEQVTNzCzV2jqfOXM+zPTVU7VSMJ8Gtu24MCJeACZJekLSVGAzYEb6cv7g\nnY7Tk4B9JT0MnAtMlbRh3usTgS0lTQGmAG9GRE7S9zoZRXsv8M+SHiI53PuhpFWBE0jOsz4CbEVy\nyHUW8DDwF5JzqK/mbac948uSfpFObwP8sfCuMTOzcqjL5SoxKHT5SZoATIyI5yqY4UBgfkRMLlN7\nlwF3R0SXRXPEqGtzvjWema3M5rfNYNzo4ZnvJdvU1L/g6bCu1EoPE2AscGqFMzxXxmK5HtC/ULE0\nM7PyqZVBP0TEHGB0hTO8Vca2ZgGnlKs9MzMrrJZ6mGZmZhXjgmlmZpaBC6aZmVkGNXMO0zq3cN7s\nSkcwM6uocv0erJnLSqxzLS0tudbW+ZWOUVBjYwPVnhGcs9ics7ics7Dm5sHU19dnWrenl5W4YNa+\n3IrcuaIcmpr6r9DdNcrFOYvLOYvLOYtnZbgO08zMrGJcMM3MzDJwwTQzM8vABdPMzCwDF0wzM7MM\nXDDNzMwycME0MzPLwNdhmpmZZeAeppmZWQYumGZmZhm4YJqZmWXggmlmZpaBC6aZmVkGLphmZmYZ\n+AHSNUBSH+Ba4EvAR8AJEfG/ea8fCFwILAZujogbKxKU7rOm6/QDHgZGRURUW0ZJRwH/QrI/XwRO\njYiyX3+VIedhwPeAHPDLiLiq2jLmrXc9MDcizitzxPb2u9uXZwDfBeaki06KiJYqzLkDcDlQB8wA\nRkbEx9WUU9J6wJ15q38Z+F5EXF9NOdPXDwHOJ/kZujkiriu0Pfcwa8PBQH1E7AycS/IDA4CkVYEr\ngL2BPYDRkgZVJGWiy6wAkoYBjwGbkvwnrYRC+3MN4IfAnhGxKzAAOKAiKQvn7AuMA74KfAU4VVJj\nNWVsJ+kkYGsq9+8N3efcHjg2IkakX2UvlqlC/+Z1wPXAcRGxGzCJ5OeoErrMGRGz2vcjSTF6Brih\nMjG7/Xdv/925C3CWpAGFNuaCWRt2AR4EiIg/AcPyXtsKmB4R8yLiE+AJYPfyR1yiUFaAepL/xGXv\nWeYplHER8JWIWJTOrwL8o7zxlugyZ0R8CmwZER8CTUBfoOw9jUIZASTtDOwITCTpFVVKd/8v/w9w\nvqTHJZ1b7nB5CuUcCswFzpQ0BRhYiSM0qe72Z3uBvwo4pRJHaFLd5fwEGAisQfL/s2BOF8zasBbw\nQd78p+mhhvbX5uW99iFJr6hSCmUlIv4YEW+XP9YyuswYEbmImAMgaQywZkQ8UoGM0P2+/EzSocCz\nwGRgYZnzQYGMkjYAxgKnUdliCd3sS+AO4CRgL2BXSfuXM1yeQjnXBXYGrga+BnxV0ogy52vX3f4E\nOBB4KSJeLV+sz+ku5+UkPeCXgHsjIn/dz3HBrA0fAP3z5vtExGfp9LwOr/UH2soVrBOFslaLghkl\n9ZH0U5LDnYeVO1yebvdlRPwa2AhYDRhZxmztCmU8nOSX/AMk51qPllSJjND9vhwfEa3pUZr7ge3K\nmm6pQjnnkhxNiohYTNJz+lzPrkyy/JwfQ3IIuZK6zClpY5I/5gYDmwDrSTq80MZcMGvDk8DXASQN\nB17Ie20asIWktSXVkxyOfar8EZcolLVadJdxIkkBOiTv0GwldJlT0lqSHpVUnx7uWgB8Wk0ZI+Lq\niBiWnsu6BLg9In5RgYxQeF8OAF6UtGZ6GHEvYGpFUhb+v/ka0CBpSDq/G0nPqBKy/JwPi4hK/i6C\nwjlXJ/mZ+SgtorNJDs92yTdfrwHpD3H7SC+A40nOuTRExA2SDiA59NUHuCkiJlQmafdZ89abTOVG\nInaZkeQX5VSSgUntxkfE3WUNSaZ/9xNJRnZ+AjwPjCn3uaLl+Pf+DqCIOL+c+fLa725fHgWcQTKS\n8pGI+EGV5mz/46MOeDIizqjSnE3AQxGxfSXytcuQ8wzgaJKxC9OBE9Pee6dcMM3MzDLwIVkzM7MM\nXDDNzMwycME0MzPLwAXTzMwsAxdMMzOzDFwwzczMMnDBNDMzy8AF08zMLIP/D12Qs6KCQTj7AAAA\nAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1092,7 +1149,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.4.2" } }, "nbformat": 4, From 2bd71a47164b08ba149e3e76ec1b6aa0468a44ad Mon Sep 17 00:00:00 2001 From: Lance Rogers Date: Mon, 22 Jun 2015 19:45:07 -0400 Subject: [PATCH 4/5] Created woman and children file --- my week5 day1 homework.ipynb | 407 +---------------------------------- 1 file changed, 6 insertions(+), 401 deletions(-) diff --git a/my week5 day1 homework.ipynb b/my week5 day1 homework.ipynb index 9c5b36b..b10da02 100644 --- a/my week5 day1 homework.ipynb +++ b/my week5 day1 homework.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 29, + "execution_count": 2, "metadata": { "collapsed": true }, @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 3, "metadata": { "collapsed": false }, @@ -27,7 +27,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 4, "metadata": { "collapsed": false }, @@ -858,413 +858,18 @@ }, { "cell_type": "code", - "execution_count": 112, + "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
PassengerIdSurvived
08920
18931
28940
38950
48961
58970
68981
78990
89001
99010
109020
119030
129041
139050
149061
159071
169080
179090
189101
199111
209120
219131
229141
239150
249161
259170
269181
279190
289200
299210
.........
38812800
38912811
39012820
39112831
39212841
39312850
39412860
39512871
39612880
39712891
39812900
39912910
40012921
40112930
40212941
40312950
40412960
40512970
40612980
40712990
40813001
40913011
41013021
41113031
41213041
41313050
41413061
41513070
41613080
41713090
\n", - "

418 rows × 2 columns

\n", - "
" - ], - "text/plain": [ - " PassengerId Survived\n", - "0 892 0\n", - "1 893 1\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 1\n", - "22 914 1\n", - "23 915 0\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 1\n", - "390 1282 0\n", - "391 1283 1\n", - "392 1284 1\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 0\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]" - ] - }, - "execution_count": 112, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "new_test = pd.read_csv(\"titanic/test.csv\")\n", "new_test['Survived'] = 0\n", "new_test.loc[(new_test['Sex'] == 'male') & (new_test['Age'] <= 13), \"Survived\"] = 1\n", "new_test.loc[new_test['Sex'] == 'female', 'Survived'] = 1\n", "test = new_test[['PassengerId', 'Survived']]\n", - "test.to_csv(\"titanic/woman&children.csv\", index=False)\n" + "new_test.to_csv(\"titanic/womanandchildren1.csv\", index=False)\n" ] }, { From 62a1e744d57dd920256cf79f434e1f11102d1aec Mon Sep 17 00:00:00 2001 From: Lance Rogers Date: Mon, 22 Jun 2015 23:11:09 -0400 Subject: [PATCH 5/5] done for today --- my week5 day1 homework.ipynb | 148 ++++++++++++++++++++++++++++------- 1 file changed, 118 insertions(+), 30 deletions(-) diff --git a/my week5 day1 homework.ipynb b/my week5 day1 homework.ipynb index b10da02..715f06e 100644 --- a/my week5 day1 homework.ipynb +++ b/my week5 day1 homework.ipynb @@ -510,7 +510,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 33, "metadata": { "collapsed": false }, @@ -524,65 +524,133 @@ " \n", " \n", " \n", + " \n", " Survived\n", " \n", " \n", " Sex\n", " Age_Range\n", + " Pclass\n", " \n", " \n", " \n", " \n", " \n", - " female\n", - " Adult\n", - " 0.777293\n", + " female\n", + " Adult\n", + " 1\n", + " 0.976190\n", + " \n", + " \n", + " 2\n", + " 0.909091\n", + " \n", + " \n", + " 3\n", + " 0.455696\n", + " \n", + " \n", + " Child\n", + " 1\n", + " 0.000000\n", + " \n", + " \n", + " 2\n", + " 1.000000\n", + " \n", + " \n", + " 3\n", + " 0.478261\n", + " \n", + " \n", + " Unknown\n", + " 1\n", + " 1.000000\n", + " \n", + " \n", + " 2\n", + " 1.000000\n", + " \n", + " \n", + " 3\n", + " 0.595238\n", + " \n", + " \n", + " male\n", + " Adult\n", + " 1\n", + " 0.377551\n", + " \n", + " \n", + " 2\n", + " 0.066667\n", + " \n", + " \n", + " 3\n", + " 0.127193\n", " \n", " \n", - " Child\n", - " 0.593750\n", + " Child\n", + " 1\n", + " 1.000000\n", " \n", " \n", - " Unknown\n", - " 0.679245\n", + " 2\n", + " 1.000000\n", + " \n", + " \n", + " 3\n", + " 0.360000\n", " \n", " \n", - " male\n", - " Adult\n", - " 0.173077\n", + " Unknown\n", + " 1\n", + " 0.238095\n", " \n", " \n", - " Child\n", - " 0.567568\n", + " 2\n", + " 0.222222\n", " \n", " \n", - " Unknown\n", - " 0.129032\n", + " 3\n", + " 0.095745\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Survived\n", - "Sex Age_Range \n", - "female Adult 0.777293\n", - " Child 0.593750\n", - " Unknown 0.679245\n", - "male Adult 0.173077\n", - " Child 0.567568\n", - " Unknown 0.129032" + " Survived\n", + "Sex Age_Range Pclass \n", + "female Adult 1 0.976190\n", + " 2 0.909091\n", + " 3 0.455696\n", + " Child 1 0.000000\n", + " 2 1.000000\n", + " 3 0.478261\n", + " Unknown 1 1.000000\n", + " 2 1.000000\n", + " 3 0.595238\n", + "male Adult 1 0.377551\n", + " 2 0.066667\n", + " 3 0.127193\n", + " Child 1 1.000000\n", + " 2 1.000000\n", + " 3 0.360000\n", + " Unknown 1 0.238095\n", + " 2 0.222222\n", + " 3 0.095745" ] }, - "execution_count": 73, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\nHSUAAAAASUVORK5CYII=\n", + "image/png": "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\nnTQAAAAASUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -601,7 +669,7 @@ " \n", "train['Age_Range'] = train['Age'].map(age_range)\n", "\n", - "survivor_table = pd.pivot_table(train, index=['Sex', 'Age_Range'], values=['Survived'])\n", + "survivor_table = pd.pivot_table(train, index=['Sex', 'Age_Range', 'Pclass'], values=['Survived'])\n", "survivor_table.plot(kind='barh')\n", "survivor_table\n" ] @@ -858,7 +926,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 23, "metadata": { "collapsed": false }, @@ -868,8 +936,28 @@ "new_test['Survived'] = 0\n", "new_test.loc[(new_test['Sex'] == 'male') & (new_test['Age'] <= 13), \"Survived\"] = 1\n", "new_test.loc[new_test['Sex'] == 'female', 'Survived'] = 1\n", - "test = new_test[['PassengerId', 'Survived']]\n", - "new_test.to_csv(\"titanic/womanandchildren1.csv\", index=False)\n" + "new_test = new_test[['PassengerId', 'Survived']]\n", + "new_test.to_csv(\"titanic/womanandchildren1.csv\", index=False)\n", + "\n", + "# test didnt improve enough to matter " + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "n_test = pd.read_csv(\"titanic/test.csv\")\n", + "n_test['Survived'] = 0\n", + "n_test.loc[(n_test['Sex'] == 'male') & (n_test['Age'] <= 13) & (n_test['Pclass'] < 3), \"Survived\"] = 1\n", + "n_test.loc[(n_test['Sex'] == 'female') & (n_test['Pclass'] < 3), 'Survived'] = 1\n", + "n_test = n_test[['PassengerId', 'Survived']]\n", + "n_test.to_csv(\"titanic/richMenWomanChildren.csv\", index=False)\n", + "\n", + "\n" ] }, {