{ "metadata": { "name": "", "signature": "sha256:7c290f8b798370c424c6e3feccbf4dbef8c7884f2c5403d2f420eff968cf4d98" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from sklearn.ensemble import RandomForestClassifier\n", "pd.set_option('display.max_columns', 50)\n", "\n", "train = pd.DataFrame.from_csv('train.csv')\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HazardT1_V1T1_V2T1_V3T1_V4T1_V5T1_V6T1_V7T1_V8T1_V9T1_V10T1_V11T1_V12T1_V13T1_V14T1_V15T1_V16T1_V17T2_V1T2_V2T2_V3T2_V4T2_V5T2_V6T2_V7T2_V8T2_V9T2_V10T2_V11T2_V12T2_V13T2_V14T2_V15
Id
1 1 15 3 2 N B N B B D 7 B B 15 1 A B N 36 11 N 10 B 2 37 1 11 6 Y N E 2 2
2 4 16 14 5 H B N B B C 12 B B 10 3 A B Y 78 10 Y 17 C 2 22 1 18 5 Y Y E 2 1
3 1 10 10 5 N K N B B E 12 H B 15 1 A R Y 71 21 Y 13 C 6 37 2 14 6 Y Y E 6 1
4 1 18 18 5 N K N B B E 3 H B 15 1 A R N 71 13 N 15 A 2 25 1 1 6 Y N C 2 6
5 1 13 19 5 N H N B B E 7 H B 10 1 A J N 75 10 Y 11 B 1 22 1 2 7 N N E 1 1
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 35, "text": [ " Hazard T1_V1 T1_V2 T1_V3 T1_V4 T1_V5 T1_V6 T1_V7 T1_V8 T1_V9 T1_V10 \\\n", "Id \n", "1 1 15 3 2 N B N B B D 7 \n", "2 4 16 14 5 H B N B B C 12 \n", "3 1 10 10 5 N K N B B E 12 \n", "4 1 18 18 5 N K N B B E 3 \n", "5 1 13 19 5 N H N B B E 7 \n", "\n", " T1_V11 T1_V12 T1_V13 T1_V14 T1_V15 T1_V16 T1_V17 T2_V1 T2_V2 T2_V3 \\\n", "Id \n", "1 B B 15 1 A B N 36 11 N \n", "2 B B 10 3 A B Y 78 10 Y \n", "3 H B 15 1 A R Y 71 21 Y \n", "4 H B 15 1 A R N 71 13 N \n", "5 H B 10 1 A J N 75 10 Y \n", "\n", " T2_V4 T2_V5 T2_V6 T2_V7 T2_V8 T2_V9 T2_V10 T2_V11 T2_V12 T2_V13 \\\n", "Id \n", "1 10 B 2 37 1 11 6 Y N E \n", "2 17 C 2 22 1 18 5 Y Y E \n", "3 13 C 6 37 2 14 6 Y Y E \n", "4 15 A 2 25 1 1 6 Y N C \n", "5 11 B 1 22 1 2 7 N N E \n", "\n", " T2_V14 T2_V15 \n", "Id \n", "1 2 2 \n", "2 2 1 \n", "3 6 1 \n", "4 2 6 \n", "5 1 1 " ] } ], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": [ "# Gonna go ahead and make some training data for almost all of the columns\n", "\n", "def makeNumerical(input_df):\n", " \n", " output_df = input_df.copy()\n", " non_numeric_cols = [col for col in output_df.columns\\\n", " if output_df[col].dtype != 'int64']\n", " for col in non_numeric_cols:\n", " vals = pd.unique(output_df[col])\n", " for i in xrange(len(vals)):\n", " output_df.loc[(output_df[col] == vals[i]), col] = i \n", "\n", " return output_df" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "train_numeric = makeNumerical(train)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "train_numeric.head(5)" ], "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HazardT1_V1T1_V2T1_V3T1_V4T1_V5T1_V6T1_V7T1_V8T1_V9T1_V10T1_V11T1_V12T1_V13T1_V14T1_V15T1_V16T1_V17T2_V1T2_V2T2_V3T2_V4T2_V5T2_V6T2_V7T2_V8T2_V9T2_V10T2_V11T2_V12T2_V13T2_V14T2_V15
Id
1 1 15 3 2 0 0 0 0 0 0 7 0 0 15 1 0 0 0 36 11 0 10 0 2 37 1 11 6 0 0 0 2 2
2 4 16 14 5 1 0 0 0 0 1 12 0 0 10 3 0 0 1 78 10 1 17 1 2 22 1 18 5 0 1 0 2 1
3 1 10 10 5 0 1 0 0 0 2 12 1 0 15 1 0 1 1 71 21 1 13 1 6 37 2 14 6 0 1 0 6 1
4 1 18 18 5 0 1 0 0 0 2 3 1 0 15 1 0 1 0 71 13 0 15 2 2 25 1 1 6 0 0 1 2 6
5 1 13 19 5 0 2 0 0 0 2 7 1 0 10 1 0 2 0 75 10 1 11 0 1 22 1 2 7 1 0 0 1 1
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ " Hazard T1_V1 T1_V2 T1_V3 T1_V4 T1_V5 T1_V6 T1_V7 T1_V8 T1_V9 T1_V10 \\\n", "Id \n", "1 1 15 3 2 0 0 0 0 0 0 7 \n", "2 4 16 14 5 1 0 0 0 0 1 12 \n", "3 1 10 10 5 0 1 0 0 0 2 12 \n", "4 1 18 18 5 0 1 0 0 0 2 3 \n", "5 1 13 19 5 0 2 0 0 0 2 7 \n", "\n", " T1_V11 T1_V12 T1_V13 T1_V14 T1_V15 T1_V16 T1_V17 T2_V1 T2_V2 T2_V3 \\\n", "Id \n", "1 0 0 15 1 0 0 0 36 11 0 \n", "2 0 0 10 3 0 0 1 78 10 1 \n", "3 1 0 15 1 0 1 1 71 21 1 \n", "4 1 0 15 1 0 1 0 71 13 0 \n", "5 1 0 10 1 0 2 0 75 10 1 \n", "\n", " T2_V4 T2_V5 T2_V6 T2_V7 T2_V8 T2_V9 T2_V10 T2_V11 T2_V12 T2_V13 \\\n", "Id \n", "1 10 0 2 37 1 11 6 0 0 0 \n", "2 17 1 2 22 1 18 5 0 1 0 \n", "3 13 1 6 37 2 14 6 0 1 0 \n", "4 15 2 2 25 1 1 6 0 0 1 \n", "5 11 0 1 22 1 2 7 1 0 0 \n", "\n", " T2_V14 T2_V15 \n", "Id \n", "1 2 2 \n", "2 2 1 \n", "3 6 1 \n", "4 2 6 \n", "5 1 1 " ] } ], "prompt_number": 4 }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HazardT1_V1T1_V2T1_V3T1_V4T1_V5T1_V6T1_V7T1_V8T1_V9T1_V10T1_V11T1_V12T1_V13T1_V14T1_V15T1_V16T1_V17T2_V1T2_V2T2_V3T2_V4T2_V5T2_V6T2_V7T2_V8T2_V9T2_V10T2_V11T2_V12T2_V13T2_V14T2_V15
Id
1 1 15 3 2 N B N B B D 7 B B 15 1 A B N 36 11 N 10 B 2 37 1 11 6 Y N E 2 2
2 4 16 14 5 H B N B B C 12 B B 10 3 A B Y 78 10 Y 17 C 2 22 1 18 5 Y Y E 2 1
3 1 10 10 5 N K N B B E 12 H B 15 1 A R Y 71 21 Y 13 C 6 37 2 14 6 Y Y E 6 1
4 1 18 18 5 N K N B B E 3 H B 15 1 A R N 71 13 N 15 A 2 25 1 1 6 Y N C 2 6
5 1 13 19 5 N H N B B E 7 H B 10 1 A J N 75 10 Y 11 B 1 22 1 2 7 N N E 1 1
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 39, "text": [ " Hazard T1_V1 T1_V2 T1_V3 T1_V4 T1_V5 T1_V6 T1_V7 T1_V8 T1_V9 T1_V10 \\\n", "Id \n", "1 1 15 3 2 N B N B B D 7 \n", "2 4 16 14 5 H B N B B C 12 \n", "3 1 10 10 5 N K N B B E 12 \n", "4 1 18 18 5 N K N B B E 3 \n", "5 1 13 19 5 N H N B B E 7 \n", "\n", " T1_V11 T1_V12 T1_V13 T1_V14 T1_V15 T1_V16 T1_V17 T2_V1 T2_V2 T2_V3 \\\n", "Id \n", "1 B B 15 1 A B N 36 11 N \n", "2 B B 10 3 A B Y 78 10 Y \n", "3 H B 15 1 A R Y 71 21 Y \n", "4 H B 15 1 A R N 71 13 N \n", "5 H B 10 1 A J N 75 10 Y \n", "\n", " T2_V4 T2_V5 T2_V6 T2_V7 T2_V8 T2_V9 T2_V10 T2_V11 T2_V12 T2_V13 \\\n", "Id \n", "1 10 B 2 37 1 11 6 Y N E \n", "2 17 C 2 22 1 18 5 Y Y E \n", "3 13 C 6 37 2 14 6 Y Y E \n", "4 15 A 2 25 1 1 6 Y N C \n", "5 11 B 1 22 1 2 7 N N E \n", "\n", " T2_V14 T2_V15 \n", "Id \n", "1 2 2 \n", "2 2 1 \n", "3 6 1 \n", "4 2 6 \n", "5 1 1 " ] } ], "prompt_number": 39 }, { "cell_type": "code", "collapsed": false, "input": [ "from sklearn import metrics\n", "\n", "features = train_numeric.columns[1:]\n", "y = train_numeric['Hazard']\n", "\n", "clf = RandomForestClassifier()\n", "clf.fit(train_numeric[features], y)\n", "\n", "test = makeNumerical(pd.DataFrame.from_csv('test.csv'))\n", "test[features].head()\n", "preds = clf.predict(test[features])\n", "\n", "Id = test.index\n", "\n", "out_df = pd.DataFrame(data=preds, index = Id, columns = ['Hazard'])\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "out_df.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", "
Hazard
Id
6 1
7 1
8 4
9 1
10 1
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ " Hazard\n", "Id \n", "6 1\n", "7 1\n", "8 4\n", "9 1\n", "10 1" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "out_df.to_csv(\"submission_2.csv\", index=True)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 57 }, { "cell_type": "code", "collapsed": false, "input": [ "sub_1 = pd.DataFrame.from_csv('submission_1.csv')\n", "sub_2 = pd.DataFrame.from_csv('submission_2.csv')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 46 }, { "cell_type": "code", "collapsed": false, "input": [ "sub_2.columns = ['Hazard']" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 54 }, { "cell_type": "code", "collapsed": false, "input": [ "sub_2.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", "
Hazard
Id
6 1
7 2
8 1
9 1
10 1
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 60, "text": [ " Hazard\n", "Id \n", "6 1\n", "7 2\n", "8 1\n", "9 1\n", "10 1" ] } ], "prompt_number": 60 }, { "cell_type": "code", "collapsed": false, "input": [ "sub_2.to_csv(\"submission_2.csv\", index=True)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 61 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }