{ "metadata": { "name": "", "signature": "sha256:2a0139656cdec61b92061d0aba3e8df2bb2344c2aaff3b37e6f5d1fb0b8c709e" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Machine Learning, Python y el Titanic" ] }, { "cell_type": "heading", "level": 4, "metadata": {}, "source": [ "Guillermo Moncecchi (@gmonce) - Basado en el cap\u00edtulo 2 del libro \"Learning scikit-learn: Machine Learning in Python\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_\u00bfEs posible tejer hip\u00f3tesis sobre qui\u00e9nes se salvaron en el Titanic? En este peque\u00f1o ejercicio, intentaremos generarlas a partir de la informaci\u00f3n que tenemos de los pasajeros, sabiendo si se salvaron o no. Para esto, el modelo predictivo a utilizar ser\u00e1n [\u00c1rboles de Decisi\u00f3n](http://en.wikipedia.org/wiki/Decision_tree_learning). El conjunto de datos (dataset) a utilizar puede bajarse [aqu\u00ed](http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt)_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Importamos las bibliotecas que vamos a utilizar. Las principales son numpy (la biblioteca principal para computaci\u00f3n cient\u00edfica con Python), y, por supuesto scikit-learn (que nos permitir\u00e1 entrenar y aplicar el modelo elegido). " ] }, { "cell_type": "code", "collapsed": false, "input": [ "import IPython\n", "import sklearn as sk\n", "import numpy as np\n", "import pydot\n", "import pyparsing\n", "\n", "print 'IPython version:', IPython.__version__\n", "print 'numpy version:', np.__version__\n", "print 'scikit-learn version:', sk.__version__\n", "print 'pydot version:', pydot.__version__\n", "print 'pyparsing version:', pyparsing.__version__" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " IPython version: 2.2.0\n", "numpy version: 1.9.0\n", "scikit-learn version: 0.15.2\n", "pydot version: 1.0.28\n", "pyparsing version: 1.5.6\n" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "_Notar que la versi\u00f3n de pyparsing es la 1.5.6, pydot tiene problemas con pyparsing >=2.0, por lo tanto tenemos que recurir a una versi\u00f3n anterior. M\u00e1s info: http://stackoverflow.com/questions/15951748/pydot-and-graphviz-error-couldnt-import-dot-parser-loading-of-dot-files-will/21462609#21462609_. Si tienen instalado Anaconda (muy recomendado!), basta con hacer:\n", "\n", " $ conda remove pyparsing\n", "$ conda install conda install pyparsing==1.5.6\n", "\n" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Preprocesamiento e Ingenier\u00eda de Atributos" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos a leer el archivo que tenemos..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La lista de atributos es: Ordinal, Class, Survived (0=no, 1=yes), Name, Age, Port of Embarkation, Home/Destination, Room, Ticket, Boat, and Sex. Empecemos por cargar nuestro archivo a un array de numpy, para poder trabajar m\u00e1s c\u00f3modos (hay herramientas mucho mejores para manejar estos atributos, como [pandas](http://pandas.pydata.org/), pero mantengamos las cosas simples, ya que nuestro problema no es complicado):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import csv\n", "with open('../data/titanic.txt', 'rb') as csvfile:\n", " titanic_reader = csv.reader(csvfile, delimiter=',', quotechar='\"')\n", " \n", " # Importo el dataset como array de numpy\n", " titanic_dataset = np.array([ row for row in titanic_reader])\n", " print titanic_dataset[12]\n", " \n", " # La primera fila tiene los nombres de los atributos\n", " feature_names = titanic_dataset[0]\n", " print feature_names\n", " \n", " # En la columna 2 tenemos la clase que queremos predecir (es decir, si sobrevivi\u00f3 o no)\n", " # Vale 1 si sobrevivi\u00f3, 0 si no.\n", " titanic_y=titanic_dataset[1:,2].astype(float)\n", " print titanic_y[12]\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['12' '1st' '1' 'Astor, Mrs John Jacob (Madeleine Talmadge Force)'\n", " '19.0000' 'Cherbourg' 'New York, NY' '' '17754 L224 10s 6d' '4' 'female']\n", "['row.names' 'pclass' 'survived' 'name' 'age' 'embarked' 'home.dest' 'room'\n", " 'ticket' 'boat' 'sex']\n", "1.0\n" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Veamos c\u00f3mo quedan las tuplas..." ] }, { "cell_type": "code", "collapsed": false, "input": [ "print zip(feature_names, titanic_dataset[1])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[('row.names', '1'), ('pclass', '1st'), ('survived', '1'), ('name', 'Allen, Miss Elisabeth Walton'), ('age', '29.0000'), ('embarked', 'Southampton'), ('home.dest', 'St Louis, MO'), ('room', 'B-5'), ('ticket', '24160 L221'), ('boat', '2'), ('sex', 'female')]\n" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "La primera tupla corresponde a Elisabeth Walton, de 29 a\u00f1os, que embarc\u00f3 en Southampton, iba a St. Louis,estaba en el cuarto B-5, y ten\u00eda el ticket 24160 L221, en primera clase. Elisabeth sobrevivi\u00f3.Estos datos los tenemos para todos los pasajeros. Aqu\u00ed es donde tenemos que elegir las features que vamos a usar para aprender. En este caso, elegimos la clase, la edad, y el sexo. El destino no parece influenciar mucho, d\u00f3nde embarc\u00f3 tampoco... de acuerdo a nuestro conocimiento... aunque nada nos impide agregarlo luego como feature. El nombre no puede ir, ya que es imposible que sirva para generalizar. Por supuesto, no podemos usar para predecir la clase que estamos tratando de adivinar, as\u00ed que la columna \"survived\" tambi\u00e9n desaparece." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Elegimos las columnas que tiene la clase, la edad, y el sexo\n", "titanic_X = titanic_dataset[1:, [1, 4, 10]]\n", "#print [row in titanic_X if row[1]=='NA']\n", "#print zip(titanic_X[0:100].tolist(), titanic_y[1:100].tolist())\n", "print zip(titanic_X[10:20].tolist(), titanic_y[10:20].tolist())\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[(['1st', '47.0000', 'male'], 0.0), (['1st', '19.0000', 'female'], 1.0), (['1st', 'NA', 'female'], 1.0), (['1st', 'NA', 'male'], 1.0), (['1st', 'NA', 'male'], 0.0), (['1st', '50.0000', 'female'], 1.0), (['1st', '24.0000', 'male'], 0.0), (['1st', '36.0000', 'male'], 0.0), (['1st', '37.0000', 'male'], 1.0), (['1st', '47.0000', 'female'], 1.0)]\n" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tenemos algunos problemas con la edad: en algunos casos no tiene valores:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print titanic_X[14]\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['1st' 'NA' 'male']\n" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tenemos que hacer algo: elegimos poner el valor medio..." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Calculo la edad promedio\n", "edades = titanic_X[:, 1]\n", "edad_promedio=np.mean(titanic_X[edades != 'NA', 1].astype(np.float))\n", "print edad_promedio\n", "\n", "# Actualizo\n", "titanic_X[titanic_X[:, 1] == 'NA', 1] = edad_promedio\n", "print zip(titanic_X[10:20].tolist(), titanic_y[10:20].tolist())\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "31.1941810427\n", "[(['1st', '47.0000', 'male'], 0.0), (['1st', '19.0000', 'female'], 1.0), (['1st', '31.1941810427', 'female'], 1.0), (['1st', '31.1941810427', 'male'], 1.0), (['1st', '31.1941810427', 'male'], 0.0), (['1st', '50.0000', 'female'], 1.0), (['1st', '24.0000', 'male'], 0.0), (['1st', '36.0000', 'male'], 0.0), (['1st', '37.0000', 'male'], 1.0), (['1st', '47.0000', 'female'], 1.0)]\n" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bien. Veamos ahora la clase y el sexo: el clasificador que vamos a usar espera atributos que son n\u00fameros reales y hoy los tenemos como categor\u00edas. Empecemos por sexo: solamente hay dos categor\u00edas, por lo que podemos decir (por ejemplo) que femenino es 0 y masculino es 1. scikit-learn nos provee de una clase LabelEncoder que hace esto...:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sklearn.preprocessing import LabelEncoder\n", "enc = LabelEncoder()\n", "# Le paso los valores que tengo y el asigna un entero a cada clase posible\n", "label_encoder = enc.fit(titanic_X[:, 2])\n", "print \"Categorical classes:\", label_encoder.classes_\n", "# Veamos como las transforma...\n", "integer_classes = label_encoder.transform(label_encoder.classes_)\n", "print \"Integer classes:\", zip(label_encoder.classes_,integer_classes)\n", "\n", "t = label_encoder.transform(titanic_X[:, 2])\n", "titanic_X[:, 2] = t\n", "print zip(titanic_X[10:20].tolist(), titanic_y[10:20].tolist())\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Categorical classes: ['female' 'male']\n", "Integer classes: [('female', 0), ('male', 1)]\n", "[(['1st', '47.0000', '1'], 0.0), (['1st', '19.0000', '0'], 1.0), (['1st', '31.1941810427', '0'], 1.0), (['1st', '31.1941810427', '1'], 1.0), (['1st', '31.1941810427', '1'], 0.0), (['1st', '50.0000', '0'], 1.0), (['1st', '24.0000', '1'], 0.0), (['1st', '36.0000', '1'], 0.0), (['1st', '37.0000', '1'], 1.0), (['1st', '47.0000', '0'], 1.0)]\n" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bien, nos resta la clase del pasajero. Tenemos primera, segunda y tercera. Para evitar un ordenamiento impl\u00edcito (0<1<2), vamos a usar otra t\u00e9cnica, llamada \"One Hot Encoding\". Lo mejor es verlo con un ejemplo, pero la idea es convertir cada atributo en n, siendo n los valores posibles de ese atributo. Para este caso, generaremos los atributos: primera_clase, segunda_clase, y tercera_clase, valuados en 0/1." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sklearn.preprocessing import OneHotEncoder\n", "lencoder = LabelEncoder()\n", "label_encoder = lencoder.fit(titanic_X[:,0])\n", "integer_classes = label_encoder.transform(label_encoder.classes_).reshape(3,1)\n", "#titanic_integer_classes=label_encoder.transform(titanic_X[:,0])\n", "enc = OneHotEncoder()\n", "one_hot_encoder=enc.fit(integer_classes)\n", "# First, convert clases to 0-(N-1) integers using label_encoder\n", "num_of_rows = titanic_X.shape[0]\n", "t = label_encoder.transform(titanic_X[:, 0]).reshape(num_of_rows, 1)\n", "# Second, create a sparse matrix with three columns, each one indicating if the instance belongs to the class\n", "new_features = one_hot_encoder.transform(t)\n", "# Add the new features to titanix_X\n", "titanic_X = np.concatenate([titanic_X, new_features.toarray()], axis = 1)\n", "#Eliminate converted columns\n", "titanic_X = np.delete(titanic_X, [0], 1)\n", "# Update feature names\n", "feature_names = ['edad', 'sexo', 'primera_clase', 'segunda_clase', 'tercera_clase']\n", "# Convert to numerical values\n", "titanic_X = titanic_X.astype(float)\n", "titanic_y = titanic_y.astype(float)\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "print 'New feature names:',feature_names\n", "print 'Values:',titanic_X[0]\n", "print 'Objetivo:', titanic_y[0]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "New feature names: ['edad', 'sexo', 'primera_clase', 'segunda_clase', 'tercera_clase']\n", "Values: [ 29. 0. 1. 0. 0.]\n", "Objetivo: 1.0\n" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "print titanic_X" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[ 29. 0. 1. 0. 0. ]\n", " [ 2. 0. 1. 0. 0. ]\n", " [ 30. 1. 1. 0. 0. ]\n", " ..., \n", " [ 31.19418104 1. 0. 0. 1. ]\n", " [ 31.19418104 0. 0. 0. 1. ]\n", " [ 31.19418104 1. 0. 0. 1. ]]\n" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ya tenemos pronto el dataset, reci\u00e9n ahora comienza el proceso de aprendizaje. Vamos primero separar el dataset en dos: un conjunto de entrenamiento y otro de testeo. Trabajaremos siempre sobre el de entrenamiento, y dejamos el de testeo para evaluar nuestros resultados. Lo dividimos en 75/25:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sklearn.cross_validation import train_test_split\n", "X_train, X_test, y_train, y_test = train_test_split(titanic_X, titanic_y, test_size=0.25, random_state=33)\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 11 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "\u00c1rboles de Decision" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos a crear a partir de los datos de entrenamiento, un \u00e1rbol de decision. Esto en scikit-learn es est\u00e1ndar... y f\u00e1cil, una vez que tenemos los datos en el formato pedido: basta crear el clasificador y usarlo para generar el modelo: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sklearn import tree\n", "clf = tree.DecisionTreeClassifier(criterion='entropy', max_depth=3,min_samples_leaf=5)\n", "clf = clf.fit(X_train,y_train)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The decision tree we have built represents a series of decisions based on the training data. To classify an instance, we should answer the question at each node. For example, at our root node, the question is: Is sex<=0.5? (are we talking about a woman?). If the answer is yes, you go to the left child node in the tree; otherwise you go to the right child node. You keep answering questions (was she in the third class?, was she in the first class?, and was she below 13 years old?), until you reach a leaf. When you are there, the prediction corresponds to the target class that has most instances (that is if the answers are given to the previous questions). In our case, if she was a woman from second class, the answer would be 1 (that is she survived), and so on. Let's drawit, using pyplot:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import StringIO\n", "dot_data = StringIO.StringIO() \n", "tree.export_graphviz(clf, out_file=dot_data, feature_names=feature_names) \n", "graph = pydot.graph_from_dot_data(dot_data.getvalue()) \n", "graph.write_png('titanic.png') \n", "from IPython.core.display import Image \n", "Image(filename='titanic.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "png": "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\n6dy5c7dv375y5crixYtFxMPDQ6/XK88Ibt++/erVq3Nzc0tKSsrKyk6dOrVq1ar+/fsr3b/++muN\nRtOrV6/KysrS0tKgoCAnJ6e9e/fq9fqEhAQR8fPz27hxY35+fn5+/vr165ULV5csWaI+w6tXr378\n8cf33XefYTdfHU7/9OnTrq6uIrJo0SKdTqfT6eLj40XE1dX19OnT1nrdf//927Ztu3TpUnl5+blz\n5z755BPlSR2zZ8+u0ch1FdPUjR49evTo0fbOAgAANEcO8pkeAADUB0eqAFr8r9Bp06Ypr86aNcvG\nf5fqdDqtVisiyhN79Xr9p59+KiJBQUHXrl0rKyuLjo427xgTE3Pr1q1apPrrr7++/fbbvXr1qqu5\nK5SHk5hYtmyZcYxJ5dHiCendu7dOp6vpyHUV06RRAQQAAPbCVcAAAKBZOHDgwJQpU4KDg11cXPz9\n/aOiolauXPnRRx8pr65YsWL37t1xcXFardbFxaVly5ahoaFz58798ccfRWTGjBkXLlwYMGCA4XEf\nTzzxRERExG+//TZjxgw3N7evv/46ISEhLCzM3d29ZcuWYWFhixcv3rVrl7KpraaCgoLmz5+vPJ+k\nDr344ospKSkDBgzw9PT09PQcMGBASkrKiy++aKPL/v37n3rqqc6dOzs7O3t5efXt2/ftt98+dOiQ\nn59fTUeuqxgAAADUgkZv5X93AQAAkpOTx44dy6cFoE6MGTNGRJKTk+2dCAAAaHbYAwgAAAAAAAA4\nMiqAAAAAAAAAgCOjAggAAAAAAAA4MiqAAAAAAAAAgCOjAggAAAAAAAA4MiqAAAAAAAAAgCOjAggA\nAAAAAAA4MiqAAAAAAAAAgCOjAggAAAAAAAA4MiqAAAAADSo1NTU6Otrb29vb2zs6OjotLa3aLkVF\nRQsWLOjevbubm5uPj8+gQYOSk5NNYk6ePJmQkBAZGenk5KTRaMwH+fHHH+fNm3fvvfd6eXm5ubl1\n7dr1+eefP3fuXE0z1Fjh5ORUoxiV+VQ7LzU5W0vJfJybN28uWrQoPDzcy8urVatWjzzyyNdff23t\noBMmTLA2DgAAQKOi0ev19s4BAAA0UsnJyWPHjm2YTwtKGcXhP5ksX7587ty55o1z5syx1uXatWv3\n3Xffzz//bNL+6quvLlq0yPCjSR3K/ExaLFT5+fllZmaGhYWpz9BawSsmJmbv3r13GGOeT7XzUpOz\n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\nvDp06NAdO3Zcv369vLz8/Pnzy5cv1+v1hkdeGOTm5h47dqywsHDGjBkiMmnSpPLycuOWlStXmnT5\n7rvvMjMzi4qK9u7dGxQUdP78+cWLF5unt3bt2i1btmi12uTk5Pz8/JKSkpycnIiIiJ9++ulvf/tb\ntfnXuUceeUREnnzyyfT09GvXrl27di0tLe3pp58WkaKiIiVm+vTpn3766c2bNwcOHNiqVSvlKuDS\n0tKtW7cal/8SExP37t37wQcfODvzYDoAAIB6xx5AAABglcPvAezRo8fJkydjY2N79uzZq1evQYMG\nde3a1fDqnj173nvvvSNHjly9erWiokJpdHd3Ly0tVf6s7Fw7cOBAZGSkiFy6dKljx47mLQEBAZcv\nXzbu8sUXXzz22GNKS1pa2siRI3v06KE8Y9d4N1xkZOShQ4eys7Ojo6MNWZ05c+Z3v/tdSEjIL7/8\nYjv/Onfp0qV+/fqdO3fOuPGZZ55Zs2aN4bRUVla++eab77///vXr1w0xvr6+M2fOfPPNN52cnERE\np9N17979wQcf/PTTT41PiwO/0xTsAQQAAPZCBRAAAFjl8BXAnJyc8ePHG9+Gb8iQIRs3bgwICEhK\nSnriiScszt3QqNStysrK3NzclHalwmXSotFoqqqqjLtcu3bN19dXabl27Vrr1q0NFTTjWpinp2dJ\nSUmLFi3E6Lpg5Q8uLi7l5eU28q/Ds2Ts8uXLb7311pdffnnx4kWtVvv8888PGDAgKioqKCjo119/\nFZHXX389Pj4+IiJi6dKl99xzj/znKuCjR4++/vrrf/3rX0VkypQp27ZtO3XqVIcOHYxPiwO/0xRU\nAAEAgL1QAQQAAFY5fAVQRCoqKg4fPrx///7Dhw/v3LmzuLj4T3/602effRYaGvrzzz8/++yzL774\nYlBQkLu7+82bN728vMSsAmjyoA/bLTWqAHp4eBj2G5pTYqzlb7HLHd4H0KI33njjr3/96+OPP/75\n55+LiFarvXjxYm5ubpcuXQwxZ8+eDQ4O7tix44ULF0TEycnJxlEc+P1GBRAAANgLN14BAADNmrOz\nc1RUVFRUlPznAlvlgb+nT58WkYSEBB8fHyVyz549dXXQffv2Ga4CzsrKEpHg4GDzsNDQ0KNHjx4+\nfFh53m6N8m8YeXl5H374oYiMGzdOadHpdOZhyhbIa9euKT86cI0PAACgceJJIAAAoPkaOHDg5s2b\n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\nAGhKqAACAADHlJubO3z48CtXrqSkpERFRdk7HdSBffv2xcXFtW/fPi0tLTg42N7pAAAANBlcBQwA\nABzQ3r17IyIiXF1djx49SvnPYURHRx89etTZ2TkiIuKbb76xdzoAAABNBhVAAADgaN5///3Y2NhB\ngwZlZWUFBgbaOx3UpU6dOmVlZQ0aNOihhx5asWKFvdMBAABoGqgAAgAAx3H79u3p06fPmTMnPj7+\n888/525xDsnLy+vzzz+Pj49/8cUXp0+fXl5ebu+MAAAAGjvuAwgAABxEfn7+448//t13323YsGH0\n6NH2Tgf17vPPP3/qqafCw8P/8Y9/tGvXzt7pAAAANF5UAAEAgCP46aefhg8fXlFRkZaWFh4ebu90\n0ECOHz8+YsSI27dvp6Wl3XvvvfZOBwAAoJHiKmAAANDkpaenR0ZGtm3b9sCBA5T/mpWwsLAjR46E\nhIQMGjTo888/t3c6AAAAjRQVQAAA0ITp9fqFCxeOHDkyLi4uMzOzQ4cO9s4IDa1NmzYZGRlTpkwZ\nM2bM/Pnzq6qq7J0RAABAo8NVwAAAoKkqLS2dPHnytm3b3n333RdeeMHe6cDOVq1aNXPmzAcffHDL\nli0+Pj72TgcAAKARoQIIAACapHPnzg0fPjw3N/ezzz4bMmSIvdNBo/Dtt9/GxcX5+vqmp6fffffd\n9k4HAACgseAqYAAA0PQcPnw4MjKytLT00KFDlP9gcN999x09etTLyysqKmr37t32TgcAAKCxoAII\nAACamMTExIEDB/bo0WP//v3dunWzdzpoXAIDA7OysgYPHjxkyJDFixfbOx0AAIBGgQogAABojM6c\nOWPeWFVV9cILLzz55JNz5szZuXNn69atGz4xNH6enp7btm1btGjRq6++OmHChNLSUvOYvLy8hk8M\nAADAXqgAAgCARqe0tPT+++9///33jRsLCwsfffTRTz75ZNWqVQkJCc7OzvZKD42fRqN55ZVX0tPT\nt2/f/sc//tGk3nf48OHevXtfuHDBXukBAAA0MCqAAACg0fnb3/7266+/zpkzx3ArtzNnztx3333f\nfffdnj17pk6dat/00FQ8+uij3377bV5eXt++fY8cOaI0Xrx48ZFHHrl69erMmTPtmx4AAECD4VnA\nAACgcfn555/79OlTUVGh0Whatmx5+PDhy5cvjx49umPHjunp6XfddZe9E0QTU1BQMGbMmJycnJUr\n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\ngg==\n", "prompt_number": 13, "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Veamos c\u00f3mo funciona nuestro modelo. Supongamos que hab\u00eda un hombre de 20 a\u00f1os en tercera clase (a.k.a. Leonardo di Caprio)... \u00bfse hubiera salvado?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print clf.predict([[20.0,1.0,0.0,0.0,1.0]])\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 0.]\n" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nop. Podemos verificarlo siguiendo el \u00e1rbol... \n", "\n", "Pero, \u00bfc\u00f3mo sabemos qu\u00e9 tan bien anda en general nuestro clasificador? Empecemos por evaluarlo sobre los propios datos de entrenamiento, y viendo en cu\u00e1ntos casos acierta (esta medida se llama accuracy)... y algunas medidas m\u00e1s." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sklearn import metrics\n", "def measure_performance(X,y,clf, show_accuracy=True, show_classification_report=True, show_confusion_matrix=True):\n", " y_pred=clf.predict(X) \n", " if show_accuracy:\n", " print \"Accuracy:{0:.3f}\".format(metrics.accuracy_score(y,y_pred)),\"\\n\"\n", "\n", " if show_classification_report:\n", " print \"Classification report\"\n", " print metrics.classification_report(y,y_pred),\"\\n\"\n", " \n", " if show_confusion_matrix:\n", " print \"Confusion matrix\"\n", " print metrics.confusion_matrix(y,y_pred),\"\\n\"\n", " \n", "measure_performance(X_train,y_train,clf, show_classification_report=True, show_confusion_matrix=True)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Accuracy:0.838 \n", "\n", "Classification report\n", " precision recall f1-score support\n", "\n", " 0.0 0.82 0.98 0.89 662\n", " 1.0 0.93 0.55 0.69 322\n", "\n", "avg / total 0.85 0.84 0.82 984\n", "\n", "\n", "Confusion matrix\n", "[[649 13]\n", " [146 176]] \n", "\n" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "El problema es que esto es riesgoso. Estamos evaluando sobre los mismos datos que utilziamos para crear el modelo! Esto siempre es una mala idea... para eso guardamos nuestro dataset de evaluaci\u00f3n... evaluemos c\u00f3mo se comporta nuestro modelo sobre este dataset: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "measure_performance(X_test,y_test, clf, show_classification_report=True, show_confusion_matrix=True)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Accuracy:0.793 \n", "\n", "Classification report\n", " precision recall f1-score support\n", "\n", " 0.0 0.77 0.96 0.85 202\n", " 1.0 0.88 0.54 0.67 127\n", "\n", "avg / total 0.81 0.79 0.78 329\n", "\n", "\n", "Confusion matrix\n", "[[193 9]\n", " [ 59 68]] \n", "\n" ] } ], "prompt_number": 16 } ], "metadata": {} } ] }