{ "metadata": { "celltoolbar": "Slideshow", "name": "", "signature": "sha256:d3a935dc2f8f6f8552ec3664f59e69f04d4953c77f8a9238f7a7f209c11627d6" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": { "internals": { "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "source": [ "Machine Learning with the Google Prediction API\n", "======================\n", "\n", "\n", "\n", "### Jed Ludlow ####\n", "\n", "`jedludlow.com`" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline" ], "language": "python", "metadata": { "internals": {}, "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import pandas as pd\n", "import time" ], "language": "python", "metadata": { "internals": {}, "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": { "internals": {}, "slideshow": { "slide_type": "skip" } }, "source": [ "Setup seaborn to use slightly larger fonts" ] }, { "cell_type": "code", "collapsed": false, "input": [ "sns.set_context(\"talk\")" ], "language": "python", "metadata": { "internals": { "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": { "internals": { "slide_helper": "subslide_end", "slide_type": "subslide" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "slide" } }, "source": [ "Overview\n", "===========\n", "\n", "* Brief introduction to machine learning\n", "* Classification problem examples using the Google Prediction API\n", "* Benchmarking Google Prediction against `scikit-learn`" ] }, { "cell_type": "markdown", "metadata": { "internals": { "slide_helper": "subslide_end", "slide_type": "subslide" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "slide" } }, "source": [ "Data Science\n", "============\n", "\n", "* A data scientist is a statistician who lives in San Francisco.\n", "* Data science is statistics on a Mac.\n", "* A data scientist is someone who is better at statistics than any software engineer and better at software engineering than any statistician.\n", "\n", "\n", "(from https://twitter.com/jeremyjarvis/status/428848527226437632/photo/1)" ] }, { "cell_type": "markdown", "metadata": { "internals": { "slide_helper": "subslide_end", "slide_type": "subslide" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "slide" } }, "source": [ "Machine Learning\n", "================\n", "\n", "Supervised\n", "----------\n", "\n", "$Y = h(X)$\n", "\n", "* Develop a model $h$ that operates on an input $X$ to produce an output $Y$.\n", "* Allow a *machine* to come up with the function on its own by some optimization process on a set of labeled training examples.\n", "\n", "$e_{train} = h(X_{train}) - Y_{train}$\n", "\n", "* Use the trained model to make predictions on previously unseen inputs.\n", "\n", "$ \\hat{Y} = h(X_{new})$" ] }, { "cell_type": "markdown", "metadata": { "internals": { "slide_helper": "subslide_end", "slide_type": "subslide" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "slide" } }, "source": [ "\"Hello, World\" Prediction Problem\n", "==========================\n", "\n", "*Predict* the *output variables* (height) as a function of the input *features* (age). Accomplish this by *fitting* a *model* (linear regression) to the available *samples* (five boys) in the *training* data set.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": { "internals": { "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "source": [ "\"Hello, World\" Prediction Problem: Python\n", "========================" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "from sklearn.linear_model import LinearRegression\n", "\n", "# Training output samples\n", "height_inches = np.array([[51.0, 56.0, 64.0, 71.0, 69.0]]).T\n", "\n", "# Training feature samples\n", "age_years = np.array([[7.8, 10.7, 13.7, 17.5, 20.1]]).T\n", "\n", "# Initialize model\n", "model = LinearRegression()\n", "\n", "# Train\n", "model.fit(age_years, height_inches)\n", "\n", "# Predict\n", "model.predict(15.0)" ], "language": "python", "metadata": { "internals": {}, "slideshow": { "slide_type": "-" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "array([[ 63.90023465]])" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "def plot_boys(age, height, test=None, pred=None):\n", " plt.plot(age_years, height_inches, marker='o', ls='none')\n", " plt.xlabel(\"Age (years)\")\n", " plt.ylabel(\"Height (inches)\")\n", " plt.title(\"Boys\")\n", " if test is not None:\n", " plt.plot(test, pred, '-');" ], "language": "python", "metadata": { "internals": { "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "plot_boys(age_years, height_inches);" ], "language": "python", "metadata": { "internals": { "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "test = np.array([np.linspace(7.0, 21.0)]).T\n", "pred = model.predict(test)" ], "language": "python", "metadata": { "internals": { "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "plot_boys(age_years, height_inches, test, pred)" ], "language": "python", "metadata": { "internals": { "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "test = np.array([np.linspace(0.0, 50.0)]).T\n", "pred = model.predict(test)" ], "language": "python", "metadata": { "internals": { "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "plot_boys(age_years, height_inches, test, pred)" ], "language": "python", "metadata": { "internals": { "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\navw/kZHg1LUZohkAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": { "internals": {}, "slideshow": { "slide_type": "-" } }, "source": [ "### Tall babies! Really tall adults! ###\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "A More Flexible Model\n", "=======================" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sklearn.preprocessing import PolynomialFeatures\n", "\n", "pf = PolynomialFeatures(4)\n", "x_poly = pf.fit_transform(age_years)\n", "\n", "model.fit(x_poly, height_inches)\n", "\n", "test = np.array([np.linspace(7.0, 21.0)]).T\n", "test_poly = pf.transform(test)\n", "pred = model.predict(test_poly)" ], "language": "python", "metadata": { "internals": { "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "-" } }, "outputs": [], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "plot_boys(age_years, height_inches, test, pred)" ], "language": "python", "metadata": { "internals": { "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": { "internals": {}, "slideshow": { "slide_type": "-" } }, "source": [ "### Look! No training error! ###" ] }, { "cell_type": "code", "collapsed": false, "input": [ "test = np.array([np.linspace(0.0, 50.0)]).T\n", "test_poly = pf.transform(test)\n", "pred = model.predict(test_poly)" ], "language": "python", "metadata": { "internals": { "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "plot_boys(age_years, height_inches, test, pred)" ], "language": "python", "metadata": { "internals": { "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": { "internals": { "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "-" } }, "source": [ "### Really tall babies! \"Unphysical\" heights for adults! ###" ] }, { "cell_type": "markdown", "metadata": { "internals": { "slide_helper": "subslide_end", "slide_type": "subslide" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "slide" } }, "source": [ "Lessons from \"Hello, World\" Prediction Problem\n", "=========================================\n", "\n", "* Skillful prediction cannot be measured against the *training* data set. We must *test* against data not included in the *training*.\n", "* Reducing the *training error* is not necessarily the primary objective of model development. \n", "* A *flexible* model (polynomial regression) is not always better than an *inflexible* model (linear regression).\n", "* *Extrapolation* beyond the bounds of the training data can produce unexpected results." ] }, { "cell_type": "markdown", "metadata": { "internals": { "slide_helper": "subslide_end", "slide_type": "subslide" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "slide" } }, "source": [ "Machine Learning Toolboxes\n", "==========================\n", "\n", "* Very popular open source packages available in many programming languages.\n", " * R\n", " * Python\n", "* Growing number of \"Machine Learning as a Service\" companies.\n", "* Big companies offering prediction APIs hosted in the cloud.\n", " * Microsoft Azure Machine Learning\n", " * Google Prediction API" ] }, { "cell_type": "markdown", "metadata": { "internals": { "slide_helper": "subslide_end", "slide_type": "subslide" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "slide" } }, "source": [ "Getting Started with Google Prediction API\n", "=====================================\n", "\n", "* Initiate a project through Google Developers Console.\n", "* Enable Prediction API and Cloud Storage for that project.\n", "* Upload training data (specially formatted CSV file) to the cloud storage bucket.\n", "* Install Google API Python Client.\n", "* Get OAuth 2.0 authentication flow working. (Yes, really.)\n", "* Call `insert` with appropriately formatted JSON to configure and train the model.\n", "* Call `predict` with similarly formatted JSON to make predictions.\n", "* Pay for training and prediction usage. (Free 60-day trial available.)\n", "\n", "Luckily, there are good examples here: https://github.com/google/google-api-python-client" ] }, { "cell_type": "markdown", "metadata": { "internals": { "slide_helper": "subslide_end", "slide_type": "subslide" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "slide" } }, "source": [ "Google Prediction API Quotas and Limits\n", "====================\n", "\n", "* Training limits\n", " * data set no larger than 2.5 GB\n", "* Prediction quotas\n", " * 1 request/second/user\n", " * 10,000 requests/day\n", " * Can request higher quotas" ] }, { "cell_type": "markdown", "metadata": { "internals": { "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "source": [ "Kaggle: Predicting Survival on the Titanic\n", "==========================\n", "\n", "* An introductory competition for knowledge sharing.\n", "* Fully worked examples in Excel, Python, and R.\n", "* Upload your solution to Kaggle for scoring.\n", "* A great first example for a *classification* problem using Google Prediction API.\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import csv\n", "dtypes = {\n", " \"PassengerId\":np.int64,\n", " \"Survived\":object,\n", " \"Pclass\":np.int64,\n", " \"Name\":object,\n", " \"Sex\":object,\n", " \"Age\":np.float64,\n", "}" ], "language": "python", "metadata": { "internals": { "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": { "internals": { "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "source": [ "Titanic Training Set\n", "====================" ] }, { "cell_type": "code", "collapsed": false, "input": [ "train_df = pd.read_csv(\"train.csv\", dtype=dtypes)\n", "train_df" ], "language": "python", "metadata": { "internals": {}, "slideshow": { "slide_type": "-" } }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0 1 0 3 Braund, Mr. Owen Harris male 22 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35 0 0 373450 8.0500 NaN S
5 6 0 3 Moran, Mr. James maleNaN 0 0 330877 8.4583 NaN Q
6 7 0 1 McCarthy, Mr. Timothy J male 54 0 0 17463 51.8625 E46 S
7 8 0 3 Palsson, Master. Gosta Leonard male 2 3 1 349909 21.0750 NaN S
8 9 1 3 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) female 27 0 2 347742 11.1333 NaN S
9 10 1 2 Nasser, Mrs. Nicholas (Adele Achem) female 14 1 0 237736 30.0708 NaN C
10 11 1 3 Sandstrom, Miss. Marguerite Rut female 4 1 1 PP 9549 16.7000 G6 S
11 12 1 1 Bonnell, Miss. Elizabeth female 58 0 0 113783 26.5500 C103 S
12 13 0 3 Saundercock, Mr. William Henry male 20 0 0 A/5. 2151 8.0500 NaN S
13 14 0 3 Andersson, Mr. Anders Johan male 39 1 5 347082 31.2750 NaN S
14 15 0 3 Vestrom, Miss. Hulda Amanda Adolfina female 14 0 0 350406 7.8542 NaN S
15 16 1 2 Hewlett, Mrs. (Mary D Kingcome) female 55 0 0 248706 16.0000 NaN S
16 17 0 3 Rice, Master. Eugene male 2 4 1 382652 29.1250 NaN Q
17 18 1 2 Williams, Mr. Charles Eugene maleNaN 0 0 244373 13.0000 NaN S
18 19 0 3 Vander Planke, Mrs. Julius (Emelia Maria Vande... female 31 1 0 345763 18.0000 NaN S
19 20 1 3 Masselmani, Mrs. Fatima femaleNaN 0 0 2649 7.2250 NaN C
20 21 0 2 Fynney, Mr. Joseph J male 35 0 0 239865 26.0000 NaN S
21 22 1 2 Beesley, Mr. Lawrence male 34 0 0 248698 13.0000 D56 S
22 23 1 3 McGowan, Miss. Anna \"Annie\" female 15 0 0 330923 8.0292 NaN Q
23 24 1 1 Sloper, Mr. William Thompson male 28 0 0 113788 35.5000 A6 S
24 25 0 3 Palsson, Miss. Torborg Danira female 8 3 1 349909 21.0750 NaN S
25 26 1 3 Asplund, Mrs. Carl Oscar (Selma Augusta Emilia... female 38 1 5 347077 31.3875 NaN S
26 27 0 3 Emir, Mr. Farred Chehab maleNaN 0 0 2631 7.2250 NaN C
27 28 0 1 Fortune, Mr. Charles Alexander male 19 3 2 19950 263.0000 C23 C25 C27 S
28 29 1 3 O'Dwyer, Miss. Ellen \"Nellie\" femaleNaN 0 0 330959 7.8792 NaN Q
29 30 0 3 Todoroff, Mr. Lalio maleNaN 0 0 349216 7.8958 NaN S
.......................................
861 862 0 2 Giles, Mr. Frederick Edward male 21 1 0 28134 11.5000 NaN S
862 863 1 1 Swift, Mrs. Frederick Joel (Margaret Welles Ba... female 48 0 0 17466 25.9292 D17 S
863 864 0 3 Sage, Miss. Dorothy Edith \"Dolly\" femaleNaN 8 2 CA. 2343 69.5500 NaN S
864 865 0 2 Gill, Mr. John William male 24 0 0 233866 13.0000 NaN S
865 866 1 2 Bystrom, Mrs. (Karolina) female 42 0 0 236852 13.0000 NaN S
866 867 1 2 Duran y More, Miss. Asuncion female 27 1 0 SC/PARIS 2149 13.8583 NaN C
867 868 0 1 Roebling, Mr. Washington Augustus II male 31 0 0 PC 17590 50.4958 A24 S
868 869 0 3 van Melkebeke, Mr. Philemon maleNaN 0 0 345777 9.5000 NaN S
869 870 1 3 Johnson, Master. Harold Theodor male 4 1 1 347742 11.1333 NaN S
870 871 0 3 Balkic, Mr. Cerin male 26 0 0 349248 7.8958 NaN S
871 872 1 1 Beckwith, Mrs. Richard Leonard (Sallie Monypeny) female 47 1 1 11751 52.5542 D35 S
872 873 0 1 Carlsson, Mr. Frans Olof male 33 0 0 695 5.0000 B51 B53 B55 S
873 874 0 3 Vander Cruyssen, Mr. Victor male 47 0 0 345765 9.0000 NaN S
874 875 1 2 Abelson, Mrs. Samuel (Hannah Wizosky) female 28 1 0 P/PP 3381 24.0000 NaN C
875 876 1 3 Najib, Miss. Adele Kiamie \"Jane\" female 15 0 0 2667 7.2250 NaN C
876 877 0 3 Gustafsson, Mr. Alfred Ossian male 20 0 0 7534 9.8458 NaN S
877 878 0 3 Petroff, Mr. Nedelio male 19 0 0 349212 7.8958 NaN S
878 879 0 3 Laleff, Mr. Kristo maleNaN 0 0 349217 7.8958 NaN S
879 880 1 1 Potter, Mrs. Thomas Jr (Lily Alexenia Wilson) female 56 0 1 11767 83.1583 C50 C
880 881 1 2 Shelley, Mrs. William (Imanita Parrish Hall) female 25 0 1 230433 26.0000 NaN S
881 882 0 3 Markun, Mr. Johann male 33 0 0 349257 7.8958 NaN S
882 883 0 3 Dahlberg, Miss. Gerda Ulrika female 22 0 0 7552 10.5167 NaN S
883 884 0 2 Banfield, Mr. Frederick James male 28 0 0 C.A./SOTON 34068 10.5000 NaN S
884 885 0 3 Sutehall, Mr. Henry Jr male 25 0 0 SOTON/OQ 392076 7.0500 NaN S
885 886 0 3 Rice, Mrs. William (Margaret Norton) female 39 0 5 382652 29.1250 NaN Q
886 887 0 2 Montvila, Rev. Juozas male 27 0 0 211536 13.0000 NaN S
887 888 1 1 Graham, Miss. Margaret Edith female 19 0 0 112053 30.0000 B42 S
888 889 0 3 Johnston, Miss. Catherine Helen \"Carrie\" femaleNaN 1 2 W./C. 6607 23.4500 NaN S
889 890 1 1 Behr, Mr. Karl Howell male 26 0 0 111369 30.0000 C148 C
890 891 0 3 Dooley, Mr. Patrick male 32 0 0 370376 7.7500 NaN Q
\n", "

891 rows \u00d7 12 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ " PassengerId Survived Pclass \\\n", "0 1 0 3 \n", "1 2 1 1 \n", "2 3 1 3 \n", "3 4 1 1 \n", "4 5 0 3 \n", "5 6 0 3 \n", "6 7 0 1 \n", "7 8 0 3 \n", "8 9 1 3 \n", "9 10 1 2 \n", "10 11 1 3 \n", "11 12 1 1 \n", "12 13 0 3 \n", "13 14 0 3 \n", "14 15 0 3 \n", "15 16 1 2 \n", "16 17 0 3 \n", "17 18 1 2 \n", "18 19 0 3 \n", "19 20 1 3 \n", "20 21 0 2 \n", "21 22 1 2 \n", "22 23 1 3 \n", "23 24 1 1 \n", "24 25 0 3 \n", "25 26 1 3 \n", "26 27 0 3 \n", "27 28 0 1 \n", "28 29 1 3 \n", "29 30 0 3 \n", ".. ... ... ... \n", "861 862 0 2 \n", "862 863 1 1 \n", "863 864 0 3 \n", "864 865 0 2 \n", "865 866 1 2 \n", "866 867 1 2 \n", "867 868 0 1 \n", "868 869 0 3 \n", "869 870 1 3 \n", "870 871 0 3 \n", "871 872 1 1 \n", "872 873 0 1 \n", "873 874 0 3 \n", "874 875 1 2 \n", "875 876 1 3 \n", "876 877 0 3 \n", "877 878 0 3 \n", "878 879 0 3 \n", "879 880 1 1 \n", "880 881 1 2 \n", "881 882 0 3 \n", "882 883 0 3 \n", "883 884 0 2 \n", "884 885 0 3 \n", "885 886 0 3 \n", "886 887 0 2 \n", "887 888 1 1 \n", "888 889 0 3 \n", "889 890 1 1 \n", "890 891 0 3 \n", "\n", " Name Sex Age SibSp \\\n", "0 Braund, Mr. Owen Harris male 22 1 \n", "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 \n", "2 Heikkinen, Miss. Laina female 26 0 \n", "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 \n", "4 Allen, Mr. William Henry male 35 0 \n", "5 Moran, Mr. James male NaN 0 \n", "6 McCarthy, Mr. Timothy J male 54 0 \n", "7 Palsson, Master. Gosta Leonard male 2 3 \n", "8 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) female 27 0 \n", "9 Nasser, Mrs. Nicholas (Adele Achem) female 14 1 \n", "10 Sandstrom, Miss. Marguerite Rut female 4 1 \n", "11 Bonnell, Miss. Elizabeth female 58 0 \n", "12 Saundercock, Mr. William Henry male 20 0 \n", "13 Andersson, Mr. Anders Johan male 39 1 \n", "14 Vestrom, Miss. Hulda Amanda Adolfina female 14 0 \n", "15 Hewlett, Mrs. (Mary D Kingcome) female 55 0 \n", "16 Rice, Master. Eugene male 2 4 \n", "17 Williams, Mr. Charles Eugene male NaN 0 \n", "18 Vander Planke, Mrs. Julius (Emelia Maria Vande... female 31 1 \n", "19 Masselmani, Mrs. Fatima female NaN 0 \n", "20 Fynney, Mr. Joseph J male 35 0 \n", "21 Beesley, Mr. Lawrence male 34 0 \n", "22 McGowan, Miss. Anna \"Annie\" female 15 0 \n", "23 Sloper, Mr. William Thompson male 28 0 \n", "24 Palsson, Miss. Torborg Danira female 8 3 \n", "25 Asplund, Mrs. Carl Oscar (Selma Augusta Emilia... female 38 1 \n", "26 Emir, Mr. Farred Chehab male NaN 0 \n", "27 Fortune, Mr. Charles Alexander male 19 3 \n", "28 O'Dwyer, Miss. Ellen \"Nellie\" female NaN 0 \n", "29 Todoroff, Mr. Lalio male NaN 0 \n", ".. ... ... ... ... \n", "861 Giles, Mr. Frederick Edward male 21 1 \n", "862 Swift, Mrs. Frederick Joel (Margaret Welles Ba... female 48 0 \n", "863 Sage, Miss. Dorothy Edith \"Dolly\" female NaN 8 \n", "864 Gill, Mr. John William male 24 0 \n", "865 Bystrom, Mrs. (Karolina) female 42 0 \n", "866 Duran y More, Miss. Asuncion female 27 1 \n", "867 Roebling, Mr. Washington Augustus II male 31 0 \n", "868 van Melkebeke, Mr. Philemon male NaN 0 \n", "869 Johnson, Master. Harold Theodor male 4 1 \n", "870 Balkic, Mr. Cerin male 26 0 \n", "871 Beckwith, Mrs. Richard Leonard (Sallie Monypeny) female 47 1 \n", "872 Carlsson, Mr. Frans Olof male 33 0 \n", "873 Vander Cruyssen, Mr. Victor male 47 0 \n", "874 Abelson, Mrs. Samuel (Hannah Wizosky) female 28 1 \n", "875 Najib, Miss. Adele Kiamie \"Jane\" female 15 0 \n", "876 Gustafsson, Mr. Alfred Ossian male 20 0 \n", "877 Petroff, Mr. Nedelio male 19 0 \n", "878 Laleff, Mr. Kristo male NaN 0 \n", "879 Potter, Mrs. Thomas Jr (Lily Alexenia Wilson) female 56 0 \n", "880 Shelley, Mrs. William (Imanita Parrish Hall) female 25 0 \n", "881 Markun, Mr. Johann male 33 0 \n", "882 Dahlberg, Miss. Gerda Ulrika female 22 0 \n", "883 Banfield, Mr. Frederick James male 28 0 \n", "884 Sutehall, Mr. Henry Jr male 25 0 \n", "885 Rice, Mrs. William (Margaret Norton) female 39 0 \n", "886 Montvila, Rev. Juozas male 27 0 \n", "887 Graham, Miss. Margaret Edith female 19 0 \n", "888 Johnston, Miss. Catherine Helen \"Carrie\" female NaN 1 \n", "889 Behr, Mr. Karl Howell male 26 0 \n", "890 Dooley, Mr. Patrick male 32 0 \n", "\n", " Parch Ticket Fare Cabin Embarked \n", "0 0 A/5 21171 7.2500 NaN S \n", "1 0 PC 17599 71.2833 C85 C \n", "2 0 STON/O2. 3101282 7.9250 NaN S \n", "3 0 113803 53.1000 C123 S \n", "4 0 373450 8.0500 NaN S \n", "5 0 330877 8.4583 NaN Q \n", "6 0 17463 51.8625 E46 S \n", "7 1 349909 21.0750 NaN S \n", "8 2 347742 11.1333 NaN S \n", "9 0 237736 30.0708 NaN C \n", "10 1 PP 9549 16.7000 G6 S \n", "11 0 113783 26.5500 C103 S \n", "12 0 A/5. 2151 8.0500 NaN S \n", "13 5 347082 31.2750 NaN S \n", "14 0 350406 7.8542 NaN S \n", "15 0 248706 16.0000 NaN S \n", "16 1 382652 29.1250 NaN Q \n", "17 0 244373 13.0000 NaN S \n", "18 0 345763 18.0000 NaN S \n", "19 0 2649 7.2250 NaN C \n", "20 0 239865 26.0000 NaN S \n", "21 0 248698 13.0000 D56 S \n", "22 0 330923 8.0292 NaN Q \n", "23 0 113788 35.5000 A6 S \n", "24 1 349909 21.0750 NaN S \n", "25 5 347077 31.3875 NaN S \n", "26 0 2631 7.2250 NaN C \n", "27 2 19950 263.0000 C23 C25 C27 S \n", "28 0 330959 7.8792 NaN Q \n", "29 0 349216 7.8958 NaN S \n", ".. ... ... ... ... ... \n", "861 0 28134 11.5000 NaN S \n", "862 0 17466 25.9292 D17 S \n", "863 2 CA. 2343 69.5500 NaN S \n", "864 0 233866 13.0000 NaN S \n", "865 0 236852 13.0000 NaN S \n", "866 0 SC/PARIS 2149 13.8583 NaN C \n", "867 0 PC 17590 50.4958 A24 S \n", "868 0 345777 9.5000 NaN S \n", "869 1 347742 11.1333 NaN S \n", "870 0 349248 7.8958 NaN S \n", "871 1 11751 52.5542 D35 S \n", "872 0 695 5.0000 B51 B53 B55 S \n", "873 0 345765 9.0000 NaN S \n", "874 0 P/PP 3381 24.0000 NaN C \n", "875 0 2667 7.2250 NaN C \n", "876 0 7534 9.8458 NaN S \n", "877 0 349212 7.8958 NaN S \n", "878 0 349217 7.8958 NaN S \n", "879 1 11767 83.1583 C50 C \n", "880 1 230433 26.0000 NaN S \n", "881 0 349257 7.8958 NaN S \n", "882 0 7552 10.5167 NaN S \n", "883 0 C.A./SOTON 34068 10.5000 NaN S \n", "884 0 SOTON/OQ 392076 7.0500 NaN S \n", "885 5 382652 29.1250 NaN Q \n", "886 0 211536 13.0000 NaN S \n", "887 0 112053 30.0000 B42 S \n", "888 2 W./C. 6607 23.4500 NaN S \n", "889 0 111369 30.0000 C148 C \n", "890 0 370376 7.7500 NaN Q \n", "\n", "[891 rows x 12 columns]" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "import googleprediction\n", "\n", "model = googleprediction.GooglePredictor(\n", " \"myproject\",\n", " \"mybucket/train_cleaned.csv\",\n", " \"hastalapasta\",\n", " \"client_secrets.json\")" ], "language": "python", "metadata": { "internals": {}, "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "def survived(pred):\n", " pred = pred[0]\n", " if pred == u'1':\n", " print \"YES\"\n", " else:\n", " print \"NO\"" ], "language": "python", "metadata": { "internals": { "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": { "internals": { "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "source": [ "Titanic Survival Model Using Google Prediction\n", "==============================================\n", "\n", "* Fit a model to the Kaggle Titanic survival training set after some data cleaning.\n", "* Model is live on Google's cloud services.\n", "* Let's check training error by predicting back against a known survivor from the training set." ] }, { "cell_type": "code", "collapsed": false, "input": [ "pred = model.predict([[\n", " '1', # Fare class\n", " 'Spencer Mrs William Augustus Marie Eugenie', # Name\n", " 'female', # Gender\n", " 20.2, # Age\n", " 1, # Number of parents or children aboard\n", " 0, # Number of siblings or spouse aboard\n", " 146.5208, # Fare price\n", " ],])\n", "\n", "survived(pred) " ], "language": "python", "metadata": { "internals": { "frag_helper": "fragment_end", "frag_number": 35, "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "YES\n" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": { "internals": { "frag_helper": "fragment_end", "frag_number": 35, "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "code", "collapsed": false, "input": [ "pred = model.predict([[\n", " '1', # Fare class\n", " 'Frank Lampard', # Name\n", " 'male', # Gender\n", " 36.0, # Age\n", " 0, # Number of parents or children aboard\n", " 0, # Number of siblings or spouse aboard\n", " 20.0, # Fare price\n", " ],])\n", "survived(pred) " ], "language": "python", "metadata": { "internals": { "frag_helper": "fragment_end", "frag_number": 37, "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "NO\n" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": { "internals": { "frag_helper": "fragment_end", "frag_number": 37, "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "code", "collapsed": false, "input": [ "pred = model.predict([[\n", " '1', # Fare class\n", " 'Frank Lampard', # Name\n", " 'male', # Gender\n", " 36.0, # Age\n", " 0, # Number of parents or children aboard\n", " 0, # Number of siblings or spouse aboard\n", " 500.0, # Fare price\n", " ],])\n", "survived(pred) " ], "language": "python", "metadata": { "internals": { "frag_helper": "fragment_end", "frag_number": 39, "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "YES\n" ] } ], "prompt_number": 21 }, { "cell_type": "markdown", "metadata": { "internals": { "frag_helper": "fragment_end", "frag_number": 39, "slide_helper": "subslide_end", "slide_type": "subslide" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "slide" } }, "source": [ "Lessons from Titanic Survival Classifier\n", "========================================\n", "\n", "* Real data is almost never tidy. Some cleaning is required.\n", "* Some model types are by nature *black boxes* that cannot be inspected on the inside. You might be able to discern some things about how the model is behaving by feeding it interesting test cases, but that's not the same as having full access to the model internals.\n", "* Choose the machine learning toolbox to match the modeling need *and* the implementation plan." ] }, { "cell_type": "markdown", "metadata": { "internals": { "frag_helper": "fragment_end", "frag_number": 39, "slide_helper": "subslide_end", "slide_type": "subslide" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "slide" } }, "source": [ "Benchmarking Google Prediction API Performance\n", "=================\n", "\n", "Prediction accuracies for `sklearn.RandomForestClassifier` (100 trees) and Goole Prediction API\n", "on the Taylor Swift audio clip data set.\n", "\n", "### Input Features: Raw Time Samples ###\n", "\n", "* Random Forest: 78.9%\n", "* Google Prediciton API: 72.7%\n", "\n", "### Input Features: Frequency Spectra ###\n", "\n", "* Random Forest: 98.3%\n", "* Google Prediciton API: 95.1%\n", "\n", "### Input Features: Averaged Freqency Spectra ###\n", "\n", "* Random Forest: 99.2%\n", "* Google Prediciton API: 94.3%\n" ] }, { "cell_type": "markdown", "metadata": { "internals": { "frag_helper": "fragment_end", "frag_number": 39, "slide_helper": "subslide_end", "slide_type": "subslide" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "slide" } }, "source": [ "Google Prediction API Trade-offs\n", "============\n", "\n", "Strengths\n", "------\n", "\n", "* Hosted solution in a high-availability environment\n", "* Fair prediction performance compared to other ML packages\n", "* Handles text features without any special treatment\n", "\n", "Weaknesses\n", "---------\n", "\n", "* Slow prediction performance\n", "* No visibility into model architecture\n", "* No real model tuning parameters available\n" ] }, { "cell_type": "markdown", "metadata": { "internals": { "frag_helper": "fragment_end", "frag_number": 39, "slide_helper": "subslide_end", "slide_type": "subslide" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "slide" } }, "source": [ "Good Software Engineering Practice\n", "=========================================\n", "\n", "Even Google worries a lot about technical debt.\n", "\n", "\n", "\n", "(source: http://research.google.com/pubs/pub43146.html)" ] }, { "cell_type": "markdown", "metadata": { "internals": { "frag_helper": "fragment_end", "frag_number": 39, "slide_type": "subslide" }, "slideshow": { "slide_type": "slide" } }, "source": [ "Thank You!\n", "==========\n", "\n", "### Jed Ludlow ####\n", "\n", "`jedludlow.com`\n" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": { "internals": { "frag_helper": "fragment_end", "frag_number": 39, "slide_helper": "subslide_end" }, "slide_helper": "slide_end", "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 21 } ], "metadata": {} } ] }