{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Learning Curves of fitting Regression models\n", "\n", "- Examples from book BuildingMachineLearningSystemsWithPython ch01, traffic.csv\n", "- Putting aside that it is werid to fit a traffic model on time alone, it is an example of using model selection" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import scipy as sp\n", "import pylab as pl\n", "from sklearn.cross_validation import train_test_split\n", "from sklearn.base import BaseEstimator, RegressorMixin\n", "from sklearn.utils import shuffle\n", "from sklearn.metrics import mean_squared_error\n", "\n", "%pylab inline --no-import-all" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 52 }, { "cell_type": "code", "collapsed": false, "input": [ "## loading data - removing missing values (but the time line wont be aligned anymore)\n", "data = sp.genfromtxt('data/web_traffic.tsv', delimiter='\\t')\n", "data = data[~sp.any(sp.isnan(data), axis = 1)]\n", "print data.shape\n", "\n", "pl.plot(data[:, 0], data[:,1], 'bo')\n", "pl.xlabel('time')\n", "pl.ylabel('traffic/hour')\n", "pl.xticks(7*24*sp.arange(5), ['weeks%i' % w for w in xrange(5)])\n", "pl.grid()\n", "pl.autoscale(tight = True, )" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(735, 2)\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "## train and test split\n", "X, y = data[:, 0], data[:, 1]\n", "X, y = shuffle(X, y)\n", "train_X, test_X, train_y, test_y = train_test_split(X, y, test_size = 0.26, random_state = 0)\n", "print train_X.shape, test_X.shape\n", "print train_y.shape, test_y.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(543,) (192,)\n", "(543,) (192,)\n" ] } ], "prompt_number": 93 }, { "cell_type": "code", "collapsed": false, "input": [ "## another setting of train/test split - useful for `time-series` like data\n", "X, y = data[:, 0], data[:, 1]\n", "train_X, test_X = X[:500], X[500:]\n", "train_y, test_y = y[:500], y[500:]\n", "print train_X.shape, test_X.shape\n", "print train_y.shape, test_y.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(500,) (235,)\n", "(500,) (235,)\n" ] } ], "prompt_number": 130 }, { "cell_type": "code", "collapsed": false, "input": [ "## different polynomials\n", "class PolynomialRegressor(BaseEstimator, RegressorMixin):\n", " def __init__(self, degree = 1):\n", " self.degree = degree\n", " def fit(self, X, y):\n", " assert len(X.shape) == 1\n", " self.coef_ = sp.polyfit(X, y, deg = self.degree)\n", " self.model_ = sp.poly1d(self.coef_)\n", " return self\n", " def predict(self, X):\n", " return self.model_(X)\n", " def score(self, X, y):\n", " return mean_squared_error(self.predict(X), y)\n", " " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 138 }, { "cell_type": "code", "collapsed": false, "input": [ "def benchmark_poly(degree = 1, train_size = 1.):\n", " train_size = int(train_X.shape[0] * train_size)\n", " model = PolynomialRegressor(degree = degree).fit(train_X[:train_size], train_y[:train_size])\n", " train_score = model.score(train_X[:train_size], train_y[:train_size])\n", " test_score = model.score(test_X, test_y)\n", " return (train_size, train_score, test_score)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 139 }, { "cell_type": "code", "collapsed": false, "input": [ "## overfitting? I dont see it!\n", "poly_degrees = [1, 2, 3, 5, 10, 20, 50, 100]\n", "_, train_scores, test_scores = zip(*[benchmark_poly(degree = d, train_size = 1.) for d in poly_degrees])\n", "pl.plot(range(len(poly_degrees)), train_scores, 'r-+', label = 'train')\n", "pl.plot(range(len(poly_degrees)), test_scores, 'g-+', label='test')\n", "pl.xticks(range(len(poly_degrees)), poly_degrees)\n", "pl.legend(loc = 'best')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/polynomial.py:585: RankWarning: Polyfit may be poorly conditioned\n", " warnings.warn(msg, RankWarning)\n", "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/polynomial.py:585: RankWarning: Polyfit may be poorly conditioned\n", " warnings.warn(msg, RankWarning)\n", "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/polynomial.py:585: RankWarning: Polyfit may be poorly conditioned\n", " warnings.warn(msg, RankWarning)\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 140, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 140 }, { "cell_type": "code", "collapsed": false, "input": [ "pl.plot(data[:, 0], data[:,1], 'bo')\n", "pl.plot(range(800), PolynomialRegressor(4).fit(train_X, train_y).predict(range(800)), 'r-', linewidth = 5)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 141, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n9QAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 141 }, { "cell_type": "code", "collapsed": false, "input": [ "## learning curve for linear model\n", "train_sizes = [0.1, 0.2, 0.3, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]\n", "n_trains, train_scores, test_scores = zip(*[benchmark_poly(degree=1, train_size=t) for t in train_sizes])\n", "pl.plot(range(len(train_sizes)), train_scores, 'r-+', label = 'train')\n", "pl.plot(range(len(train_sizes)), test_scores, 'g-+', label='test')\n", "pl.xticks(range(len(train_sizes)), train_sizes)\n", "pl.legend(loc = 'best')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 142, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 142 }, { "cell_type": "code", "collapsed": false, "input": [ "## learning curve for 2nd model\n", "train_sizes = [0.1, 0.2, 0.3, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]\n", "n_trains, train_scores, test_scores = zip(*[benchmark_poly(degree=2, train_size=t) for t in train_sizes])\n", "pl.plot(range(len(train_sizes)), train_scores, 'r-+', label = 'train')\n", "pl.plot(range(len(train_sizes)), test_scores, 'g-+', label='test')\n", "pl.xticks(range(len(train_sizes)), train_sizes)\n", "pl.legend(loc = 'best')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 143, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 143 }, { "cell_type": "code", "collapsed": false, "input": [ "## learning curve for 10th model\n", "train_sizes = [0.1, 0.2, 0.3, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]\n", "n_trains, train_scores, test_scores = zip(*[benchmark_poly(degree=10, train_size=t) for t in train_sizes])\n", "pl.plot(range(len(train_sizes)), train_scores, 'r-+', label = 'train')\n", "pl.plot(range(len(train_sizes)), test_scores, 'g-+', label='test')\n", "pl.xticks(range(len(train_sizes)), train_sizes)\n", "pl.legend(loc = 'best')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 144, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 144 }, { "cell_type": "code", "collapsed": false, "input": [ "## learning curve for 15th model\n", "train_sizes = [0.1, 0.2, 0.3, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]\n", "n_trains, train_scores, test_scores = zip(*[benchmark_poly(degree=15, train_size=t) for t in train_sizes])\n", "pl.plot(range(len(train_sizes)), train_scores, 'r-+', label = 'train')\n", "pl.plot(range(len(train_sizes)), test_scores, 'g-+', label='test')\n", "pl.xticks(range(len(train_sizes)), train_sizes)\n", "pl.legend(loc = 'best')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 145, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nExGpzP8HBaJ4pN1e+VQAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 145 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }