Last active
April 28, 2017 19:18
-
-
Save agupadilla/392321ca401909712081b3406bed6151 to your computer and use it in GitHub Desktop.
Practicos Inteligencia Artificial
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Universidad Tecnológica Nacional Facultad Regional Villa María\n", | |
| "## Ingeniería en Sistemas de Información" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Cátedra: Inteligencia Artificial\n", | |
| "### Alumno: Padilla Calvo, Pablo Agustín\n", | |
| "### Profesores: Lic. Rodolfo Marangunic, Dr. Jorge A. Palombarini, Ing. Juan Cruz Barsce.\n", | |
| "\n", | |
| "" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Ejercicio 3" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Enunciado\n", | |
| "- - - " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Para los siguientes ejercicios vamos a usar el Boston dataset, el cual consiste en un dataset que, en base a distintos predictores, devuelve el precio de una casa en los suburbios de Boston. Tiene las siguientes características:\n", | |
| "\n", | |
| " :Number of Instances: 506 \n", | |
| "\n", | |
| " :Number of Attributes: 13 numeric/categorical predictive\n", | |
| " \n", | |
| " :Median Value (attribute 14) is usually the target\n", | |
| "\n", | |
| " :Attribute Information (in order):\n", | |
| " \n", | |
| " Features:\n", | |
| " - CRIM per capita crime rate by town\n", | |
| " - ZN proportion of residential land zoned for lots over 25,000 sq.ft.\n", | |
| " - INDUS proportion of non-retail business acres per town\n", | |
| " - CHAS Charles River dummy variable (= 1 if tract bounds river; 0 otherwise)\n", | |
| " - NOX nitric oxides concentration (parts per 10 million)\n", | |
| " - RM average number of rooms per dwelling\n", | |
| " - AGE proportion of owner-occupied units built prior to 1940\n", | |
| " - DIS weighted distances to five Boston employment centres\n", | |
| " - RAD index of accessibility to radial highways\n", | |
| " - TAX full-value property-tax rate per 10,000\n", | |
| " - PTRATIO pupil-teacher ratio by town\n", | |
| " - B 1000(Bk - 0.63)^2 where Bk is the proportion of blacks by town\n", | |
| " - LSTAT % lower status of the population\n", | |
| " \n", | |
| " Target:\n", | |
| " - MEDV Median value of owner-occupied homes in 1000's\n", | |
| "\n", | |
| "Empleando algún método de separación en conjuntos de entrenamiento y test, resolver los siguientes ejercicios (extendiendo el código inicial que se muestra en la celda siguiente):\n", | |
| "\n", | |
| "1. Declarar una variable random_state igual al número de alumno en la hoja de cálculo \"Entregas TPs\" en el Google Drive de la materia.\n", | |
| "\n", | |
| "2. Elegir 1 feature (entre NOX (4), RM (5), AGE (6) y DIS (7)) y entrenar un modelo de regresión polinomial tomando en cuenta cómo dicho feature predice el valor de la casa. Para efectuar la separación entre subconjuntos de entrenamiento y test, usar el random_state correspondiente.\n", | |
| "\n", | |
| "3. En base a dicho modelo, mostrar un gráfico donde se aprecie la distancia entre los valores de $\\hat{y}$ y los valores de $y$ para el feature seleccionado (estilo al gráfico de regresión lineal o el gráfico de regresión polinomial utilizado como ejemplo en este notebook).\n", | |
| "\n", | |
| "4. Entrenar con distintos grados del polinomio el modelo con el feature elegido. Graficar el bias-variance tradeoff para el error cuadrático medio en base a los distintos grados del polinomio, donde se muestren las curvas de error cuadrático medio de entrenamiento y error cuadrático medio de test. Ayuda: para graficarlo, utilizar el grado del polinomio en el eje de las $x$ y el error cuadrático medio en el eje de las $y$.\n", | |
| "\n", | |
| "5. Especificar cuál es el grado del polinomio en el cual se minimiza el error de test.\n", | |
| "\n", | |
| "6. Completar el código de KFolds para el modelo de regresión polinomial de grado 5, entrenarlo con el feature elegido e imprimir el error cuadrático medio, promediado entre los 10 folds. Utilizar Shuffle=true y el random_state correspondiente.\n", | |
| "\n", | |
| "Fecha de entrega: **03/05/2017**.\n", | |
| "\n", | |
| "Nota: la resolución de los ejercicios es **individual**; en el caso de que dos ejercicios enviados contengan un código igual o muy similar (sin considerar los comentarios), se los considerará a ambos como desaprobados. La reutilización del código del notebook está permitida (por ejemplo para confeccionar gráficos)." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Desarrollo\n", | |
| " - - - " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Como primer medida se realizaron las siguientes importaciones:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 80, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "#imports\n", | |
| "\n", | |
| "import numpy as np\n", | |
| "from sklearn.datasets import load_boston\n", | |
| "from sklearn.model_selection import train_test_split\n", | |
| "from sklearn.preprocessing import PolynomialFeatures\n", | |
| "from sklearn.linear_model import LinearRegression\n", | |
| "from sklearn.metrics import mean_squared_error\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "% matplotlib inline\n", | |
| "from sklearn.model_selection import KFold" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Se define la variable randome_state y se instancia el Boston dataset indicado en el enunciado, escogiendo como feature a utilizar DIS(7)." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 81, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "rns = np.random.RandomState(9)\n", | |
| "#intancia de dataset\n", | |
| "boston = load_boston()\n", | |
| "X = boston.data\n", | |
| "y = boston.target\n", | |
| "#DIS 7\n", | |
| "X_feature = X[:,7] " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Scikit-learn requiere que proveamos a $y$ como un array uni-dimensional de numpy y a $Xfeature$ como un array bi-dimensional (matriz) de numpy. Por lo tanto, se utiliza numpy.newaxis para incrementar la dimensión del array $Xfeature$ de la siguiente manera:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 82, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "X_feature = X_feature[:, np.newaxis]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Se dividen los datos aleatoriamente en conjuntos de entrenamiento y test usando Scikit-learn de la siguiente manera:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 83, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "X_entrenamiento, X_test, y_entrenamiento, y_test = train_test_split(X_feature, y, test_size=0.3, random_state=rns)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Una vez dividos los datos, se entrena un modelo de regresión polinomial con un polinomio de grado 3." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 84, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" | |
| ] | |
| }, | |
| "execution_count": 84, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "polinomio = PolynomialFeatures(degree=3)\n", | |
| "X_entrenamiento_polinomio = polinomio.fit_transform(X_entrenamiento, y_entrenamiento)\n", | |
| "poly_regressor = LinearRegression()\n", | |
| "poly_regressor.fit(X_entrenamiento_polinomio, y_entrenamiento)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Se grafica cómo el modelo predice la salida. Primero se indican los limites del gráfico y luego se grafica tanto la predicción de entrenamiento como la predicción de test." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 85, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n77RbnpVRLlYnF7mUy5KFblfMQXzOqUDEXHAKsd7LjhL00MlFRQVFHSJcuuR2sZXbxQ6Z4HMW4o/L\n5WLo0KEMHjyYiooK/ud//gePJ/xbWkNDA//3f/8X9748//zz3HHHHXFvN5jHHnuMo0fjV/0rVp58\n8kkWL14c1baJug6pwlGCDu2nhe+/bz/PXf1cIH7cpVwcbTsadZ6WYEoKS7h9xO0yizLDSMTM3YKC\nAtatW8fGjRt57733eOedd5g7d27YbTJZSMIJutudGGMpHDNmzOCmm26KattMvg5GRBR0pdSzSqm9\nSqnPgpZ1V0q9p5Ta5vt5emK7GT1VZVVM6j8JhQpY5rFY6C7lYsk1S2i4u4EFkxdITpEMwm61o2g4\n44wzWLRoEb/+9a/RWtPQ0MDYsWMZNmwYw4YN46OPPgJg9uzZrFy5kqFDh/Loo49y/PhxbrnlFsrK\nyjjvvPN4//33Adi4cSMjR45k6NChlJeXs23btg77fO655zj33HMZOXIkH374YWD5vn37+P73v8/5\n55/P+eef3+4zP263m3vvvZfzzz+f8vJynnrqKQDq6+sZP348P/jBDxg4cCBVVVVorXn88cfZtWsX\nF198MRdffDEA3bp142c/+xkVFRWsWrWKNWvWMG7cOIYPH87ll1/O7t27ARg/fjz3338/I0eO5Nxz\nz2XlypUApueovr6ecePGMWXKFPr168fs2bOpq6tj5MiRlJWV8eWXXwIwZ84cHnnkEQC+/PJLJk6c\nyPDhwxk7dixbtmwB4Oabb+auu+7iwgsvpF+/frz66qu2rkPGoLUO+w+4CBgGfBa07GFgtu/32cAv\nIrWjtWb48OE62Sz5dIlWc5RmDnH712VeF73k0yVJPxahI5s2bbK8bsmjJYbXs+TRkpj60LVr1w7L\nCgsL9ddff62PHDmijx07prXWeuvWrdr/HXj//ff15MmTA+s/8sgj+pZbbtFaa71582Z91lln6WPH\njuk77rhDL1nivddaWlr00aNH2+1n165d+qyzztJ79+7VLS0t+sILL9Q/+clPtNZa33DDDXrlypVa\na60bGxv1wIEDO/Tzqaee0v/5n/+ptdb6+PHjevjw4Xr79u36/fff16eeeqr+6quvtNvt1qNGjQq0\nVVJSovft2xdoA9Avv/yy1lrr1tZWPXr0aL13716ttdYvvfRS4LjGjRun77nnHq211suWLdOVlZVa\n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\nrkJggg==\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x26eb6a74518>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x26eb721c128>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "axes = plt.subplot(111) \n", | |
| "axes.set_xlim(X_feature.min()-1, X_feature.max()+1)\n", | |
| "axes.set_ylim(y.min()-1, y.max()+1)\n", | |
| "# Entrenamiento\n", | |
| "plt.plot(X_entrenamiento, y_entrenamiento, 'go' , label='Datos de entrenamiento')\n", | |
| "plt.plot(X_entrenamiento, poly_regressor.predict(X_entrenamiento_polinomio), 'co', label='Predicción de entrenamiento')\n", | |
| "plt.legend(loc='best')\n", | |
| "plt.show()\n", | |
| "#Test\n", | |
| "X_test_polinomio = polinomio.transform(X_test)\n", | |
| "plt.plot(X_test, y_test, 'bo',label='Datos de test')\n", | |
| "plt.plot(X_test, poly_regressor.predict(X_test_polinomio), 'co', label='Predicción de test')\n", | |
| "plt.legend(loc='best')\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "source": [ | |
| "Se utiliza un ciclo for para entrenar con distintos grados de polinomio el modelo con el feature elegido. En cada ciclo se guardan los respectivos valores de error cuadratico medio, tanto de entrenamiento como de test, que van a premitir graficar el bias-variance tradeoff para el error cuadrático medio en base a los distintos grados del polinomio, donde se muestran las curvas de error cuadrático medio de entrenamiento y error cuadrático medio de test." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 86, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "\n", | |
| "Grados de polinomio con los cuales se entrenó el modelo: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]\n", | |
| "\n", | |
| "MSE entrenamiento: [77.728231741791745, 75.292495804690418, 74.370123897874876, 74.370120695654592, 74.308776941537332, 72.358010791848159, 70.531079001850856, 66.872797926801326, 65.96646865401425, 65.868134817815658, 65.66241073049342, 66.05452256727294, 66.667649003970681, 67.873352765030774, 72.369001996545023, 72.012101241839673, 74.79055125315432, 75.910919012964527, 76.659103065438458, 78.283627925238463, 78.619992202481612, 78.931986426256501, 79.215879200834806, 79.461671221945195, 79.954371600724016, 80.037658074029466, 80.107773950917476, 80.169121515301683, 80.225872838566588, 80.281669379054421]\n", | |
| "\n", | |
| "MSE test: [83.219798043138809, 79.387730409389576, 78.822348951402347, 78.821886647690391, 78.746892666524744, 79.189171101561442, 81.325318840104117, 80.378482703931837, 79.819918820166933, 80.409941872525991, 80.658095015264649, 80.476841800191664, 80.132105527173877, 79.283908940599233, 77.983966941072907, 77.912866821097296, 80.351776255860386, 81.211196802458076, 81.711292069390723, 83.476310874206959, 84.019759428740898, 84.628463438405149, 85.270255213663404, 85.941987790762738, 87.8357257865555, 88.165166113462945, 88.444916870906127, 88.68414542921083, 88.88919856276928, 89.063746857944622]\n", | |
| "\n", | |
| "Curva de error cuadrático medio de entrenamiento\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD8CAYAAABn919SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd8VNW6//HPQwApKihBQQICKugBqTEB9QiCgKCCYjlY\njiBILEiRgx71+rOg14Ze9Sh6QAELXo4VFAtNQfBaAyIEAWmhlwgCAqElz++PNYFQQiYwM3v2nuf9\nes1rJntKns0m36ysvfZaoqoYY4zxv1JeF2CMMSYyLNCNMSYgLNCNMSYgLNCNMSYgLNCNMSYgLNCN\nMSYgLNCNMSYgLNCNMSYgLNCNMSYgSsfymyUnJ2vt2rVj+S2NMcb3Zs6c+buqVi3udTEN9Nq1a5OZ\nmRnLb2mMMb4nIsvDeZ11uRhjTEBYoBtjTEBYoBtjTEDEtA/9cPbs2cOqVavYuXOn16WYOFGuXDlS\nUlIoU6aM16UY4yueB/qqVas44YQTqF27NiLidTnGY6rKxo0bWbVqFXXq1PG6HGN8xfMul507d1Kl\nShULcwOAiFClShX7i82Yo+B5oAMW5uYA9v/BmKPjeZeLMcYEQV4e/PEHbNoEGzceeL9pE3TvDmec\nEd0awgp0EbkbuBVQYC5wC1ABeBeoDWQD16nqH1GpMspEhBtvvJHRo0cDsHfvXqpXr056ejqffvop\n69evp1evXqxcuZI9e/ZQu3ZtPv/8c7KzsznnnHOoX7/+vs8aOHAgN9988zHVM3v2bNasWUOnTp2O\n6XMi6fzzz+fbb789qve+8cYbtG/fntNOOy3CVRkTeaqwdeuBoVz4Vnhb4dDevLnozxSBli3jINBF\npAbQD/iLquaKyHtAN+AvwJeq+pSI3AfcB/wzqtVGScWKFcnKyiI3N5fy5cszefJkatSose/5hx56\niHbt2tG/f38A5syZs++5M844g9mzZ0e0ntmzZ5OZmXnYQN+7dy+lS8f+D6ujDXNwgd6wYUMLdOOJ\n3bth/XrIyYHff3e3wo8P3rZxI+zdW/TnVa4MJ58MVaq4+7PO2v+44L7w4ypVoFIlKBWDDu5wk6E0\nUF5E9uBa5muA+4HWoeffBKbh00AH6NSpE5999hnXXHMNY8aM4frrr2fGjBkArF27lvbt2+97baNG\njUr02TNnzmTgwIFs27aN5ORk3njjDapXr07r1q1JT09n6tSpbN68mREjRpCens5DDz1Ebm4u33zz\nDffffz/z589nyZIlLF26lFq1ajF69Gjuu+8+pk2bxq5du+jTpw+33XYb06ZN45FHHiE5OZmsrCya\nN2/O6NGjEREGDx7M+PHjyc3N5fzzz2fYsGGICK1bt6Zp06bMmDGD7du389Zbb/Hkk08yd+5c/va3\nv/H4448DcPzxx7Nt2zYAhgwZwnvvvceuXbu46qqrePTRR8nOzqZjx45ceOGFfPvtt9SoUYOPP/6Y\nzz77jMzMTG688UbKly/Pd999x7fffsugQYPYu3cv5513Hq+++irHHXdchI6kSQR5eS6kV6+Gdevc\n48Pd1q0ruuVcqpQL2+Rkd6tfHy64wD2uUuXAQC54fNJJ4EF7KnyqWuwN6A9sA3KAd0LbNhd6Xgp/\nXdStefPmerBff/113+P+/VVbtYrsrX//Q77lISpWrKi//PKLXn311Zqbm6uNGzfWqVOn6mWXXaaq\nqhMmTNBKlSpp69at9fHHH9fVq1erquqyZcu0XLly2rhx43236dOnH/DZu3fv1pYtW+qGDRtUVfU/\n//mP3nLLLaqq2qpVKx04cKCqqn722Wfatm1bVVUdNWqU9unTZ99nPPzww9qsWTPdsWOHqqoOGzZM\nH3vsMVVV3blzpzZv3lyXLl2qU6dO1RNPPFFXrlypeXl52qJFC50xY4aqqm7cuHHf59100036ySef\n7Kvh3nvvVVXVF154QatXr65r1qzRnTt3ao0aNfT333/f92+kqjpx4kTt3bu35ufna15enl522WX6\n9ddf67JlyzQpKUl//vlnVVW99tpr9e233973PX766SdVVc3NzdWUlBRduHChqqr+/e9/1+eff/6Q\nY1L4/4VJLHv3qi5erDptmuo776g+84xqv36qV1+tmp6umpKimpSk6jpHDrxVqqRar57qX/+qes01\nqn36qA4erDpsmOrYsarffKO6YIHq77+r5uV5vafhAzI1jKwOp8vlJKALUAfYDLwvIjcd9EtBRUSL\neH8GkAFQq1ato/utEwONGjUiOzubMWPGHNLV0aFDB5YuXcqECRP44osvaNq0KVlZWUDxXS4LFy4k\nKyuLdu3aAZCXl0f16tX3Pd+1a1cAmjdvTnZ2dpGf07lzZ8qXLw/ApEmTmDNnDh988AEAW7ZsYdGi\nRZQtW5a0tDRSUlIAaNKkCdnZ2Vx44YVMnTqVZ555hh07drBp0yYaNGjAFVdcse+zAc4991waNGiw\n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\nxpiA+P/KdA9Wl/8nfQAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x26eba3a60b8>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| }, | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Curva de error cuadrático medio de test\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\nIAAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x26eb807b4e0>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "#arrays utilizados para realizar el gráfico\n", | |
| "\n", | |
| "grado = []\n", | |
| "errorTest = []\n", | |
| "errorEntrenamiento = []\n", | |
| "\n", | |
| "#se entrena el modelo con distintos grados de polinomio\n", | |
| "\n", | |
| "for i in range(30):\n", | |
| " grado.append(i+1)\n", | |
| " polinomio = PolynomialFeatures(degree=i+1)\n", | |
| " X_entrenamiento_polinomio = polinomio.fit_transform(X_entrenamiento, y_entrenamiento)\n", | |
| " poly_regressor = LinearRegression()\n", | |
| " poly_regressor.fit(X_entrenamiento_polinomio, y_entrenamiento)\n", | |
| " X_test_polinomio = polinomio.transform(X_test)\n", | |
| " errorTest.append(mean_squared_error(y_test, poly_regressor.predict(X_test_polinomio)))\n", | |
| " errorEntrenamiento.append(mean_squared_error(y_entrenamiento, poly_regressor.predict(X_entrenamiento_polinomio)))\n", | |
| " \n", | |
| "#se imprimen los valores obtenidos \n", | |
| "\n", | |
| "print(\"\")\n", | |
| "print(\"Grados de polinomio con los cuales se entrenó el modelo: \", grado)\n", | |
| "print(\"\")\n", | |
| "print(\"MSE entrenamiento: \", errorEntrenamiento)\n", | |
| "print(\"\")\n", | |
| "print(\"MSE test: \", errorTest)\n", | |
| "print(\"\")\n", | |
| "\n", | |
| "#curva de error cuadrático medio de entrenamiento\n", | |
| "\n", | |
| "print(\"Curva de error cuadrático medio de entrenamiento\")\n", | |
| "plt.plot(grado,errorEntrenamiento,'b-', label='MSE entrenamiento')\n", | |
| "plt.legend(loc='best')\n", | |
| "plt.show()\n", | |
| "\n", | |
| "#curva de error cuadrático medio de test\n", | |
| "\n", | |
| "print(\"Curva de error cuadrático medio de test\")\n", | |
| "plt.plot(grado,errorTest,'b-', label='MSE test')\n", | |
| "plt.legend(loc='best')\n", | |
| "plt.show()\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "El grado del polinomio en el cual se minimiza el error de test es el siguiente:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 87, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Grado del polinomio: 16\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "print(\"Grado del polinomio: \", errorTest.index(min(errorTest))+1) #se suma uno porque el indice comienza desde 0" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "-------------------" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## KFold \n", | |
| "KFold para el modelo de regresión polinomial de grado 5" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 92, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "MSE de test promediado entre los 10 folds: 85.2956408027\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "kf = KFold(n_splits=10, shuffle=True,random_state=rns)\n", | |
| "test_error_poly = []\n", | |
| "\n", | |
| "for indice_entrenamiento, indice_test in kf.split(X_feature):\n", | |
| " X_entrenamiento, X_test = X_feature[indice_entrenamiento], X_feature[indice_test]\n", | |
| " y_entrenamiento, y_test = y[indice_entrenamiento], y[indice_test] \n", | |
| " polinomio = PolynomialFeatures(degree=5)\n", | |
| " X_entrenamiento_polinomio = polinomio.fit_transform(X_entrenamiento, y_entrenamiento)\n", | |
| " X_test_polinomio = polinomio.transform(X_test)\n", | |
| " poly_regressor = LinearRegression()\n", | |
| " poly_regressor.fit(X_entrenamiento_polinomio, y_entrenamiento)\n", | |
| " test_error_poly.append(mean_squared_error(y_test, poly_regressor.predict(X_test_polinomio)))\n", | |
| " \n", | |
| "print(\"MSE de test promediado entre los 10 folds: \",sum(test_error_poly) / 10 ) #promedio de MSE test\n" | |
| ] | |
| } | |
| ], | |
| "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.6.0" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 2 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment