{ "metadata": { "name": "01_introduction" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "What is machine learning?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this section we will begin to explore the basic principles of machine learning.\n", "Machine Learning is about building programs with **tunable parameters** (typically an\n", "array of floating point values) that are adjusted automatically so as to improve\n", "their behavior by **adapting to previously seen data.**\n", "\n", "Machine Learning can be considered a subfield of **Artificial Intelligence** since those\n", "algorithms can be seen as building blocks to make computers learn to behave more\n", "intelligently by somehow **generalizing** rather that just storing and retrieving data items\n", "like a database system would do.\n", "\n", "We'll take a look at two very simple machine learning tasks here.\n", "The first is a **classification** task: the figure shows a\n", "collection of two-dimensional data, colored according to two different class\n", "labels. A classification algorithm may be used to draw a dividing boundary\n", "between the two clusters of points:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Start pylab inline mode, so figures will appear in the notebook\n", "%matplotlib inline" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 0 }, { "cell_type": "code", "collapsed": false, "input": [ "# Import the example plot from the figures directory\n", "from figures import plot_sgd_separator\n", "plot_sgd_separator()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nRK5CYII=\n", "text": [ "" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This may seem like a trivial task, but it is a simple version of a very important concept.\n", "By drawing this separating line, we have learned a model which can **generalize** to new\n", "data: if you were to drop another point onto the plane which is unlabeled, this algorithm\n", "could now **predict** whether it's a blue or a red point.\n", "\n", "If you'd like to see the source code used to generate this, you can either open the\n", "code in the `figures` directory, or you can load the code using the `%load` magic command:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%load figures/sgd_separator.py" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next simple task we'll look at is a **regression** task: a simple best-fit line\n", "to a set of data:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from figures import plot_linear_regression\n", "plot_linear_regression()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again, this is an example of fitting a model to data, such that the model can make\n", "generalizations about new data. The model has been **learned** from the training\n", "data, and can be used to predict the result of test data:\n", "here, we might be given an x-value, and the model would\n", "allow us to predict the y value. Again, this might seem like a trivial problem,\n", "but it is a basic example of a type of operation that is fundamental to\n", "machine learning tasks." ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "An Overview of Scikit-learn" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Adapted from* [*http://scikit-learn.org/stable/tutorial/basic/tutorial.html*](http://scikit-learn.org/stable/tutorial/basic/tutorial.html)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "import numpy as np\n", "from matplotlib import pyplot as plt" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Loading an Example Dataset" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sklearn import datasets\n", "digits = datasets.load_digits()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "digits.data" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 8, "text": [ "array([[ 0., 0., 5., ..., 0., 0., 0.],\n", " [ 0., 0., 0., ..., 10., 0., 0.],\n", " [ 0., 0., 0., ..., 16., 9., 0.],\n", " ..., \n", " [ 0., 0., 1., ..., 6., 0., 0.],\n", " [ 0., 0., 2., ..., 12., 0., 0.],\n", " [ 0., 0., 10., ..., 12., 1., 0.]])" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "digits.target" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 9, "text": [ "array([0, 1, 2, ..., 8, 9, 8])" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "digits.images[0]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 10, "text": [ "array([[ 0., 0., 5., 13., 9., 1., 0., 0.],\n", " [ 0., 0., 13., 15., 10., 15., 5., 0.],\n", " [ 0., 3., 15., 2., 0., 11., 8., 0.],\n", " [ 0., 4., 12., 0., 0., 8., 8., 0.],\n", " [ 0., 5., 8., 0., 0., 9., 8., 0.],\n", " [ 0., 4., 11., 0., 1., 12., 7., 0.],\n", " [ 0., 2., 14., 5., 10., 12., 0., 0.],\n", " [ 0., 0., 6., 13., 10., 0., 0., 0.]])" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Learning and Predicting" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sklearn import svm\n", "clf = svm.SVC(gamma=0.001, C=100.)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "clf.fit(digits.data[:-1], digits.target[:-1])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 12, "text": [ "SVC(C=100.0, cache_size=200, class_weight=None, coef0=0.0, degree=3,\n", " gamma=0.001, kernel='rbf', max_iter=-1, probability=False,\n", " random_state=None, shrinking=True, tol=0.001, verbose=False)" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "clf.predict(digits.data[-1])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 13, "text": [ "array([8])" ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure(figsize=(2, 2))\n", "plt.imshow(digits.images[-1], interpolation='nearest', cmap=plt.cm.binary)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 14, "text": [ "" ] }, { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAIcAAACLCAYAAABLJYpxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAACDBJREFUeJzt3W2IXNUdx/FvNo1Na+Ou2DbRVrLRai2VutBAfAju5oWl\npaZNgn0ADTuhBamlJBSqaSyyeWEN2JQUKrVYzS6+aMFg0gepFezM1vW5yKKCEltZ0VJKK05DSyJo\n1hf/u+64zpl7zpl7du/N/D4wZGZ3/jNnZ3+59+4595wLIiIiIiIiIr1leHh4FtCtorfs99fWMtc3\nAszOzrZ//bGxMcbGxoJfsFNdrVZz1k1PTzM0NNT2e41Gw1nXbDYZGBgIfr9Go8HIyIjz+7t27Wr7\n9X379rF7925nnastKT7PZcuWgSMHfcHvJD3DJxx9wJ3AY0AdOD9pi6Q0fMKxBTgNuBzYDez3ffFO\nm9wUdWvWrImqW7lyZVTd4OBgVN3GjRuj6hb78/QJxxXAg9n9J4H1vi+ucLR3KoXjDOBYy+O3Peuk\n4j7g8ZxjwKqWx33AydYntB4Jj4yMRCdV0ms0Gh3/cmvlE45Hgc3AfcClwLMLnxDz55UsjYX/effu\n3et8rk84DgNXYSEB2NFF26RCfMIxC3wndUOkfHRgKU4Khzj57FaSmJmZiaqbmJiIqlu7dm1UXWxf\nxqlAWw5xUjjESeEQp9BwbMBGZqUHhByQ3ghcB/wvUVukZEK2HH8DtlHM2WNSASHhuB94K1VDpHwK\n6efQqGx1hIzKhu4iBoFfA5e1fM15gnEnsZ1g69ati6qL7QTrZsR5y5YtUXWuE4xTKPoE4/AkSCWF\nhmMGO5dUeoA6wcRJ4RCnJRuVjR3t7O/vj6prNptRdbEHzhD/M8a2tWjacoiTwiFOCoc45YVjBXAv\n8Bdsttvm5C2S0sg7IL0W+DewHTgTmAZ+n7pRUg554bgPOJTd70MDbz0lLxz/z/5dhQXl5rTNkTLx\n6ec4FxuuvwP4TbsnaFS2OooclV0NNIAbcJ8eGDUqG2sxRyzBvXSTjwMHDkTVLWYnWDejsnuAfuAW\nLBx1IG4xC6mcvN3KzuwmPUidYOKkcIhT0nVIUzhy5EhU3datWwtuSb7R0dGouvHx8WIb0oHWIZUo\nCoc4KRzi5BOO5cA9wBTwCPDZpC2S0vAJx9XY0pIbgR8BtyZtkZSGz9jKb4E/ZPcHgTeStUZKxfcE\n47eBcWArcE2y1kiphJx9XgNuws4I+wxwfO4bGpWtjqJXMN4OfBK4DQvESTosby3lVvQKxoewXcok\ndk7pTuDNbhoo1eATjuPAN1I3RMpHnWDipHCIk8IhTks2kTpW7HmZsROwu9HNJOwy0JZDnHzD8XHg\nVeDChG2RkvEJxwrgl8xPcJIe4ROO24FfAP9M3BYpmbxw1LCJ1A9lj7V6cQ/JC8cO7OJ/dWAImMBm\nwUkPyPtTdrjlfh24HvjXwidpVLY6Uq1gPBeOowu+vqhTE2KDNz09XWxDPAwNDUXV+f7yitBpakJI\nJ9imQlojlaFOMHFSOMRJ4RAnhUOclmxUNvaIfHJyMqru4MGDUXXdXHR406a4Y/jYidS1Wi2qzkVb\nDnHy2XI8A/w3u/8y8K10zZEyyQvH3Ppf6uPoQXm7lUuADwN/Ah7GLjosPcJnkdrbgbuBC4A/Yif8\nnOxUJKeGvHAcxS42DPAS8DpwNvCPlI2ScsgLxw7gc8B3gXOAM2hz0o9GZaujyLmydwMHsUtqgIXl\nfbsUzZWtjiLnyr6FTaSWHqROMHFSOMRJ4RAnhUOcKjcqu9jv182obKyyzLHVlkOcfMLxQ+Ax4Gkg\nbqV3qaS8cIwAlwGXZ/fPS9weKZG8Y44vAM8BR7Cu8x8kb5GURl44PoZdHfJqbKvxO+Ci1I2ScsgL\nx3+AF7Bu9KPACeCj2dflFJcXjils3dGfYqOyp2PD9u+hUdnqKHJU9gHgSuAp7OD1BuB9E2M1Klsd\nRa9gfFP3TZIqUieYOCkc4qRwiJPCIU5LdtHhZrMZ9WaxKxjHjsp2M0IaO6Ibe2HlgYGB4BpddFii\n+PwpO4otOQnwIWwW3GrgWKI2SUn4bDkmsLmym4C/At9DwegJIbuV9dgFh3+VqC1SMiHh2AOMJWqH\nlJBvOAawCdRxy+pIJfmeYHwltgRDWxqVrY6irysLttX4u+ubGpWtjqJHZQF+0l2TpIqSdoLF9kpO\nTU1F1cX2Zsb21p44cWJR3y/2c4n9PSgcKBwu6j4XJ4VDkmpg55XqVs1bY+EvVEREpEL6gDux2fl1\n4PzA+g1Zna8VwL3YqodPAps965YD92CTtx7BRp19xV6l+xnsZ6tjqzX6iF3pYLTlvZ4AjmNznpfU\nNuxDB/tFh5z3diPwLPZh+Kphs/IAzgRe8az7KvOnIAzj384VwGHgRcLCsRILR4gRbI4y2IxDd393\nZz8Hvh1ZW6j9wNdbHr8WULsN+BTweEDN6cBHsvtn0WEcqI3l2b+j2JqrPg5gKxDUCQvHBixQIWvJ\n/xi4FQvun4HPB7zfnPWEbYmTugv4YsvjVwjrUxkkLBxzVmEf4DcD68axy4Zc5fHcGnBzdr8OfDrg\nfS5m/pIkF2BLh+d9LncBD2LjYBdi4Qp1P++9RvCS2g98reXxq4H1g4SH41xsn1wLrJuzGpjBzpPt\nZBLrG6gDb2D7ct+rdJ/G/GVKwI6PPpFTcxvw/ZbH09hKB74GgOcDnp/cNuY30ZdiE7JDDBIWjtXY\nUhGh14XZjh3sgR2ovQx8MKA+dLdyPXBHdv8crM15W44vAw+11LxE2JSSrwA/C3j+u1KtJngY20Q/\nmj3eEfEaswHP3QP0A7dkN4AvYeuJdHII26VMYgeZO4E3g1oZxmst+QW8VjrooOO5OCIiIiIiIiIi\nIj3tHU9+xwlQO8K9AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "print(digits.target[-1])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "8\n" ] } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 } ], "metadata": {} } ] }