Skip to content

Instantly share code, notes, and snippets.

@schwehr
Created February 10, 2013 07:16
Show Gist options
  • Save schwehr/4748729 to your computer and use it in GitHub Desktop.
Save schwehr/4748729 to your computer and use it in GitHub Desktop.
scikit-learn from watching Jake's (http://jakevdp.github.com/) PyData 2012 video: http://youtu.be/cHZONQ2-x7I
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "sklearn"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": true,
"input": [
"import numpy as np"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": true,
"input": [
"X = np.random.random((100, 4))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"X.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 3,
"text": [
"(100, 4)"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from sklearn import datasets"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data = datasets.load_iris()\n",
"iris = datasets.load_iris()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 22
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"type(data)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 3,
"text": [
"sklearn.datasets.base.Bunch"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": true,
"input": [
"x = data.data\n",
"y = data.target"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 5,
"text": [
"(150, 4)"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"y.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 6,
"text": [
"(150,)"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x[0]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 7,
"text": [
"array([ 5.1, 3.5, 1.4, 0.2])"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x[:,0]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 8,
"text": [
"array([ 5.1, 4.9, 4.7, 4.6, 5. , 5.4, 4.6, 5. , 4.4, 4.9, 5.4,\n",
" 4.8, 4.8, 4.3, 5.8, 5.7, 5.4, 5.1, 5.7, 5.1, 5.4, 5.1,\n",
" 4.6, 5.1, 4.8, 5. , 5. , 5.2, 5.2, 4.7, 4.8, 5.4, 5.2,\n",
" 5.5, 4.9, 5. , 5.5, 4.9, 4.4, 5.1, 5. , 4.5, 4.4, 5. ,\n",
" 5.1, 4.8, 5.1, 4.6, 5.3, 5. , 7. , 6.4, 6.9, 5.5, 6.5,\n",
" 5.7, 6.3, 4.9, 6.6, 5.2, 5. , 5.9, 6. , 6.1, 5.6, 6.7,\n",
" 5.6, 5.8, 6.2, 5.6, 5.9, 6.1, 6.3, 6.1, 6.4, 6.6, 6.8,\n",
" 6.7, 6. , 5.7, 5.5, 5.5, 5.8, 6. , 5.4, 6. , 6.7, 6.3,\n",
" 5.6, 5.5, 5.5, 6.1, 5.8, 5. , 5.6, 5.7, 5.7, 6.2, 5.1,\n",
" 5.7, 6.3, 5.8, 7.1, 6.3, 6.5, 7.6, 4.9, 7.3, 6.7, 7.2,\n",
" 6.5, 6.4, 6.8, 5.7, 5.8, 6.4, 6.5, 7.7, 7.7, 6. , 6.9,\n",
" 5.6, 7.7, 6.3, 6.7, 7.2, 6.2, 6.1, 6.4, 7.2, 7.4, 7.9,\n",
" 6.4, 6.3, 6.1, 7.7, 6.3, 6.4, 6. , 6.9, 6.7, 6.9, 5.8,\n",
" 6.8, 6.7, 6.7, 6.3, 6.5, 6.2, 5.9])"
]
}
],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"scatter(x[:,0], x[:,1], c=y)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 9,
"text": [
"<matplotlib.collections.PathCollection at 0x2be5110>"
]
},
{
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD9CAYAAABHnDf0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4E9X6B/BvkiZNJkn3Pd13WgptKWUtLRTKvi+CiHgF\nRRQRveLCDwUuble9er2IWlFUBEUFVJRFFG0RZBPKVtZCoS2UtrR0Tdts7++PhEBspWmTNjScz/P4\nPE5Ozpx3kunL5MyZc3hERGAYhmHsCt/WATAMwzDWx5I7wzCMHWLJnWEYxg6x5M4wDGOHWHJnGIax\nQyy5MwzD2KEWk3twcDC6deuGhIQEJCcnN/ue+fPnIyIiAt27d0dOTo7Vg2QYhmFax6GlN/B4PGRl\nZcHNza3Z8q1btyIvLw/nzp3D/v37MXfuXOzbt8/qgTIMwzDmM6tb5nbPOW3evBkzZ84EAPTq1QuV\nlZUoKSmxTnQMwzBMm5h15T548GAIBALMmTMHDz30kEn55cuXERAQYNz29/dHUVERvL29TfbBMAzD\ntF5bJxFo8cp9z549yMnJwbZt27By5Ur8/vvvLTbeXDInojvqvyVLltg8hs4Q050aF4uJxXQ3xGWJ\nFpO7r68vAMDT0xPjx4/HgQMHTMoVCgUKCwuN20VFRVAoFBYFxTAMw1jmtsldqVSipqYGAFBXV4cd\nO3YgLi7O5D1jxozBmjVrAAD79u2Di4uLSZcMwzAM0/Fu2+deUlKC8ePHAwA0Gg2mT5+OjIwMZGZm\nAgDmzJmDESNGYOvWrQgPD4dUKsUnn3zS/lFbQVpamq1DaOJOjAm4M+NiMZmHxWS+OzWutuKRpR07\n5jTC41ncf8QwDHO3sSR3sidUGYZh7BBL7gzDMHaIJXeGYRg7xJI7wzCMHWLJnWEYxg6x5M4wDGOH\nWHJnGIaxQyy5MwzD2CGW3BmGYewQS+4MwzB2iCV3hmEYO8SSO8MwjB1iyZ1hGMYOseTOMAxjh1hy\nZxiGsUMsuTMMw9ghltwZhmHsEEvuDMMwdogld4ZhGDvEkjvDMIwdYsmdYRjGDrHkzjAMY4dYcmcY\nhrFDZiV3rVaLhIQEjB49uklZVlYWnJ2dkZCQgISEBLz00ktWD5JhGIZpHQdz3vTOO+8gJiYGNTU1\nzZanpqZi8+bNVg2MYRiGabsWk3tRURG2bt2K//u//8Nbb73V7HuIqMWGli5davz/tLQ0pKWlmR0k\nwzDM3SArKwtZWVlW2RePWsjMkydPxqJFi1BdXY0333wTP/zwg0l5dnY2JkyYAH9/fygUCrz55puI\niYkxbYTHM+sfAIZhGOYmS3Lnbfvcf/zxR3h5eSEhIeFvG0hMTERhYSGOHj2Kxx9/HOPGjWtTIAzD\nMIz13PbKfdGiRfj888/h4OCAhoYGVFdXY+LEiVizZs3f7jAkJASHDh2Cm5vbzUbYlTvDMEyrWZI7\nW+yWuSE7O7vZbpmSkhJ4eXmBx+PhwIEDmDJlCi5evGi1ABmGYe5W7dYt01xDAJCZmYnMzEwAwIYN\nGxAXF4f4+HgsWLAA69evb1MgjH0pLCzE4MEjoFCEICNjFIqKimwdEsPcVcy+creoEXblfldpaGhA\nVFRXXL4cBK02GgLBKQQEXMaZM8chEolsHR7DdBodduXOMObIzc3F9esqaLUDAHhBqx2A8vI6nD59\n2tahMcxdgyV3xuo4joNWqwSgMbyihUajBMdxtgyLYe4qLLkzVhcdHY1BgwaA474GsBcc9xUyMtIR\nFhZm69AY5q7B+tyZdqHRaLBq1SocOXICCQlxeOihhyAQCGwdFsN0Kh0yFNISLLkzDMO0HruhyjAM\nw5hgyZ1hGMYOseTOMAxjh1hyZxiGsUMsuTMMw9ghltyZ29LpdCgpKYFarbZ1KAzDtAJL7szfOnLk\nCHx9AxEcHAlnZzd89dXXtg6JYRgzsXHuTLN0Oh18fQNRWtoLQDcAV8Fx63Hs2J/sSVOG6SBsnDtj\ndaWlpaiuroE+sQOADxwcAnH06FFbhsUwjJlYcmeapV9JSwugxPBKAzSaKwgMDLRhVAzDmIsld6ZZ\nIpEIn3zyETjuSzg5bQLHfYRZs2YgKSnJ1qExDGMG1ufO3FZeXh6OHj2KoKAgltgZpoOxicPucvn5\n+Xj22cW4fPkqRo3KwDPPPM1mYGQYO2BJ7nSwcixMBysrK0NSUh9UVcVCq/XGkSOrUFBQiPfff9fW\noTEMY0Osz72T++GHH9DQ4GtY0i4KSuVEfPzxR+yXEsPc5Vhy7+R4PB54vFtfYUmdYRiW3Du90aNH\nQyy+CoEgC8ApcNxGPPTQw+CZZnyGYe4yZiV3rVaLhIQEjB49utny+fPnIyIiAt27d0dOTo5VA2Ru\nz8PDA4cO7cPkyQEYMKACS5bMxYoV/7V1WAzD2JhZN1TfeecdxMTEoKampknZ1q1bkZeXh3PnzmH/\n/v2YO3cu9u3bZ/VAmb8XFBSEL79cY+swWuX69evIzs6GUCjEoEGDIJFIbB0Sw9iVFq/ci4qKsHXr\nVsyePbvZm3SbN2/GzJkzAQC9evVCZWUlSkpKmryPYW7Iz89HVFRXzJy5GNOmLUD37j1RWVlp67AY\nxq60eOX+5JNP4o033kB1dXWz5ZcvX0ZAQIBx29/fH0VFRfD29jZ539KlS43/n5aWhrS0tLZFzHR6\njz/+FMrLY6DT9QdAaGzcipdeegVvvvm6rUNjGJvKyspCVlaWVfZ12+T+448/wsvLCwkJCbdt8K9X\n9M3dzLs1uTN3twsXLkKnSzBs8aBSKXD+/CWbxsQwd4K/XvguW7aszfu6bbfMH3/8gc2bNyMkJATT\npk3Dr7/+ivvvv9/kPQqFAoWFhcbtoqIiKBSKNgfE2L/U1P4Qiw9DPzFZIzjuOAYO7G/rsBjGvpCZ\nsrKyaNSoUU1e37JlCw0fPpyIiPbu3Uu9evVq8p5WNMPcBerq6mjIkBHk4OBIDg4i+sc/HiKtVmvr\nsBjmjmNJ7mzV9AM3ulsyMzMBAHPmzMGIESOwdetWhIeHQyqV4pNPPrH2vz+MneE4Djt2bEF1dTUc\nHBzAcZytQ2IYu8MmDrvLzZz5AD7//EsQaaFQBOLIkQPw8PCwdVgMw4CtxMS00RtvvIE1a74B0YMA\n/onLl0VITmZ93wxjD9iV+10sObkPDh6UAEg1vFIOHm8VdLp6W4bFMIwBu3Jn2sTT0w1A6S2vXIOD\ng9BW4TAMY0VsPve72Pvvv4+wsC7QaNYCcAFwFC+//LKtw2IYxgpYt8xd7sqVK3juuedQXV2NWbNm\n/e3kcAzDdDy2zN5dYN68eVi37muIxUJkZr6PMWPG2Dqk29JoNHjvvfdw9GguEhLi8Mgjj8DBgf1Q\nZNqusrIS7/z3vyguKsKQ4cMxceJEs+tevnwZ765YgZqqKoyfNAnp6entGKn1WJQ7LRhfb7YOasZu\njRo1mgAxARkE9CZASN9//72tw/pbOp2Ohg8fQxJJFAHDieMiadSo8aTT6WwdGtNJ1dTUUGRICPUQ\niWgYQL4cR6+98opZda9cuUI+7u7URyCgDIDcOY7WrVvXzhFbhyW5k125dwI8ngTAZABhhle2IiCg\nBAUFF20X1G2cOnUKSUkDoFQ+Av1tHQ0kkpU4enQ/IiIibB0e0wmtXbsWrz3yCCbX1QEAKgF8KBaj\nVqlscWGal156CT8sW4YRGg0A4CKAPUFBOHvxYrvGbA1stIzdIwDSW7ZlaGhotFUwLVIqlRAIxLh5\nv14AgUCC+no2xJJpG6VSCcktSY4DoFarzUp8yro6SAyJHdD/JTU0NLRDlHcWltw7AYXCF8B3AC4D\nOANgN2bP/odtg7qNrl27ws1NAoEgG0AJHByy4OkpR3R0tK1DYzqpoUOH4jyfjyMArgL4USzGuNGj\nwee3nMImTJyIIxIJTgO4AuAnjsO06dPbOeI7gHV6hm6vg5qxW0qlkvz9QwgQE48noWnTptk6pBYV\nFRXR0KGjyN8/jIYPH0OXL1+2dUhMJ3fw4EHql5RE4QEB9Mjs2VRXV2d23Z9++ol6dO1KUcHBtOjZ\nZ0mtVrdjpNZjSe5kfe6dRGNjI06ePAmpVIqIiIhWLYBdV1eH06dPw8PDA0FBQSZlRIS8vDzU1tai\nS5cuEIvF1g6dYZg2Yn3udq6wsBCRkbFITR2D+PjemDjxHmi1WrPqHjt2DEFB4Rg0aCKio7vhiSee\nMp4sOp0OU6feh+7deyE1dQzCw7vgYie4ycQwTMvYlXsnMGjQMOzapYZWOwCABhy3Hm+/vRAPP/xw\ni3XDw7vg/PloAPEA6iGVrsGGDasxbNgwfPrpp5g3bznq6qYBEILP34M+fTTYvfvXdj4ihmHMwa7c\n7dzJk6eg1cYYthygVIbiyJHjZtW9eDEPQKxhSwK1OgSnTp0CAJw4kYu6uhAA+vlkdLoYnD592qqx\nMwxjGyy5dwIxMV0gEJwybGnAcRcQHx9nVt2goHAAJw1bDRAKL6JLly4AgK5dYyGVXgSgBgDw+afY\niBaGsROsW6YTKCgoQP/+A1FZqYJWq8TgwQOxadNXEAgELdY9evQoBg0aCo1GDJXqOh5+eBb++9//\ngMfjGfvcf/xxO4RCOeRyPn7//VeEhIR0wFExDNMSNrfMXaChocE4WiYyMrJVo2Vqa2tx+vRpuLu7\nN0ncRIRz586htrYWMTExbLQMw9xBWJ+7FdXU1GDGjAcRFBSJvn0H4sSJEx3Sbl5eHtLSMhAYGIFJ\nk6ahoqLCpFwsFiMxMRFRUVGtSuwAIJPJkJSU1OwVOY/HQ2RkJBITE1liZ4w2btyIhJgYxISF4fXX\nXmMXZ50Qu3L/i/T04dizpxSNjcng8Yrg5LQPZ86cgLe3d7u1WVVVhYiILigv7wadLgQiUQ66duXh\nzz//aHUiZxhL/fLLL7hn7FiMUCrhCOBnqRTzlyzBPxcutHVodx125W4lSqUS2dk70dg4EoAPiJKg\n0ymQlZXVru3u3bsXjY1O0On6APCBSjUMJ0+eQnFxcbu2yzDN+WLNGvRSKhEOIABAel0d1q5ebeuw\nmFZiyf0WDg4OhivlG5MKEYA6SCSSdm1XIpFAp1Ma2gMAFXQ6NesmYWxCKpNBecsvxjoAEo6zXUBM\nm7DkfguRSIQFC56EVLoewH44On4Pf38OGRkZ7dpuv3790KVLIMTijQD2g+PWY/r06XBzc2vXdhmm\nOfOffBLHZTLs5PGwB8AOjsOLbPnFTue2fe4NDQ1ITU1FY2MjVCoVxo4di1dffdXkPVlZWRg7dixC\nQ0MBABMnTsTixYtNG+lEfe5EhC+++AI7d2YjJCQQTz65ADKZrN3bra+vx//+twJnzuShb99kPPjg\ng2bNeMcw7SEvLw8frFyJhoYG3DtjBvr27WvrkO5KluTO2657JhaL8dtvv4HjOGg0GvTv3x+7d+9G\n//79Td6XmpqKzZs3tymAOw2Px8P06dMxvYOnBBUKhbh2rQzXrl1FdXV1k8S+fft2fPjhh5DJZHjl\nlVfg7+9vLFOpVPj6669RWlqKlJQU9OzZ02px7dq1CwcPHkRgYCAmTpzI/sG5S4SHh+PNt9+2dRiM\nJcydPrKuro6SkpIoNzfX5PXffvuNRo0addu6rWjmrqTVasnPL4QATwKSCZBRenqGsXzFihUECAlI\nJCCcBAIJXbx4kYiIVCoVJSf3J6k0kkSivsRxrvT5559bJa7XX3+TOM6ThMK+JJUG0+jRE9hSeQzT\ngSzJnS0OhdTpdEhMTMT58+cxd+5cvP766ybl2dnZmDBhAvz9/aFQKPDmm28iJibG5D08Hg9Lliwx\nbqelpSEtLc1a/z51eqtXr8asWQsAPAH9j6kaAP/F5csF8PPzg1jsgsbGoQBufK4bMXiwN37++Wd8\n8803ePDBRaitnQ6AB+AqZLL1qKm5blFM9fX1cHZ2g1o9F4AzAC1kso+xdet6pKSkWLRvhmGal5WV\nZTI6b9myZe3TLQMAfD4fR44cQVVVFYYOHYqsrCyTxJyYmIjCwkJwHIdt27Zh3LhxOHv2bJP9LF26\ntE0B3g0KCwsBuODm1yEHIERhYSH8/PygVqsAeN5SwwclJWUAgPLycmi17tAndgDwhFJZA51OZ1EX\nSk1NDfh8IQAnwysC8PnuKC8vb/M+GYa5vb9e+C5btqzN+zL7r9/Z2RkjR47En3/+afK6XC4HZxgm\nNXz4cKjV6iZPVzK3N3HiROgXDzsFQAVgNwQCHhISEgAAYWGhAHYAUAIoBfAHJk+eAAAYMGAAeLwz\nAC4BaIRQuBN9+qRY3Dfu6ekJf39/8Pl7ADQCOAudrgjJyckW7ZdhmA5yuz6bsrIyun79OhHpl3pL\nSUmhX375xeQ9V69eNfbD7t+/n4KCgqzab3S3yMzMJIFAQgCfxGJnys7ONpaVl5eTv38oAQIChDR5\n8j0mdTdv3kyenn4kFDrSgAGDqayszCoxXbx4kRITe5ODg4j8/UNp165dVtkvwzDmsSR33rbP/fjx\n45g5cyZ0Oh10Oh1mzJiBhQsXIjMzEwAwZ84crFy5Eu+//z4cHBzAcRzeeust9O7d22Q/nWkoJKAf\nDllRUQFnZ2c4OLTYc2VCo9EgPz8fISEhra6rUqlw6dIlhIWFNXvlXVVVBUdHx2YfblKr1aipqYGr\nq2urpyyorq5GZWUlAgMDW1XPliorKyGRSODo6NiqekSE69evQy6XQygUNilvaGhAY2MjnJ2drRUq\nw7SZRbnTKv+8tKCDmrGK06dPU0BAKIlEHInFHK1bt87supmZmcTjCQlwIMCB/v3vf5tdd/HixcZ6\nfL4jffHFF8ayiooK6t17AAmFYnJwENHChc+ZjFr54IMPSSSSkEjEUVhYF8rPzze73X79UgngEyAg\njnOls2fPml3XFkpLS6lXSi+SyCQkEoto2UvLzK57/vx5igoJIU4kIolIRB9/9JGxTKfT0cInnySR\ngwOJhUIa2K8fVVZWtschMIzZLMmdLLnfQqfTUVBQOPF4owhYSsCjxHEudPLkyRbrlpSUGIYrTjPU\nfYAAIZ0+fbrFuvv27TPUfchQdyLxeCKqr68nIqIJE+4hkSiZgBcJWEhSqT+tX7+eiIgOHDhAHOdG\nwHwClhCfn0GxsQlmHe8zzzxDgAsBTxOwhIAk8vIKMKuurYyaMIr6PNGbFmufpwVX5pNPpA9t3rzZ\nrLpx0dE0jM+npQDNA8iV4+jw4cNERLR27VoKkErpGYBeBKinoyNNnzKlPQ+FYVpkSe5kT6Tcoqam\nBpcvF4Koh+EVLwgEoTh8+HCLdXfv3g2AAxBleCUYgBt+/vnnFutu2bIFgC8AheGVOBDxkZOTAwDY\ns2cvVKpk6O9/S1FXF4Ndu/YAAA4ePAiiCABuAHjQ6Xrh1Klj0Ol0Lba7c+dvAHoAkEE/2qYvyspK\nW6xnS/v37UfPp3qAx+dB7itD1L0R2Ld/X4v11Go1cs+cQS/D5+IBIAL6zw8AdmdnI7auDhz0n3JS\nYyP2/vFHux0Hw7Q3ltxvIZPJIBKJoB+5Augn8Co2eRr07+iXrqsDUGl4pRbAdXTt2rXFuvr3lAGo\nN7xyDYAaERERAICAgAAABYYyglh8BaGhQcYygaAYgMZQXghXV0+zRsuEhAQBuICbE5YVwNGxfSdJ\ns5R/gAKFu4sAADqtDiV7SxHgH9BiPaFQCDdnZxQatjUArvD5hs8WCA4NxRWx2PhJFPJ4CDDje2eY\nO5b1fkD8vQ5qxio2bNhAHOdCcnk8SaU+dP/9s8x+KnPcuIkEiAmIIEBCAwYMMrvd+PgkAqSGuo70\nwAOzjGVHjx4lZ2cPcnLqRjJZCCUk9CKlUklE+qdbx46dRDKZguTyeOI4Z9q+fbtZbVZVVZFU6mZ4\nMjaUACGtXbvW7Jht4cCBA+Tm5UrdxsZRUGIgDUhPocbGRrPqbtmyhZw5juLlcvKVSmnqpEnG77a2\ntpaSunWjULmc4uRy8nRxoRMnTrTnoTBMiyzJnWyxjmbk5eXh0KFDUCgU6NevX6tGn2zatAlZWVlI\nTk7Gfffd16p2V69ejSNHjiAjIwOjRo0yKSstLcWuXbsglUqRnp5u+IWhR0TIzs5GSUkJevXqheDg\nYLPbVCqVeOutt3D9+nXMnDkT3bp1a1XMtlBcXIw9e/ZALpcjPT29VaOS8vPzceDAAfj4+BieEbj5\n3apUKuzcuRNKpRIDBgyAp6fnbfbEMO2PraFqB8rLy/H88y/gzJnz6N8/GS++uNhkmN/atWvx6adf\nQi6XYsmSRYiPj7dhtPZp3bp1WPzcM1A1NmLCPVOxYsW7HdLuk08+ia/XrIFQKMSyf/8bM2fO7JB2\nmTsfGwrZydXX11NYWBcSiXoTcA9JJLE0fPgYY/nKle8Rx/kQMImAYSSVmjeChzHfd999R0KAhgE0\nCSA5DzRjxn3t3u7sWbNICtBEgEYAJASMI6EYxpLcya7c7wA7d+7E+PEPo6ZmBvSjVjRwdPwvCgrO\nw8vLC8HBUbh0KQX6Rc8AHm8nnn66D15//d+2DNuu9EzqAemhwxho2L4E4BuREDWNqnZt18XREWNV\nKoQatrMBlMfE4Ghubru2y3QObA3VTk7/5d3ar8+75fWm5URs0Wxr++sfUEd9wn/95vkAyIxhrAzT\nEpbc7wD9+vWDh4cAQuHPAM5CLP4OAwYMgJeXFwDgqafmgeO2QD+x2AFIpccwc+b9tgzZ7jz3/CL8\nAeAg9J/yBh4wcvz4dm93/NSp2ATgJIBDAHYBePYvK5kxTJtYoVuoRR3UTKdWWlpKM2fOpt690+jp\np581Pp1KpH9y9qOPPqaUlME0YsQ4OnjwoA0jtV+rV68mfx8v8nFzodmzZ7VcwUrmzp1LPk5O5O/h\nQZmZmR3WLnPnsyR32m2fe3FxMfbv3w9XV1ekpLRuCtyLFy8iJycHfn5+6NWrl0lZdXU1Vq5cCaVS\nidmzZyMoKMhqMR8+fBgXL15EXFyc8QGmu9XBgwdRWFiI+Ph44/q8tvbTTz9h586dSEhIwLRp00zK\nlEolsrOzQUQYMGCA1dbdJSLs378fxcXFSExMbHK+3e481+l02LVrFyorK9G7d2/4+PiY3W5jYyOy\ns7PR2NiIlJQUuLi4WOV4mNZho2X+Yu/evSSTuZKTU1eSyRSUkTGSNBqNWXW/++474jhncnLqRhzn\nSbNnP2J80KW4uJgcHeWGh34CiMcT0W+//WaVmBcufJ44zt3QrjOtWWOdpfI6o/lPzSePQA+KG92V\nnD2c6ZsN39g6JJo160ESARTqwCcJDzSgf19jWWlpKUUEB1OEXE6RcjmFBgTQ1atXLW5Tp9PR7Jkz\nyVsqpW5OTuTMcfTjjz8ay/fu3UuuMhl1dXIihUxGIzMyjOe5Wq2mYaOHkiJWQbEjYsnNy40OHDhg\nVrs1NTWUEBtLIXI5dXFyIj9PTzp//rzFx8O0niW50y6Te2hoNAFTDJNwvUBSaZhZ64pqtVqSSp1u\nmcDreZJKfYzzmPfvn0pArGGSraUEpJObm5/F8R49etQw+dczhv0+RmKxlOrq6ized2ezd+9e8gz2\npIWVT9ELtIgeOvwgyZxlpFarbRbT5cuXSWCYbGwpQAsBEgPGCcvmzJpFfYVCWmoo7y8U0j9mzLC4\n3Z07d5KvVEqLDPudBZCrXG682IgODaUphrIXAAqTSo3n+erVqykiNZz+T/0cvUCLaMKX46hrYlez\n2n1x8WJKcHSkJYZ9D+HzaeSQIRYfD9N6luROu7yhWlxcBP3EXQAgQEODLy5dutRivdraWjQ2NuLm\nBF6O4PP9jHUvXboMIBQ3xzeEoLq6xuJ4CwoKIBT6Qj/xGAB4gs93RFlZmcX77mwKCgrgl+gLsbN+\nznqfBB8Qj1BZWdlCzfZz+vRpiHn6ycYAQArAQ8DH0aNHAQD5eXkIUKuN7w9Uq5F/7pzF7RYUFEAB\n4MazyP4AapVK1Nfr5yAqKi6+5SwHfBsabp6rBZfg098HfAf9n3hQWiAKLxXCHBfOnoV/Y6PxLA/S\n6XAxP9/i42E6ll0m9/j4HhAIDkA/0KwGjo5n0bNnzxbryeVy+Pj4AbgxC2QZNJoLxuXu+vZNgn48\nRSMAHYB9CAqyfHKpuLg4qNVFAIoNr5yERCKCn5+fxfvubOLj43Hx90soPaH/h+3Y58fh6uoKd3d3\nm8WUlJQENXg4Zdi+DKBEq8PQoUMBAH0GDMAxiQRq6CckOyqRoM+AARa3m5iYiDydDjdWrT3M4yHY\n39+4rGWP+HgcEAgMZzlw1tHReJ4n90zGua/PofZqLYgIh1bkICk5yax2+6amIpfjjGd5jqMj+vTr\nZ/HxMB3Mej8g/l4HNWNUVFREUVFx5OgoJ6FQTMuXv2x23dzcXPL1DSSx2IkcHTn65JNPjWVqtZoi\nImINy905kJOTJ12+fNkqMW/YsIEkEhmJxU7k4eF7V4+IWffFOpI6ScnJw4kUwQo6evSorUOi1atX\nk4jHIxFAAoCee+45Y1ljYyNNHj+exEIhSYRCGjdyJDU0NFil3Y9XrSLO0ZGcxGIKVihMnkwuKiqi\nuKgokjs6klgopJeXLzep+6+X/0WOEkeSucqoW1I3s89VrVZLDz/4IImFQuJEIhqUkkLV1dVWOR6m\ndSzJnXY7WoaIUFZWBplMZrzSMZdOp0NpaSlcXV2bXcatqKgI9fX1f7scXlupVCqUl5fDy8sLAoHA\navvtjFQqFSoqKuDl5WXVz9gSKpUKJ0+eRGRkZLPnVGVlJYgIrq6uVm23sbER169fb/azaOk8VyqV\nqK2thaenZ5uWX1Sr1XBzc2t1XcY62BOqzeDxePDy8mp1Yr969SrS0jIQGhqBiIhYZGdnN3mPv78/\nIiIimvyhnTt3Dt2794REIkN0dDccO3bMWKZSqeDjEwAeTwgeT4jg4HBotVqT+iKRCL6+vnd9Ygf0\nn4WPj88dk9gvXryItL590b9PH/Ts3h2HDh1q8h4XF5dWJ/aqqip4ebhByONBxOMhIbHphHCOjo7N\nfhZnz56FCyeBn7c3XKXSJjOJAgDHcfDy8mpTcnZycoK7uztL7J2U3V65t1VCQjJOnBBDo+kDoAhS\n6Vbk5h6Eh74zAAAgAElEQVRpcTx7Y2MjQkIicfVqLIi6ATgNN7e9yM8/BycnJ0RHx+LMmXIA0wBo\nAaxDz56ROHBgb/sfFGMRjUaDmPBwBBcWIlGnQx6AbGdnnD5/3uJ7Af4KHwiulmKSjlAP4HMAGRMm\nYOPGjS3WdZaIEdDQiBEAKgCsBfDsiy9i2bJlFsXE3DnYlbuV1NbW4sSJo9BoBkE/ciUSfH4I9uzZ\n02LdvLw81NZqQNQLgARAArRaOY4fPw4AOHfuEoDBAFwAuAMYhJyck+11KIwVFRYWoqKsDP10OkgA\nxEE/cqa5q/fWKr9aiqE6ghMAbwApALJ/+8WsunWGxC6Ffkq5RABffPGFxTEx9oEl91uIxWLDT98b\nw+50IKqAm5tbi3VdXV2hUlXj5lJ5KqhU140/0x0cBNAvn3dDGRwdzV9kgrEdZ2dnKDUa1Bm2NQAq\nNBqzzouW8AV842gYACjjAWKJ1Ky6t55RBKAUsHp/P9OJWXo31xwd1IxVvP32O8RxHuTg0J+k0ghK\nTR1s9tOt8+c/SVKpggSC/iSVBtJ99z1gfODkf//7HwEOBCQQ0I0AB1q3bl17HgpjRYuff558pFLq\nLxBQsFRKU8aPN3v5xdt55plnSAhQEh8Uw+eRkAfKysoyq+64ceNIBFAvgEIBcgTowoULFsfE3Dks\nyZ237XNvaGhAamoqGhsboVKpMHbsWLz66qtN3jd//nxs27YNHMfh008/NY4Lv6Ez9bkDQFZWFvbt\n2wc/Pz/ce++9Zi/jRkTYsmULjh8/jsjISEyYMMHkZtTGjRuxdOlS8Hg8vPHGG8Zx0kznsH37duTk\n5CA0NBSTJ0+22s3ejz76CG+99RYcHR2RmZmJ5ORks+suX74c69atg4uLC77++msEBgZaJSbmztCu\nc8vceARerVZTr1696Pfffzcp37JlCw0fPpyIiPbt20e9evWy6r8+f6empoZeffVVmjt3Hn3zTdO5\nR7Zv306PPvo4LVmylK5du2b19pujVqvp/vvvp5iYbjRlyhSTmR2J9NMMPPXU0/T008/Q6dOnTcoa\nGhrorbfeokceeYw+++wzq1wVmqO4uJheePEFeuKpJ8y+Yrxhx44d1Ltfb+rZqyd98cUXJmVqtZre\ne+89emz+Y/TBBx+Y/euHiKi8vJxGjBxB3brG0rx580ir1ZqU//rrrzR/3jx68YUXmszhkpeXR4MG\nDaL4bnG0dOnSVh2PJd577z3y8/YmXy8v+u9//2tSplKp6H8r/kePzX+MPv744ybHs2rVKkpMiKe+\nffvQ7t27TcpunOfz5s5t9jxvK51OR1999RXNmzuXXnvttSZTXVy4cIGef/ZZevKJJ2j//v1Wa7cl\nv//+Oz3x+OO0+P/+j4qKikzKKisr6aWXXqJ5c+fSd99912Ex2ZIludPsmnV1dZSUlES5ubkmr8+Z\nM8dkWbCoqKgmf3DWTu719fUUExNPjo7dCcggjvOjF1+8+Yf84YeriOM8CBhCQmFP8vMLooqKCqvG\n8FdarZYCAsII8CVgKAGB5O7ua/xD3rt3L3GcMwGpxOOlkFTqQseOHSMiIo1GQ336pJJEEkPAUOK4\nIJoz59F2jZdIn9h9Anwo+dGeNOjVNHL1daX1X5m3xNvmzZtJKBFSn2d604Al/UkoFdLKlSuJSJ84\nxk8ZTxFp4TTkP+kUNiCMJt872ax/sGpqashFylEEn0cZALnzeNQ7uaexfN26deQmkdBggHo5OJDC\ny4tKSkqIiOjSpUskcRBQNz6PhgAk5YGmTJnchk+mdV577TVyACgFoAGGpfJefPFFItKfF8NGD6Oo\nIZE05D/pFNInhGbOnmmsu3z5cnIEaBBAvXkgIY9H2dnZRKQ/z+NjYqi7oyNlAOTHcbTUsF9LLV60\niBRSKWUAFOfoSIlduxofvMrLyyN3Jyfqx+fTIICcOY5+/vlnq7R7O99++y25chylA9RbICBvNzdj\ngq+traXosDBKEIkoAyBvjqM3/v3vdo/J1to1uWu1WurevTvJZDJauHBhk/JRo0bRnj17jNvp6en0\n559/NglwyZIlxv8snUlx48aNJJNF3DKB1z/JwUFkvDp0d/clYI6hbCmJxfG0YsUKi9psye7duwlw\nJOD/jBOWAVL66quviIho8OCRBIw2xsTjZdCUKdOJiCg7O5tkMn8CXjSUP0dCoaTd/0Fa/tJy6jkn\niV6gRfQCLaIZv06nyLhIs+pGxUVR2kupxrpjPhlF3kFeRER08uRJcvd3p+cbnqEXaBE9p1xIrr6u\ndO7cuZZjWr6cPPk846RVzwDEB6i8vJyIiEL9/elBQ9lSgJJEIvq34Y/8vvvuowgBz1j2KPTJsr05\nOzrS0FtiGgmQk0hERER//vkneYd50yLVs/QCLaJna54muZvc+LSoCyehe26p25cH6pGYQET68zxC\nJjN+Fv8ESOTg0KpfQc1RqVQkcnCgpw37XQJQmExmnAjt8UcfpQF8vjGmyQD17dHDojbNERseTjNu\n+Sx6CwT0wuLFRET0+eefU4xUavwsngBIKhZ32C/cjvLbb7+Z5EpLknuLncl8Ph9HjhxBVVUVhg4d\niqysLKSlpf21a6dJP9FfLV261MyOopYplUoAMtycwIsDEUGj0UAgEKCh4Ua5nkbDGeq0n+vXrwMQ\nArjxkQoASIwTXtXW1gHwNb6fSIaamlrj8fD5MtwcvOQIgUCE+vr6dh39oFQqIfGWGLelPlLUK+tv\nU+OmRnUD5L43P2OZrwxqrca4X85FAgfDaCAHsQMkzhKzvoPq6mrI+DzwdPpzSgz9t1xTUwM3NzfU\n19fj1rEknFqNujr9OJaamho43XIqygDoOuBej06rhfyWbRkAMjygplQqIXXnIBDqH0wTSoVwlDka\nPwutRoNbZ353IqDQUKZUKv9ylsPkPG8rtWGSsxuP9/EAyHg8Y0w11dWQ3bLUnwyAsq4O7U35l+9W\nqtWirkY/MZ9SqQRHZPwspABUajWIyK4eskpLSzPJr5Y8s2D2HSFnZ2eMHDkSf/75p8nrCoUChYU3\nZ5srKiqCQqH4a3WrGjhwIHi8SwCOQD+kcCtSU9ONUwVMmjQJEsk26AeHnYJIlIsRI0a0a0yDBg2C\ngwMB2AmgDMAu8Pm1mDBhAgDggQfuhVS6C0ARgAJw3G7MnKlf8KF3794QCivB4+0HUAah8GdERkbA\n19e3+casZNzYcTj2wXGc25KHkmOl+OXRXzF54mSz6k4Zdw9+fT4Ll7Iv4fKBK9g+7yek908HAMTG\nxkKoFmHP8j9Qduoadi/7A1K+FNHR0S3u9x//+AeKtISD0H+KP/B5cHaSGx8im3zPPdjBcSgBcAb6\nSbrGjBkDAHjkkUdwTEfIhf6b38TnISTEeoup/J1eqan4CUABgEIA2wHEGxZ5SUhIgKpMjX1v7EfZ\nqWvIen4XfNy9ERISoq87IAU/8nkoBnABQBaA+//xIAD9eX6JxzOc5cBWR0ekp6Y2OyVGa3AchwF9\n+2KrSIQy6KfJK+LxkJqaCgCYet992M9xuADgCoBfOQ5T72//ZR2nTp+OnzkOVwGcA3BIIsGEyfrz\ncciQIcjj8XAc+s9ii1iM0SNG3DFPMN+RbndZX1ZWRtevXyciIqVSSSkpKfTLL7+YvOfWG6p79+7t\nsBuqhw8fpsTEPuTrG0xTp86gqqoqY1lDQwM98sg8UihCKDY2gX799Vert9+cnJwccnf3Iz5fQs7O\n3iY3n3U6Hb311tsUFBRJISHRlJn5oUnd06dPU58+aeTjE0SjR0+ksrKyDol5y5Yt1K1nNwrtEkoL\nn1/YqnnTZ82eRTIPGUndpTRyzEiTG4UFBQU0bMwwCooIouFjh1NhYaHZ+920aRO5y2UkEQgoJNDf\nZHifSqWify5YQKH+/tQ9Opq2b99uUnfFihXkzImJEwgoLibaeP62t+QePUhsmOc9vls3k66T8+fP\n0+AR6RQUEUSjJ46m4uJiY5laraZBaanEOQhI7iiiBQsWmOz38OHD1CcxkYJ9fWnG1Kkm57klKisr\nafqUKRTs60t9e/SgI0eOmJR/8cUXFBMWRuEBAfSvpUub3ARuDxqNhp5/5hkK9fenuMjIJjdN9+3b\nR8ndu1Owry89eP/9VFtb2+4x2ZolufO2QyGPHz+OmTNnQqfTQafTYcaMGVi4cCEyMzMBAHPmzAEA\nzJs3D9u3b4dUKsUnn3yCxMREk/3YYihkQ0MDzp49C1dXVwQEBHRo23cLIkJeXh40Gg0iIyObdBVU\nVFSgoKAAQUFBVu1eamxsxNmzZ+Hk5NTstBBFRUWoqKhAREQEJBKJSZlSqcS5c+fg6enZZEplIkJ+\nfj6USiWioqIgFApNyquqqpCfnw9/f394eHigNcrLy1FYWIiQkBA4Ozu3qu6dqLKyEhcvXkRAQIBN\np2O2d2yZvb84c+YMeXv7k1yuILHYiebOfdzubrzYWn19PWWMzCA3hRt5hXhRUp8eJlfJX33zFcld\n5RTQ1Z+c3Jxow6YNVmk3Pz+fQiJDyC/Kl5w8nGjWnFnG71an09FTzzxFcjc5+ccoyC/Iz2SK3MOH\nD5OXwov8Y/1J5iKjJcuXGMs0Gg1NGT+eXCQS8pXJKDo0lK5cuWIs37FjB7l4uFBAV33dj1Z/ZHbM\nn33+GclcZBTQ1Z+c3Z3pxy0/tlzpDvb999+Ts1RKAU5OJBOLad3atbYOyW5ZkjvtcuKw+PhkHDvm\nCaJkAA2QStdi7doVGDduXIfFYO+WLl+KDYe+wdhvRoMv4OOnuT+jG787Pnr/I5SVlSE8Ohz37JwM\nn3hvFB++iq+HbED+uXyLH9lPy0iDMF2APs/2RmNNI74atAGvPPkK7r33Xmzbtg2znpqF6X9MhcRV\ngsOZOSj86DKOHtSvmBQaFYqEZd0ROzUGtSV1WNv7C3y79lv069cP77//Pt5++mlMUSrhACDLwQFO\ngwdj87ZtqK+vh1+gH8ZsHIWgAYEoP1uOdf3W4/D+wy0u3l1YWIiuCV1x7+9T4dnFA0V7i7Bp9Pco\nulhktUW0O1JVVRUC/fxwj1IJBfT3NtZKJDiVl3dXLi7T3tjEYX9x9uwpEHU1bIlRXx+C3Nxcm8Zk\nb47mHkXE5HAIhALw+DxET43C0RP6JHrhwgW4h7jBJ94bAOCb6AOXABfkW2GptpO5JxEzrQsAwFHu\niODRgTiRewIAcOLECYQMD4bEVd8VE3tvDM7kngGgHyFyKe8SYqbo68q8pQgeFIQTJ/R1jx0+jDCl\nEkLoR4/EajQ4YZj07cqVKxBKhQgaoH/60z3SHb7dfXH27NkW483Ly4NPjDc8u+i7cfz7+INzk5gM\nQuhMCgoKIBcIjAtRegHwEomQl5dny7CYZthlcg8NjQCPd9qwpYJEcglRUVE2jcnexEbF4sL3+dBp\ndfq+9+/yEBsdCwAIDg5GeX4Fyk7pp7Uqyy3D9YLrLU6bbI7IqEic+Va/Pqm6Xo2CbYWIjtKPwomO\njsalnwvQWNMIADjz7VmERYUBAIRCIRTBCpzZrE/I9RX1KMguNI7gienWDfkSCW7MsH9GIDCW+fr6\norGmEZcPXAEAVF6sRPGxYoSHh7cYb2hoKK6eLEHF+esAgOLDV1F7rQ7+/pYvz2gLAQEBqNZocNWw\nXQ6gVKVq8RcMYwPW6Rm6vQ5qxujEiRPk4eFDTk4hJJG40v33z2J97lZWV1dHKYP6k3eYNyliFNQ1\nIdZkhM9nn39GTm5yCk0OISc3J1q7zjr9smfPniX/EH8KSggiN4UbTZ0x1TiSQ6fT0SPzHiEXbxcK\nSQohL4WXySiQvXv3kru3O4X2DCFnT2da+PzNh/JUKhWNGjqUPDiOAuVyCg0IoIKCAmP595u/J2d3\nZwpNDiW5m5xWrDT/obgPPvyA5G5yCk0OJWd3Z9q4aaMVPgnb+Wr9enKSSCjM2ZmcJBJa9eGHLVdi\n2sSS3GmXfe6Afm723NxcuLi4sKv2dqLVanHixAloNBrExcVBJBKZlBcXFyM/Px+hoaHw8fGxWrt1\ndXXIzc2FXC5HdHR0k4dYzp07h/LycsTGxkIul5uUVVVV4eTJk/D29m5ytUlEyM3NRX19PeLi4iAW\ni03Ky8rKcO7cOQQGBrb6yvvKlSu4ePEiwsPD4eXl1aq6d6KSkhKcP38ewcHBrK+9HbHRMoxNrF+/\nnnrExlL3qCh6b+VKk19HOTk5FBgRSDIPGQVGBtLx48eNZTqdjv73zjvUPSqKkrp2pQ0brDOShki/\nkLW7vzvJPGXUs19PqqmpMZYplUp6bM4c6hIaSoP69Wuy8Pa2bduoV/fuFBcRQa++/LLJ2O4LFy5Q\nmL8/yRwcyM/dvckEems+X0PxveMpvnc8fbz6Y6sdz4kTJyh9RDp1iY+mOfPmdIqx3as+/JDio6Mp\nMSaG1lpxJE1OTg6l9e1LXUJD6fG5c5tMzGePLMmdLLkzbfLjjz+Sm0RC0wF6ACBfjqMPP/iAiIiq\nqqqIc+Goz8LeNPvPf1Cvp5JJ6io1zjy48t13yY/j6AGApgPkxnFNHkZqi507d5KQE9KYT0fRg/sf\noKC0QOrSLdpYPmnsWIoTi+lhgEYB5CaXGyem+uOPP8hFop/n5UGAgjiOli9bRkT6B41cJBJKBOhh\ngAYC5MjnG+eH+fqbr8kz2JOm75hG9/1yL3mHeVmlG6q4uJg8fDxo+LtDadbBf1C3KXE0ZuIYi/fb\nnj799FPy5jiaCdAMgDw4jr799luL91tQUEBucjmNBughgGLFYpo6aZIVIr6zWZI77fKGKtP+1nz0\nEfrV1yMCQDCAQUolPl21CgDwww8/QOgsRPq/B8K3hy+GvJkOAcfH9u3bAQCfrVqFdKUSwQAiAPRV\nKrF29WqLY3r33XcROy0G3Wd2gyLZDxO/Go+zZ/Q3XzUaDb7/8UeMaWiAH4AkAME6HXbs2AEAWP/F\nF+hRX48uAAIBZCiVWPvJJwCAgwcPor6+HqMB+AFIBeCq0+HLL7/UH8+Xn6H/y30ROiQEIenB6P9a\nP6xZ/5nFx7Nz504o+vkh6bEe8Evyxcg1w7Hth21obGy0eN/t5bPMTAxUKhECIAxAilKJNYbzwhLb\nt29HqFaLHgAUAMY0NGDTd99Bd8scOIwpltyZNpFIpWi4ZbseMPZROzk5Qa1UQ6fW/+FpVVqo6zWQ\nSvXTQonFYtw6PVk9jwcxx8FSYrEY9ddu7rm+oh58gf4U5/P5+knlbnl/A49njFnCcWi8ZZ6SesA4\nh4uTkxO0ANSGMh2ABujnaAEAiViC+us399xQ0QCxo+mTsW09nobrDcY+18aqRvB4PLMXj7EFCceZ\nfrcAxBIrfRa33FtpAOAgENjVpGFWZ70fEH+vg5phOtDRo0fJRSqlgTz93OnOHEc7d+4kIv000b5B\nvhQ8MIhGvD+MglIDyS/Ez9iHvWPHDnLhOMoAaCCPRy5SKZ04ccLimPLy8shR7kg9Hkmg4SuHkpO/\nnMaMv9mN8eLixaTgOBoJUE+RiCKCg4198hcuXCB3JydK4fNpmKGr6NbFMSKCgsjP0J0TCZCrVGrs\n8z1w4AA5ezjTwJfTaNCraeTs4WwyDXZb1dXVUZduXSjxgQQa/t5QCogPoGcXPWvxftvTrl27yJnj\naLBhjnpnqZQOHTpk8X6rqqooNCCAkkUiGmmY2/5fHbgYi61YkjvtdrQM0/5OnDiBzPfeg1qlwsxZ\ns9CnTx9jWW1tLaZNn4az+WcRHRqNL7/40nilCwB79uzB5598AqFIhLnz5iEmJsYqMeXm5mL2nNm4\nXnMdozNG44033jCWERHWrVuHnT/9BL+AADy9cKHJnDfnz5/HinfegbK2FvdMn4709HRjmUqlwoz7\n7sORAwcQFB6O9V9/bfK0bU5ODlZ9sgpEhNkPzEaPHj2scjxVVVV48603UVRchLT+abh/xv13/NXq\nwYMHsXrVKggEAjw8dy66detmlf2Wl5fjP2+8geLLlzFk+HBMmzbtjv8sLGVJ7mTJ3Q6o1Wps3LgR\npaWlSElJabKGbXspLy/Ht99+C41Gg1GjRrVqeODHH3+Mf/3rX3BwcMCqVaswaNAgs+uePn0av/zy\nC5ycnDBp0iSTfzQsUVNTgw0bNkCpVGLYsGEICwszKc/OzsaRI0cQGhqKUaNG2X1iYWyPDYW8i6nV\nakodkkph/cOo96O9yMXbhb5c/2W7t1tUVER+QX7UfUo36nF/Irl7u5tM0nU7zz77LDkAFGfo4hAC\nZq8PunPnTnL2cKbkh3tS9NBoikuMs8rwwIqKCgoPCqI4qZSSxWJykUpp3759xvJXXnqJPDmO+jg6\nUoBUSjOnT2cPxjHtzpLcya7cO7kNGzbgubefxdRdU8AX8FF8+Co2DvsWFaUV7druo/MfxTHxUQx6\nPQ0AcOCdgxD9LsbmDZtbrMvx+UgjQi/D9jYAuWIxaupbXgUqNiEGcf/qisjRESAifD/pB8waMBtP\nPPFE2w8GwL+WLcMPr7yCUSoVAOAYgMsJCdh3+DAqKyvh5+2NR1UqyKG/sfqhVIrtu3Y1md6aYayJ\nTRx2FysrK4N7jJtxVIhXV09UX69u9yFiJWVX4RF3cx5vzzhPlJSVmFeZCLc+r+oDgNQqs6peKyuH\nV5wnAP2J7xbnirJrZWZG/fdKrlyBu+pmDN4ArpXp91tRUQGpUGhcSk8IwMPBAdeuXbO4XYZpLyy5\nd3IpKSk48/05FO0tgrpejaxFu9AvrV+7Lz82LH04Dr91BFWF1VBeU2L/SwcwLH2YWXXFchl2AlAC\nqATwOwDFX/q3/056ejp2v7AHqloVSk+U4cTqkxg00Pz++r+TMWIEjnAcyqEfZrdbLEbGMP3xBAYG\nQubiggM8HjQATgMo0ek67N4Gw7SJdXqGbq+Dmrlrbdq0ibwUXuQgdKC0jDQqKSlp9zZ1Oh0tXrKY\npE5SkkglNOexOWYv0VdWVkZSkZD4AAkAcnN2MrtudXU1jZ08lkSOInL1dKUPV1lv0qr/vPkmOUul\n5CgU0rRJk0ipVBrLzpw5Q927dCEBn08hCoVVhjoyTEssyZ2sz92OUDusBE9EqK6uhlwub/bXwI3v\ntbl2b9R1cnJqtry6uhoCgcD4cFNr4/q7Y9VoNKivr28yaZg19t0enzFjPq1WC6VS2ebvtrNhfe4M\ngOYTrCVyc3MR3iUc3n7ecPN0w/ebv2+2zeba3b17N3z8feCj8IFvgC/++OMPY1l9fT3GTxkPDy8P\nuLq7Yt6Cea2+R/B3x7ry3Xchl0rh6eaGHt264cqVK63a7+323VIZ075Wf/wxnAzfbbfoaBQUFNg6\npDsau3JnmqXT6RASGYLuz8chflZ3XDl4BRtGfIucAzkICQm5bd3KykqERYVh6KdDED48DOe25OHn\nWTuRfy4fcrkcC55egF/zd2LUuhHQNGiwYfgmPDXjn5j36DyLYt69ezfGDR2K+5RKuADIEgigS0rC\nrn37LNovY3uHDh3CkJQUTK+vhzuAPXw+rsfG4s9jx2wdWrtiV+6M1ZWVleF65XXEz+oOAPDr6YfA\nPgE4cuRIi3XPnj0LJ38nhA/X3ySNGBkOqTeHc+f0k3jt+mMXEhfEw0HsALGLGHFzuuL3vb9bHPO+\nffsQrVbDFfql8vpqtTiYk2PxfhnbO3DgACIBeED/3fbR6XAkN5dNHHYbLLkzzXJxcYFWpTUulddY\n04iSE6VQKBQt1AR8fHxQcakCtVdrAQA1xbWoKLxuXLAjQBGAy3v13SVEhOK9VxGoCLQ4ZoVCgasi\nEW78uRcC8PHwsHi/jO35+fnhqkBgXAaxCICHi0u7jwrr1Cy4kWu2DmqGsbJPP/uUXLxcKOGeePIO\n96Y58+aYXXf5K8vJ3d+dEqcmkJvCjV59/VVjWV5eHnn7e1PXUbEUOTCSorpGUUVFhcXxqtVqGjpo\nEAXKZJQgl5tMZsZ0blqtlsaNHEkBMhklGr7bLVu22DqsdmdJ7rxtn3thYSHuv/9+lJaWgsfj4eGH\nH8b8+fNN3pOVlYWxY8calyybOHEiFi9ebPIe1ufeeeXm5iInJwdBQUHo379/q24oHjx4EGfOnEGX\nLl2aTKRVXl6OX3/9FQ4ODsjIyGjTiJnmaLVa/PLLLygvL0ffvn0RHBxslf0ytqfT6bBz506Ulpai\nd+/eTeb+sUftNrdMcXEx5eTkEBFRTU0NRUZGNpk/5LfffqPRo0e3278+9mTHjh00cdQomjRmDO3a\ntatVdb9c/yWNmTyG7p15Lx07dqydIjSlUqlo+SvLacT4EfTYE4/RtWvXTMr37NlDU+6bQhOmjqet\nW7ealNXW1tIz//wnjUhPp+cWLjSuwnQn++qrrygsKJD8vT3pyaee7LB2N27cSGOHD6dpEydaZXpc\nxn5YkjtbVXPs2LH0yy+/mLz222+/0ahRo27fCEvutG3bNnLlOBpjmBPchePMTvCZH2aSd5gXjVs7\nhga/kU4uHi50+vTpdo6YaOqMqRQ1JJImfj2eej3ak6K6RhmT9N69e8nZw5mGrxxKoz8eSa6+rvT9\n998TEZFGo6H+ycmUIBbTZIC6i8U0oE8fkzVJ7zQ//PADCQHKAGgCQDIe6IEHHmj3dj///HPy4Dga\nD9AwgFyk0iZruzJ3L0typ9lDIS9evIjU1FTk5uZCJpMZX8/OzsaECRPg7+8PhUKBN998s8nc3Dwe\nD0uWLDFup6WlIS0trW0/NTqpoWlpkGdnI86w/ScAydix+Pq771qsG909Gn3eS0ZAvwAAwG/PZ6Ef\nLwWvvfJau8VbVVUFH4UPFpQ+DiEnBBFhfcrXWLH4XQwbNgwzHrwPZfGlSJ7fEwBwcsMplK0qR/ZP\n2Th+/DiG9OmDOXV14EO/ctH7UimyDx5Ely5d2i1mSyT3TIL4z0O4MYP7RQAbRUJUN5o3501bJcbE\noOupU7jRwZANIHbuXKx47712bZe5M2VlZSErK8u4vWzZsjZ3y5i1XldtbS0mTZqEd955xySxA0Bi\nYqRxqr0AABBTSURBVCIKCwvBcRy2bduGcePG4ezZs032sXTp0jYFaC90Wq3J0CS+4TWz6up04AsF\nN+sK+dCp2ncIGBmexOQJ9H3sPB4PfAe+ceiZVqcD3+HmEQmEAmOZTqcDn8fDjd55HgzHewcPW9Pp\ndBDcss0H0BF3iXQ6ncl5IYD55wVjf/564bts2bK276ylS3uVSkUZGRn09ttvm/VTIDg4mMrLy01e\nM6MZu7dx40Zy5ziaDNBEgFw5jnbs2GFW3f+8/R/yi/GjezZPppGZw8nZw7lD+t1HTxhNXcfH0r3b\np1LKc/0pOCKYqquriUjfHefi5ULjPh9DkzZMII9AD+M88mq1mhK7dqVkkYhmANTT0ZF6du9OGo2m\n3WNuq/Xr15MQoDEATQPIhQeaNGliu7f7wXvvkQ/H0VSAxhqWKzxw4EC7t8t0DpbkztvW1Ol0NGPG\nDFqwYMHfvufq1avGRQv2799PQUFBVg3QnmzatInS+/WjIQMG0LZt28yup9Pp6IMPP6DUoak0csJI\nk0Uk2lN9fT0tfH4h9UvvRzMenEFXrlwxKd+xYwdljM6ggcMH0ldff2VSdv36dZozaxb17dGD5j70\nEFVWVnZIzJbIzMwkP0938nSW08yZMzrsHsEnq1fTwD59aER6eqtvtDP2zZLc+f/t3XtQVGeaBvCn\nSeMFBFoIcg9a6oQ7zW1wvCbqkgEvA6JkkIyUYMKYCiYpa6v2j92aOKao7CQxUYpxoqUkjBpmx83O\ngIK6VOxE0kEqgWUjmk1EVPCCgoEADaFpv/2DDWunkW7a5hw4PL+qrpI+3+nz+HJ8bT5Of2fUOffq\n6mosX74cUVFRw5fAFRQUDK/pkJeXh6KiIuzfvx9qtRouLi7Ys2cPFi1aZPY6vBRySG9vL/R6PVQq\nFZYuXYoZM2bIHcmq6upqnD59GpGRkcjIyJA7DtGUwnuoTgK3b9/G0qeXQuUFmIz34TIwE+c+rja7\nQfNEs/Mfd6JwfyH84/1w56u70EZoof9Eb31HInIINvdJIHtbNpo8L2PlH56CEAJntv8nEl1+gX17\n9skdbUQ9PT3QPK5BzufZ8I3xRd+9PvzxyT/hwLsHkZWVJXc8oimBC4dNAk1XmxC8amj9FJVKhaCV\nQWi62iRzqoe7cuUKHnN+DL4xQ+vBzPScCZ9oHzQ0NMicjIhsweYukcS4RHx18AJMAyYY+4xoLL6I\nRfGLrO8ok5CQEEAAF/96CQBw58Jd3Dh/E88884zMyYjIFpyWkUhfXx/Sf52OTz/9FOK+QMqaFBz7\n4BicnZ3ljvZQR44cQe5vc6FSqzDYN4i8F/JQVFgkdyyiKYNz7pOEEALt7e1QqVR4fJIsRdvf34+G\nhgYsXLgQnp6ecschmlI45z5Gx48fh79/MNzcZiMjIwu9vb2SHFelUsHb23vExv7ll18iMi4SHl4e\nWPEPK9DS0iJJptHcvHkTKakpSEpJwrJVy1BbWyt3pHF16PAhBMwLgJePF7bnb8fAwPguPUA0nqbc\nO/fz589j5cpfwmDYAGA2Zsyowvr1EfjLX47Ilqm9vR2hkSFY9vZSzFs9F/V/+i+0fXQHX9VdkO1m\nBEIIaH+uheYZD8TviMU13XWczdehseHi8E03lOTUqVP4Td5vkPrROrjMccXpbWeQEr0Ge/6wR+5o\nNIXxnfsYnD59Gv39kQCeAOCG/v5VqKyslDVTbW0tvCO8EbE5HK5zXLHkXxbjVtstu27u7Ch3797F\nlaYrWL57KVznuCIsIxR+8f44f/68bJnG04nKE9DuiIZfnB88gtyx/F+XobyiXO5YRHabcs199uzZ\nmDat64Fn7sHNzV22PMBQps7rnTANDC0YZbhrQF93P9zc3GTLNGvWLAz+MIie20NTViajCZ3XOqHR\naGTLNJ48NZ7ouvz/58W9y/cU+3elqWHKTct8//33iIn5OW7dmo6BAXdMm3YBR48eRlpammyZ7t+/\nj7SMNFy49RX8V/ij6aMryP11Lna/tlu2TACwu2A3ioqLsHDTAtyqvo2fzf4ZTvzHCUXet/LOnTuI\nWxQH7yWPY+acmWgsuYi//fVvU25pappYeLXMGHV3d+ODDz5AV1cXkpKSkJCQIHckmEwmHDt2DM3N\nzYiLi8OaNWvkjgRgaC66trYWwcHByMrKglpt0yrRk1JHRweOHDkCg8GAdevWISIiQu5INMWxudOU\nUlhYiD+XlMDdwwOFhYVjugFIeXk5dJ/q4Ovji+2/3W5xfwKiiYTNnaaMl195GQf27sMvAHynAi45\nOaGh8SKefPJJq/u+tectvPXHNxG+LQztdR3AFaDm3HnMnDlz/IMT2YHNnaYMV2c1nh00Ifj/vv7I\nSYXAXybj5MmTo+4nhICrmyu2XdgKzVwNhBD4t9X/jt+/8Hs8++yz4x+cyA68FJKmDNP9+3jwGiKP\n+wI93d3W9zOZYBwwYpbv0DSMSqXCLP9Zkn2AjUhqbO40qYSEh+HvTircBfAtgFoAObm5VvdTq9VI\nWpOEUy+cQcc3HWgsvYgrp69g1apVVvclmozY3GlSqdbXwCsqEocfc8Lfp0/DP/3ud8jOzrZp39KS\nUoSrI1CWfBJX911HZVklgoODre9INAlxzp2IaILinDsREZlhcyciUiA2dyIiBWJzJyJSIDZ3IiIF\nGrW5t7S04Omnn0Z4eDgiIiKwb9++Ecft2LEDCxcuRHR0NOrr68clKBER2W7U5u7s7Ix33nkHjY2N\nqKmpQVFRES5dumQ2pqKiApcvX8a3336LAwcOYPv27eMaWKmuXbuGX236FSITIpGTl4Ouri7rOxER\nPcSozd3X1xdarRbA0M0bQkNDLe4OVFZWNvwhksTERHR2dqKtrW2c4ipTd3c3lq1chp7o75FQGIf/\nNjZg7Ya1/GwAEdnN5sW5r169ivr6eiQmJpo9f+PGDQQFBQ1/HRgYiNbWVvj4+JiNe+2114b//NRT\nT/EmCA/Q6/WYETADS/55MQDAP8EP+3yKcPv2bfj5+cmcjoikotPpoNPpHPJaNjX3np4ebNy4EXv3\n7h1x/eufvsNUqVQWYx5s7mRu+vTp+KH7B4j7AionFQb7BmEymjBt2jS5oxGRhH76xnfXrl12v5bV\n5m40GpGeno7nnnsOqampFtsDAgLQ0tIy/HVraysCAgLsDjQVLVmyBD4uPijPOomgVYH4+s//g/SN\n6fDy8pI7GhFNUqPOuQshkJubi7CwMLzyyisjjlm/fj1KSkoAADU1NdBoNBZTMjQ6Z2dnnD1zFqmh\naXD/TIMdm15G8YFiuWMR0SQ26sJh1dXVWL58OaKiooanWgoKCnD9+nUAQF5eHgDgpZdewqlTp+Dq\n6ori4mLExsaaH4QLhxERjRnvxEREpEBcFZKIiMywuRMRKRCbOxGRArG5ExEpEJs7EZECsbkTESkQ\nmzsRkQKxuRMRKRCbOxGRArG5ExEpEJs7EZECsbkTESkQmzsRkQKxuRMRKRCbOxGRArG5ExEpEJs7\nEZECsbkTESkQmzsRkQKxuRMRKRCbOxGRArG5ExEp0JRt7jqdTu4IFiZiJmBi5mIm2zCT7SZqLntZ\n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\n"
}
],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"set(y)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 10,
"text": [
"set([0, 1, 2])"
]
}
],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from sklearn.svm import LinearSVC"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": true,
"input": [
"clf = LinearSVC() # clf == classifier"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"clf"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 13,
"text": [
"LinearSVC(C=1.0, class_weight=None, dual=True, fit_intercept=True,\n",
" intercept_scaling=1, loss='l2', multi_class='ovr', penalty='l2',\n",
" random_state=None, tol=0.0001, verbose=0)"
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"LinearSVC?"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"clf.fit(x,y)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 16,
"text": [
"LinearSVC(C=1.0, class_weight=None, dual=True, fit_intercept=True,\n",
" intercept_scaling=1, loss='l2', multi_class='ovr', penalty='l2',\n",
" random_state=None, tol=0.0001, verbose=0)"
]
}
],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"clf.coef_"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 17,
"text": [
"array([[ 0.18423255, 0.45122479, -0.80794238, -0.45071612],\n",
" [ 0.05222543, -0.89358974, 0.40548688, -0.93937329],\n",
" [-0.85064228, -0.98663656, 1.38093043, 1.86529426]])"
]
}
],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x_new = np.array([[5.0, 3.6, 1.3, 0.25]])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x_new.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 19,
"text": [
"(1, 4)"
]
}
],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"clf.predict(x_new)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 20,
"text": [
"array([0])"
]
}
],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"iris.target_names"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 23,
"text": [
"array(['setosa', 'versicolor', 'virginica'], \n",
" dtype='|S10')"
]
}
],
"prompt_number": 23
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"PCA"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from sklearn.decomposition import PCA"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 24
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 25,
"text": [
"(150, 4)"
]
}
],
"prompt_number": 25
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pca = PCA(n_components=2, whiten=True)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 26
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pca.fit(x)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 27,
"text": [
"PCA(copy=True, n_components=2, whiten=True)"
]
}
],
"prompt_number": 27
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"y = pca.transform(x)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 28
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"y.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 30,
"text": [
"(150, 2)"
]
}
],
"prompt_number": 30
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"scatter(y[:,0], y[:,1], c=data.target)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 33,
"text": [
"<matplotlib.collections.PathCollection at 0x37874d0>"
]
},
{
"output_type": "display_data",
"png": "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\nRU5ErkJggg==\n"
}
],
"prompt_number": 33
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from sklearn.cluster import KMeans\n",
"from numpy.random import RandomState\n",
"rng = RandomState(42)\n",
"kmeans = KMeans(3, random_state=rng).fit(y)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 34
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 35,
"text": [
"KMeans(copy_x=True, init='k-means++', k=None, max_iter=300, n_clusters=3,\n",
" n_init=10, n_jobs=1, precompute_distances=True,\n",
" random_state=<mtrand.RandomState object at 0x7f957b8f0840>, tol=0.0001,\n",
" verbose=0)"
]
}
],
"prompt_number": 35
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"kmeans.labels_"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 36,
"text": [
"array([2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2,\n",
" 2, 2, 2, 2, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1,\n",
" 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0,\n",
" 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1], dtype=int32)"
]
}
],
"prompt_number": 36
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"scatter(y[:,0], y[:,1], c=kmeans.labels_)\n",
"# Take a look at the unsupervised classification"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 38,
"text": [
"<matplotlib.collections.PathCollection at 0x3d1d290>"
]
},
{
"output_type": "display_data",
"png": "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\nZ/ZjDw8PDh06lKPMhAkTsn8PCgoiKCgoN6c0KSEEo4YPZ/qMGQghaNKwIX/+/TdWVlbZZQIDA4kH\nTgGlgeNKJQ5OTjleJ6ng1K5dm9q1az+z3JhxY5gxczoOxR1IiUthw9qNOfqWGzduzIhPRnBg0iFc\nqxUjfPJx2nZs+9Lzyl8FtWrVYvDgfkybNhO12hGjMYFVq1aiUCg4ffoMGRkBZM33UpCWVprjxyNM\nHXKhtXPnTnbu3Jk3lYlcWLFihejbt2/240WLFonBgwdnP85l9a+c0NBQUVyrFR+DGAuikqWleP+R\n6/9XeHi48PfxEdYajahdtaq4fPlywQcrPbedO3cKZ29nMfLOMDFWjBHtlrURXj5ej5W7ePGieKfD\nO6Jqnapi1KejRFpamgmizUmv14tNmzaJtm3bi5IlfUW1anXE3r17X6iOixcvit27d4v4+Pjsv3Xv\n3kuo1TUEjBcwVmg0AWLs2PF5HL30X3KTO3PVUnd3dyc2Njb7cWxsbKFe92RXWBgVdDr+nbdQLS2N\nPTt2PFYuMDCQiAsXCjY46aWdO3eOEg1KoHXM+pf1bVuWVZ3XkJmZmWMz6NKlS7N62bPXPS8oGRkZ\nNGjQhCNHzqLXa4DbXL7sRuPGzTlyZD9+fn7PVU/p0qUpXbp0jr9NnfoTx4835MqV2RiNeqpVq8yY\nMZ/mw1VIeS1XSb1q1apcvHiRK1eu4Obmxl9//cXSpUvzKrYCFx0dzcaNG9FqtbRr1w5bW9scz3t6\neRGpViMeTm28plDgLrtVXnvlypXj6vdX0MXr0DpqOff3eYqXKp4joT+LwWAgNDSUiIgzVKpUgZ49\ne+b5IKlOpyMsLAy9Xk+DBg3466+/OHHiFnr9ALLuIzwJHCU9PYBVq1Y9d1J/kiJFinD8+CHOnz+P\nSqWiTJkyr+wsHun/ye3XhA0bNogyZcqIUqVKiW+++SbPvkIUtEOHDoki1taiuqWlKG9lJUoVLy7u\n3r2bo8z9+/eFn4+PKGNjIyrY2Agne3tx9uxZE0Us5aXPx38ubBxsRPGKxYWTm5M4cuTIcx9rNBpF\ny5ZthVZbWkAjodV6i06dugmj0Zhn8SUkJIhSpXyFjY2PsLHxF46OrqJ//wECggVMePgzTICtUKur\nikmTJuXZuaWCl5vcKe8ofah21aoUCw/n37kR69Vqmn3yCRO/yDnar9Pp2LJlC+np6TRo0ABnZ+f/\n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\nJhMAFRUVBAcHU1RUxIgRIxweUgghhH16PfzyfV0NvwghhHAth8xTl7FzIYRwDw5p6qdOnWLo0KEs\nWrSIqKgozGYz9913H5cvX+50+x07dhAZGUl4eDgrVqxwRIRuffjhh8TExODh4UFxcXGX240ePZpx\n48YRFxfHhAkT3CKTK2tVU1NDSkoKERERpKamcunSpU63c0Wd7PneTzzxBOHh4ZjNZkpKSpySoyeZ\nLBYLgwcPJi4ujri4OF544QWnZ3rkkUcIDAxk7NixXW7j6jpdL5MWdSovL+eee+4hJiaG2NhYXn/9\n9U63c2Wt7MnUq1opB8rPz1c2m00ppdTixYvV4sWLO2zT0tKiwsLC1Ndff62ampqU2WxWR48edWSM\nDr766it17NgxlZSUpA4fPtzldqNHj1YXLlxwapaeZHJ1rRYtWqRWrFihlFJq+fLlnf7+lHJ+nez5\n3tu2bVNpaWlKKaUKCwtVQkKC0/LYm2n37t0qIyPDqTmutXfvXlVcXKxiY2M7fd3VdbInkxZ1Onfu\nnCopKVFKKVVbW6siIiI0/5uyJ1NvauXQywSkpKRgNLbtMiEhgYqKig7bFBUVMWbMGEaPHo2Xlxez\nZs1iy5YtjozRQWRkJBEREXZtq1w0Y8eeTK6uVW5uLvPmzQNg3rx5fPTRR11u68w62fO9v581ISGB\nS5cuUV1drWkmcP2Mr8mTJxMQENDl666ukz2ZwPV1GjlyJOPHjwfAz8+PqKgoKisrf7CNq2tlTybo\nea2cdu2XtWvXkp6e3uH5s2fPEhoa2v44JCSEs2fPOitGjxgMBqZMmUJ8fDzvvvuu1nFcXqvq6moC\nAwMBCAwM7PIP2tl1sud7d7ZNZwcRrsxkMBj49NNPMZvNpKenc/ToUaflsZer62QPretUVlZGSUkJ\nCQkJP3hey1p1lak3tep2nnpnupq7vmzZMjIyMoC2eeze3t7Mnj27w3bOOqlqT67r+eSTTwgKCuL8\n+fOkpKQQGRnJ5MmTNcvkjFp1t/bg2s/u6vMdXadr2fu9rz2CceYJe3v2fdttt1FeXo7JZCIvL4+s\nrCyOHz/utEz2cmWd7KFlnerq6pgxYwavvfYafn5+HV7XolbdZepNrXrc1AsKCrp9PScnh+3bt7Nr\n165OXw8ODqa8vLz9cXl5OSEhIT2N0eNc9ggKCgJg+PDhZGdnU1RU1Kdm1ddMzqhVd5kCAwOpqqpi\n5MiRnDt3rss1B46u07Xs+d7XbvP/ayWcxZ5M/v7+7T+npaWxcOFCampqNJ3q6+o62UOrOjU3N3P/\n/fczd+5csrKyOryuRa2ul6k3tXLo8MuOHTtYuXIlW7ZsYeDAgZ1uEx8fz4kTJygrK6OpqYkPPviA\nzMxMR8boVlfjU1arldraWgDq6+vJz8/vdkaBKzK5ulaZmZmsX78egPXr13f6R+aKOtnzvTMzM/nz\nn/8MQGFhIUOGDGkfOnIGezJVV1e3/y6LiopQSmm+dsPVdbKHFnVSSvHoo48SHR3Nk08+2ek2rq6V\nPZl6Vatenrjt1JgxY9SPfvQjNX78eDV+/Hj12GOPKaWUOnv2rEpPT2/fbvv27SoiIkKFhYWpZcuW\nOTJCpzZt2qRCQkLUwIEDVWBgoJo2bVqHXCdPnlRms1mZzWYVExPj9Fz2ZFLKtbW6cOGCSk5OVuHh\n4SolJUVdvHixQyZX1amz7/3OO++od955p32bxx9/XIWFhalx48Z1O6vJVZnefPNNFRMTo8xms0pM\nTFQHDhxweqZZs2apoKAg5eXlpUJCQtSf/vQnzet0vUxa1Gnfvn3KYDAos9nc3p+2b9+uaa3sydSb\nWjlkRakQQgj30O/ufCSEEHomTV0IIXREmroQQuiINHUhhNARaepCCKEj0tSFEEJH/g8PtkLjl2th\nIQAAAABJRU5ErkJggg==\n"
}
],
"prompt_number": 38
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"!wget https://raw.github.com/scikit-learn/scikit-learn/master/examples/applications/svm_gui.py"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"--2013-02-09 14:45:50-- https://raw.github.com/scikit-learn/scikit-learn/master/examples/applications/svm_gui.py\r\n",
"Resolving raw.github.com (raw.github.com)... "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"199.27.75.130\r\n",
"Connecting to raw.github.com (raw.github.com)|199.27.75.130|:443... connected.\r\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"HTTP request sent, awaiting response... "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"200 OK\r\n",
"Length: 11112 (11K) [text/plain]\r\n",
"Saving to: `svm_gui.py'\r\n",
"\r\n",
"\r",
" 0% [ ] 0 --.-K/s \r",
"100%[======================================>] 11,112 --.-K/s in 0.004s \r\n",
"\r\n",
"2013-02-09 14:45:50 (2.50 MB/s) - `svm_gui.py' saved [11112/11112]\r\n",
"\r\n"
]
}
],
"prompt_number": 39
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment