{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "_cell_guid": "a2fc7b38-7a6a-8092-4fb6-2ef9d711380a"
      },
      "source": [
        "Check versions of all packages"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "2f71b2a9-4b2c-3507-a75f-6317e83582e9"
      },
      "outputs": [],
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "%matplotlib inline\n",
        "import pandas"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "82d71e0a-1058-4988-6aa5-2fdeb1cb197f"
      },
      "outputs": [],
      "source": [
        "train_df = pandas.read_csv(\"../input/train.csv\")\n",
        "test_df = pandas.read_csv(\"../input/test.csv\")\n",
        "train_df.info()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "a8fd535b-a7b6-682b-4be7-8232a43260d7"
      },
      "outputs": [],
      "source": [
        "train_df.head(5)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "608f1b84-8cb9-4a58-45a1-2db1d7238559"
      },
      "outputs": [],
      "source": [
        "train_df.describe(include=['O'])"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "af4029bb-2da2-baf7-b892-d19344f8e399"
      },
      "outputs": [],
      "source": [
        "sns.countplot(x='Survived', data=train_df)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "6c727089-e6f0-5d21-26d6-77f65c83b7f0"
      },
      "outputs": [],
      "source": [
        "g=sns.FacetGrid(train_df, col='Survived')\n",
        "g.map(plt.hist,'Age', bins =20)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "ad882aa5-1fa8-1697-5d7c-ae53458b740d"
      },
      "outputs": [],
      "source": [
        "g = sns.FacetGrid(train_df, col='Survived',row='Pclass')\n",
        "g.map(plt.hist,'Age',bins=10)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "75f2b32f-e4c4-2233-968c-53b612cd4150"
      },
      "outputs": [],
      "source": [
        "train_df = train_df.drop(['Name','Ticket','Embarked'], axis = 1)\n",
        "test_df = test_df.drop(['Name','Ticket','Embarked'], axis =1)\n",
        "train_df.head()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "51bc2f5c-e73e-62be-bc75-927b4165e3bf"
      },
      "outputs": [],
      "source": [
        "train_df['Sex'] = train_df['Sex'].replace({'male' : 1, 'female' : 0})\n",
        "test_df['Sex'] = test_df['Sex'].replace({'male' : 1, 'female' : 0})"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "c58c0ad4-46b7-5dab-0e87-5f2f8541ebec"
      },
      "outputs": [],
      "source": [
        "from sklearn import preprocessing\n",
        "fields = ['Sex',]\n",
        "train_df.groupby('Parch')['Parch'].count()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "815d8a0c-f740-b85d-1b35-f7ee6a89e5f9"
      },
      "outputs": [],
      "source": [
        "train_df['Age'] = train_df['Age'].fillna(train_df['Age'].mean())\n",
        "test_df['Age'] = test_df['Age'].fillna(test_df['Age'].mean())\n",
        "train_df.info()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "63e1b311-f4ba-53ae-50c9-05dd54f63ffc"
      },
      "outputs": [],
      "source": [
        "del train_df['Cabin']\n",
        "del test_df['Cabin']"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "da038d8a-ec75-48b8-d325-0c3423fb4644"
      },
      "outputs": [],
      "source": [
        "train_df.head()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "b2bef9fb-707a-33fc-e6c3-f5269b80e143"
      },
      "outputs": [],
      "source": [
        "train_data = train_df.values\n",
        "X_train = train_data[:,2:]\n",
        "y_train = train_data[:,1]\n",
        "print(X_train.shape, y_train.shape)\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "49c7b151-eb48-76f4-6032-cd7ce39e55e0"
      },
      "outputs": [],
      "source": [
        "from sklearn.ensemble import RandomForestClassifier\n",
        "rf = RandomForestClassifier()\n",
        "rf.fit(X_train, y_train)\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "7dcad56f-20b6-834e-5355-d97e95311db4"
      },
      "outputs": [],
      "source": [
        "test_df['Fare'] = test_df['Fare'].fillna(test_df['Fare'].mean())\n",
        "test_df.info()\n",
        "test_df.head()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "e97230ed-e64f-5707-8680-3e425dda96d4"
      },
      "outputs": [],
      "source": [
        "test_data = test_df.values\n",
        "X_test = test_data[:,1:]\n",
        "predictions = rf.predict(X_test)\n",
        "output = pandas.DataFrame({'PassengerId':test_df['PassengerId'], 'Survived': predictions})\n",
        "output.set_index('PassengerId',inplace=True)\n",
        "output.to_csv('output.csv', header=True)\n",
        "\n",
        "                           "
      ]
    }
  ],
  "metadata": {
    "_change_revision": 0,
    "_is_fork": false,
    "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.6.0"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}