{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# sklearn_交叉验证 2 Cross-validation\n",
    "\n",
    "https://morvanzhou.github.io/tutorials/machine-learning/sklearn/3-3-cross-validation2/"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "learning curve 可以很直观的看出我们的 model 学习的进度, 对比发现有没有 overfitting 的问题. 然后我们可以对我们的 model 进行调整, 克服 overfitting 的问题."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from sklearn.model_selection import learning_curve #学习曲线模块\n",
    "from sklearn.datasets import load_digits # digits数据集\n",
    "from sklearn.svm import SVC # Support Vector Classifier\n",
    "import matplotlib.pyplot as plt # 可视化模块\n",
    "import numpy as np\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1797, 64)\n",
      "[0 1 2 ..., 8 9 8]\n"
     ]
    }
   ],
   "source": [
    "digits = load_digits()\n",
    "X = digits.data; print(X.shape)\n",
    "y = digits.target; print(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfMAAAEiCAYAAADtbTvBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3Xv0VXWd//HnW0QRUGA0b+ENLWLSBQqWWXhJzUsT4uiY\nkCvJpWY5LaXWjFozC5vfsrQmxdRmXHaBhvq2nGZ5yUm85iXNIWCgYSKcEDUvaSIgGMZX/Pz+2Af6\nnnP2+Z73Pmfv72dveD3WOot1Nu+zz+f7+py9P9/vubyPhRAQERGR6toh9gBERESkO1rMRUREKk6L\nuYiISMVpMRcREak4LeYiIiIVp8VcRESk4rSYi4iIVJwWcxERkYrTYi4iIlJxOxa5czPbHTgZeAZ4\ns8j72oYNAQ4E7g0hrM56Y81B15R/XMo/LuUflz//EELmC3AJsArYCDwJHNmibjoQdMnlMj1r/poD\n5b8NXabrHKT8t+PL9FbnmC2XzH+Zm9nHgW8AFwELgJnAvWb27hDCqw3lzwDMmzePcePGbd04c+ZM\nrr/++rb3lVZ3//33N9XNnTuX8847r2n7N7/5zaZtq1evZvfdd6/bdtRRRzXVPfHEExx99NF12z73\nuc811X3pS1/i6quvrtu22267NdV1+jMvX76cc889F2pZZsx/6+3ynANv3YUXXthUt3LlSg4++OC6\nbevXr2+qe/HFF9l3332btn/605+uu/7d736X888/v6nu+OOPbzu+NNtS/gsXLmyqu/nmm7nkkkvq\ntn3hC19oqtu4cSO77LJL0/Z3v/vdddfT5hPg1ltvbTu+NO3yh/jnoDlz5jTV3X333fzVX/1V3bYb\nb7yx7f6B1Md52nkK4Ac/+EHd9bTzDzSfg7al/L11aeeVL37xi3zlK1+p2zZr1qymumXLlnHooYc2\nbb/uuutyG5+nLi3/Vjp5mn0mcEsI4fsAZnYx8FHgfOBrDbVvAowbN44jjjhi68YRI0bUXW8lrW7l\nypVNdUOHDmXMmDFN23feeeembYMGDWravsceezTV7bTTTk3bx48f31S32267NW0fNWpUU103P3PN\nlqeosuS/9XZ5zoG3btddd22q23HHHZu2b968ualu0KBBDB06tGl748IxbNiw1MWkcSzbY/6vv/56\nU93w4cObFuRBgwY11ZlZ6vbGuUubTyg0f4h8Dkr7g2LIkCG8853vbLu/NN7zFDSfg9LOP9B8DtqW\n8vfWrV27tqkuLa+RI0c21Q0ePDh1ewGPa29d25coMr0BzswGAxOBB7dsC8lzKQ8AH8iyL8lO+cel\n/OPTHMSl/Msr67vZ9wAGAS83bH8Z2DuXEUl/lH9cyj8+zUFcyr+k8no3u5G8SJ9q5syZjBgxYuv1\nBQsW0NPTw7Rp03K6+21DT08PCxYsYMqUKVu3rVu3znPTfvMHzYGH8o+ri/xB56CuKf+4usw/82L+\nKrAZ2Kth+540/6a21fXXX1/3OoB3Er0T/cEPftBVB8lrrB6HHHKIq+7MM8901WX5efvWLl68mIkT\nJ2652lH+UPwceOv23HNPV13a61VpJk+e7KpT/okPf/jDrrrBgwe76rzzmVP+UNJzUNrr1t3wnqcG\n+PwDJc3fW+fNy/v+hzzH58y/pUxPs4cQeoFFwAlbtpmZ1a4/4d1P3hP0oQ99yHvXDB8+3FUXYzFv\nV5dX/nmNp5M678k/7U2EafJczNvVbQv5n3DCCe2LSN4A6pHnYu6pK+s5aMKECd67dvGepwby/APl\nzd9bd9ZZZ7nqRo8enev95l2XppOn2a8D5prZIv78sYShwJyORyFZKP+4lH98moO4lH8JZV7MQwi3\nmdkewD+RPNWyBDg5hPCHvAeX5vLLL3fXrlq1ylW3Zs0aV91f/MVfuOpuu+02Vx3A3/zN37hrIX7+\nWXifKn/kkUfc+3z44YdddVOnTnXvM4sy5L9kyRJXXeNn7Vvp+1pmO88884y7tihFzcEVV1zhqvMe\n37fccourrrF3Qn8WLVrkqjvxxBPd+8yqDMeAR1o/gDR5P6sSSydNYyYDpwCDgZ2Br4YQmrtTSCGU\nf1zKP65a/n9H8vGofYCpIYS74o5q+6H8y6uTL1oZRvKb2CW0eQevFEL5x6X841L+cSn/kurkafb5\nwHzY+sYHGUDKPy7lH5fyj0v5l5e+AlVERKTitJiLiIhUXKHfZ75FY/cfSD5Pp+4/9Xp6eujp6anb\nlqUDUH80B+0p/7iUf1zKP65u8x+Qxbyx+4+kS3twZ+kA1B/NQXvKPy7lH5fyj6vb/PU0u4iISMV1\n8jnzYcAhJI31AcaY2XjgtRDC7/IcnDRT/nEp/7iUf1zKv7w6eZp9EvAzks8YBuAbte1zSb6cviPe\nzkberm4AK1eudNWNGTPGVXfSSSe56rw/C2TvAEdB+Wfh7UDm7daWRQm6NUXP/4477nDVeb/8I0u3\nvC9/+cvu2oIUlv9FF13kqvN2ofQ+PXrQQQe56qDYzm5O0R//a9euddV5O8Bddtll7vvOuwPigQce\nmNu+Mi3mZnYlcAawAdhI0lj/8hDCU7mNSFpS/qVwNLAQeA+agxiUf1zKv6SyvmY+GbgReD9wIklL\ny/vMbJe8ByaplH98moO4lH9cyr+kMv1lHkI4re91M5sBvELSp/fn+Q1L0ij/+DQHcSn/uJR/eXX7\nbvaRJK+bvJbDWCQ75R+f5iAu5R+X8i+JjhfzWl/e2cDPQwi/zm9I4qH849McxKX841L+5dJN05hv\nAX8JfLBdobr/+GTsAOTOHzQHHh10YNIxkCPlH5fyjytKBzgzuwk4DZgcQnipXb26//h4OwBlzR80\nBx5ZOjDpGMif8o9L+cfVbQe4TprG3AScDhwbQngu6+2lO8o/Ps1BXMo/LuVfTlk/Z/4tYBowBXjD\nzPaq/de6EMKbeQ9O6in/+DQHcSn/uJR/eWX9y/xikncuPtyw/VPA97sZyJo1a1x1WZ6q8XZ288rj\nCwe6VFj+ALNnz3bVXXXVVa66vL5xqa/jjjsu931mVOgceHg7Vnm7S2XpgHX66ae7awtSWP7e88XT\nTz/tqvN2q8zS1c17nhw1apR7nxlFf/x7O7t5u7XNmDHDfd/eY2XkyJGuOu+51CPru9k/Cywj6UC2\nAfgv4KMhhAGZRFH+JaA5iEv5x6X8SyrrYv474HKSBgETgYeAO81sXN4Dk1TKPz7NQVzKPy7lX1JZ\nO8D9Z8OmfzCzzwBHActzG5WkUv7xaQ7iUv5xKf/y6vhz5ma2A3A2MBT4RW4jEhflH5/mIC7lH5fy\nL5dOPpp2KMnEDQHWA2eEEH6T98AknfKPT3MQl/KPS/mXUyd/mf8GGE/Sk/dM4Ptmdkx/k6nuPz7O\nDkCZ8wfNgUeGDkw6Bgqg/ONS/nENeAe4EMJbwJbPZiw2s/cBlwKfaXUbdf/x8XQA6iR/0Bx4eDsw\n6RgohvKPS/nH1W0HuG6/NW3LPnbOYT/SGeUfn+YgLuUfl/Ivgawd4K4G7iH5eMKuwCeAY4GP5D80\naaT849McxKX841L+5ZX1afa9SLr87AOsA34FfCSE8FDeA5NUyj8+zUFcyj8u5V9SWT9nfkHf62Z2\nJfCAmc0OIXy+m4F42xSedNJJ3dxNV2K3Uiwyf/C3KvS2Pywih7Vr1+a+zyz6zkEt/6tJOmJ1fTLz\n/mzetrt33HFHN8NJ5W2lWZQi8/fytn197bXXXHVZ2rl6ax944AFXXdZjtMhzkPfxOnPmTFfdeeed\n181wUt1www2uuu9973u533c7Hb9mbmZHAhcCS/Mbjngp/7iUf1zKPz7NQbl0tJib2XBgHnABEPdP\npe2Q8o9L+cel/OPTHJRPp3+Z3wz8RK+TRKP841L+cSn/+DQHJdNJB7hzgAnApPyHI+0o/7iUf1zK\nPz7NQTll/WjaaGA2cFIIodd7O3X/8WnXAajT/EFz4KH841L+cXk6kGkNKM5Ad4CbCLwDWGRmVts2\nCDjGzP4W2DmEEBpvpO4/Po4OQB3lD5oDD+Ufl/KPy9mBTGtAQbrtAJd1MX8AOKxh2xySr767ptWB\nJLlR/nEp/7iUf3yag5LK+jnzN4Bf991mZm8Aq0MI+i7bgin/uJR/XMo/Ps1BeeXRm12/icWl/ONS\n/nEp//g0ByWQ9Q1ws4BZDZt/k0f3MW8nokWLFnV7V028nd0WLlzoqjv77LO7GU5LReZfFUuWLHHV\nTZgwoZD7bzEHewNdz8FVV13lqvN2ofK6/fbb3bUjR47M9b6zKjL/vHnPad5ubQCf/vSnXXXXXnut\nq+6aa65x3zcUew7yPrYa30jXyty5c1113nNKFlOnTs19n+108n3my4ATgC1vfngrv+GIg/KPT3MQ\nl/KPS/mXUCeL+VshhD/kPhLxUv7xaQ7iUv5xKf8S6uQ183eZ2QtmttLM5pnZfrmPSvqj/OPTHMSl\n/ONS/iWUdTF/EpgBnAxcDBwEPGpmw3Iel6RT/vFpDuJS/nEp/5LK+tG0e/tcXWZmC4BngbOBlt/5\npu4/Pu06AHWaP2gOPDwdmHQMFEf5x6X84xroDnB1QgjrzOwp4JD+6tT9xydrByBv/qA58OikA5OO\ngfwo/7iUf1zddoDr6nPmta/BOxh4qZv9SGeUf3yag7iUf1zKvzwyLeZm9nUzO8bMDjCzo4HbST6W\n0NPmppID5R+f5iAu5R+X8i+vrE+zjwZ+COwO/AH4OXBUCGF13gOTVMo/Ps1BXMo/LuVfUlnfADfN\nzPYFrgVOBaYC7zWzT4UQFnczkDFjxrjqvF3YAP793/891zqvyy+/PNf9bVFk/uL2Bf6c/x7Ae4FR\nwKpudzxjxgxX3cMPP+yqW7p0qavujDPOcNUBnH766a4678+StVNWGY6BK664wlV34oknuuq8HSgB\n7r//flddUV0oi8z/uOOOc9WtXbvWVeft7Oa9X4DzzjvPVRejU2LWdq4jgceBB0k+mvAq8C7A/2iU\njin/uJR/fJqDuJR/eWV9mv0K4LkQwgV9tj2b43ikf8o/LuUfn+YgLuVfUlnfzf4xYKGZ3WZmL5vZ\nYjO7oO2tJC/KPy7lH5/mIC7lX1JZF/MxwGeAFcBHgH8Fvmlm5+Y9MEml/ONS/vFpDuJS/iWV9Wn2\nHYAFIYR/rF1fambvJZncea1upO4/Po4OQB3lD5oDD+Ufl7MDls5BBVH+cQ10B7iXgOUN25YDf93f\njdT9x8fRAaij/EFz4KH843J2wNI5qCDKP66B7gD3ODC2YdtY9AaIgaL841L+8WkO4lL+JZV1Mb8e\nOMrMrjSzg81sOnABcFP+Q5MUyj8u5R+f5iAu5V9SmRbzEMJC4AxgGvA/wJeAS0MIPypgbNJA+cel\n/OPTHMSl/Msra9OYVcABfTaNA75tZoeHED7XzUC8HeCuvfZa9z69ndgmTZrkqlu0aJH7votQZP5Z\neLsbebuF3Xnnne779nY/83Yg68DN/HkOtuT/beDmbudgwoQJrjpvZytv3VVXXeWqA/9cHXjgga66\nrB3gynAMjBo1ylV30UUX5X7f3s5ut9xyS+73DeXI38t7nsryJrMCzytdy/oGuEnAoD7XDwPuA27L\nbUTSH+Ufn+YgLuUfl/Ivqay92eua6ZvZx4CVIYTHch2VpFL+8WkO4lL+cSn/8ur4+8zNbDDwCeA7\n+Q1HvJR/fJqDuJR/XMq/XDpezEneBDECmJv1ho0fjO+2bsGCBe773rBhg6vuueeec9Xl/bN46+gi\n/yLG4617/vnnXXVeTz/9tKuugPyhRMeAt+6ee+5x1eU9TytWrHDVVTV/7/sTvOcfb91vf/tbV50e\n/4m77rrLVef14IMPuuoKyr9O1tfM+zofuCeE8Pt2hY3df7Ysvu26//T09Lg6BP3yl7/kfe97X9s6\ngDfeeIPhw4e3rXvuuefYf//929Z5x+ip6+npYebMmXUT2s+bM9z5Q/Fz4K174YUXGD16dNs6r1Wr\nVrnePFlA/lCiY8BbN3/+fE499dS2dXnP04oVKxg7tvHjyfWqnP/SpUtdb2D0nn+8db/97W855JBD\n2tbp8Z+46667mDJlSts6r4ceeogTTjihbV1B+dfpaDE3s/2BE0m+y7atxu4/U6ZMURu/FNOmTaOn\np6fut8e0DkBZ8wfNgYc3f9AxUATlH5fyjytL/mk6fZr9fOBl4Kcd3l66o/zj0xzEpfzjUv4lk3kx\nNzMDZgBzQghv5z4i6Zfyj09zEJfyj0v5l1MnT7OfCOwHfM9ROwRg+fL6vvzr1q1j8eLFbW+cVpf2\nxrSNGzembv/Tn/7UtG3z5s1N29esWdNU19vb27Q9bczd/Cyeuj7ZDan9myX/rbfLcw68dWvXrm2q\n6+3tTd3utXp13Sdj6O3tbdoGzXOVY/4Q+Rjw1qW96WzDhg1NYylinl555ZW665s2bWraBu3nqYz5\nv/DCC011b775ZtN27/knTau6V199te76pk2bmraBHv8AL774YlPd+vXrWbZsWdv9tfLUU0/VXd+w\nYUPTNoDddtut7fjSOPNPF0Io7AJMB4IuuVymaw6U/3Z8Uf7Kf3u+tM3faoEXwsx2B04GngHeLOyO\ntm1DgAOBexsbNnhoDrqm/ONS/nEp/7jc+Re6mIuIiEjxumkaIyIiIiWgxVxERKTitJiLiIhUnBZz\nERGRitNiLiIiUnEDvpib2SVmtsrMNprZk2Z2ZErNZDO7y8xeMLO3zaypM76ZXWlmC8zsdTN72cxu\nN7N3p9RdbGZLzWxd7fKEmZ3iGOeVtfu+rmH7rNr2vpdft9jHvmb2b2b2qpn9sTaOIxpqVqXs720z\nu7HdGDuh/Ovzr9UN2BzklX+trrA5aJV/7f+26WNA+Sv/PvuvzBowoIu5mX0c+AYwCzgcWArca2Z7\nNJQOA5YAl5B8YD7NZOBG4P0kHYkGA/eZ2S4Ndb8DLgcm1i4PAXea2bh+xnkkcGFtfGmWAXsBe9cu\nH0rZx0jgceBPJJ+zHAd8AWhsNzepz372Bk4i+ZlvazW+Tin/1PxhgOYg5/yhoDlw5A/b9jGg/Lfj\n/GvjrN4aUGQHuJRuQE8CN/S5bsDzwN/3c5u3gSmOfe9Rq/2Qo3Y18KkW/zccWAF8GPgZcF3D/88C\nFjvu4xrgkQ4ymg08pfzj5F/kHBSZf15z0C7/gZiDMh0Dyn/7yt8zB2XNf8D+MjezwSS/FW39NveQ\njPwB4AM53MVIkt9mXutnDDuY2TnAUOAXLcpuBn4SQnion/t6V+0poJVmNs/M9kup+Riw0Mxuqz0F\ntNjMLujvB6hl9AngO/3VdUL5t8+/NsZC5mAA8od85sCTP+gYSKP82++77PlDVdeAIn77avHbxj4k\nvzW9v2H7tcAv+rld29/MSH67u5sWvwUBhwLrgV6SiT6lRd05JE+rDK5dT/ut7GTgzNo+TyJ5GmUV\nMKyhbiPwR+D/AeOBi2rXz+3n5zgb2ATsrfwHPv8i56DI/POaA0/+29sxoPy3n/y9c1DW/HOdrA4n\n8mvAE/3czrOY/AvwNLBPi//fERgDHAFcDbwCvKehZjTwe+CwPttSD6aG240A1tLwlA3J6ySPNWy7\nAXi8n33NB+5U/nHyL3IOisw/jznoNP+856Bsx4Dy3z7y72YOypL/QL4B7lVgM8mbBvrak+RL7jti\nZjcBpwHHhRBeSqsJIbwVQng6hLA4hPAlkt+8Lm0omwi8A1hkZr1m1gscC1xqZpvMzFrsex3wFHBI\nw3+9BCxv2LYc2L/Fz7E/yZs4bm3xo3ZL+feTf+1nKXIOCskfcpuDjvKv7VvHgPL3KHP+UPE1YMAW\n8xBCL7AIOGHLtlo4JwBPdLLP2iSeDhwfQmj+QvPWdgB2btj2AHAYMIHkKZHxwEJgHjA+1H5tShnD\ncOBgkonr63FgbMO2scCzLcZ0PskD+qe+HyEb5Q/0nz8UOAdF5F/bR15z0FH+tTHoGFD+bZU8f4h/\nDuou/7yfSmnzdMTZJK8jfBJ4D3ALybsK39FQN4wkyAkkT7NcVru+X5+ab5G8xX8yyW96Wy5DGvZ1\nNcnHBg4geY3jq8BbwIcd4017veTrwDG1/R0N3F+bgN0b6iaRPM1yJclETyd5zeaclPsxkq8IvFr5\nD3z+AzUHeeY/EHOQlv/2cAwof+Xf3xyUNf/CJq2fcD5bG/RGkncTTkqpObY2iZsbLt/tU5P2/5uB\nTzbs69skr6VsJHk95D7PJNZu+1DKRPaQfJRiI/Ac8EPgoBa3Pw34FcmbHv4XOL9F3Um1sR+i/Ac+\n/4Gcg7zyH4g5SMt/ezgGlL/y728Oypq/vs9cRESk4tSbXUREpOK0mIuIiFScFnMREZGK02IuIiJS\ncVrMRUREKk6LuYiISMVpMRcREak4LeYiIiIVp8VcRESk4rSYi4iIVJwWcxERkYrTYi4iIlJxWsxF\nREQqTou5iIhIxWkxFxERqTgt5iIiIhWnxVxERKTitJiLiIhUnBZzERGRitNiLiIiUnFazEVERCpO\ni7mIiEjFaTEXERGpOC3mIiIiFafFXEREpOK0mIuIiFScFnMREZGK02IuIiJScVrMRUREKk6LuYiI\nSMVpMRcREak4LeYiIiIVp8VcRESk4rSYi4iIVJwWcxERkYrTYi4iIlJxWsxFREQqTou5iIhIxWkx\nFxERqTgt5iIiIhWnxVxERKTitJiLiIhUnBZzERGRitNiLiIiUnFazEVERCpOi7mIiEjFaTEXERGp\nOC3mIiIiFafFXEREpOK0mIuIiFScFnMREZGK02IuIiJScVrMRUREKk6LuYiISMVpMRcREak4LeYi\nIiIVp8VcRESk4rSYi4iIVJwWcxERkYrTYi4iIlJxWsxFREQqTou5iIhIxWkxFxERqTgt5iIiIhWn\nxVxERKTitJiLiIhUnBZzERGRitNiLiIiUnFazEVERCpuxyJ3bma7AycDzwBvFnlf27AhwIHAvSGE\n1VlvrDnomvKPS/nHpfzj8ucfQsh8AS4BVgEbgSeBI1vUTQeCLrlcpmfNX3Og/Lehy3Sdg5T/dnyZ\n3uocs+WS+S9zM/s48A3gImABMBO418zeHUJ4taH8GYB58+Yxbty4rRtnzpzJ9ddf3/a+0uouvPDC\nprqVK1dy8MEHN23fd999m7b98pe/5Mgjj6zb9uUvf9l1394x5lm3fPlyzj33XKhlmTH/rbfLcw68\ndd65Wr9+fVPdiy++mDp/P/rRj3Ibn6eujPn/4Ac/aKq74447mDp1at22DRs2NNXNnz+fU045pW7b\nz372s6a6Vvn/3//9X9sxAwwfPrzu+saNG9lll12a6u6+++6661/84hf5yle+svX6U089xUUXXQS1\nHCH+Oeif//mfm+oeffRRjjnmmLptabmuWbOGUaNG1W2bMmVKU13aPAFMnz697npjXlvsuuuuddfz\nevxD/Pw///nPN9UtW7aMQw89tG5b2nkl7fxz6623uu7XO74869Lyb6WTp9lnAreEEL4PYGYXAx8F\nzge+1lD7JsC4ceM44ogjtm4cMWJE3fVW0uoaH6QAO+64Y+r23XffvWnb4MGDm7anjaWbMRZUt+Up\nqiz5b71dnnPgrfPO1ebNm5vqBg0axNChQ5u2N97H9pj/o48+2lS3yy67sN9++9VtW7t2bVPdkCFD\n2Geffeq2peXcKn+vQYMG1V03s6ZtAOPHj6+7vttuuzVtq+n7FG3Uc9Cee+7ZVLfTTjs1bd95552b\n6nbYYYem7Y3zAenzBP68Ro4cWXc9x8c/RM6/8WeD5Lyetr1R2vmnYuf/ljK9Ac7MBgMTgQe3bAvJ\ncykPAB/Isi/JTvnHpfzj0xzEpfzLK+u72fcABgEvN2x/Gdg7lxFJf5R/XMo/Ps1BXMq/pPJ6N7uR\nvEifaubMmYwYMWLr9QULFtDT08O0adNyuvttQ09PDwsWLKh7DW3dunWem/abP2gOPJR/XD/+8Y9Z\ntGhRXSavv/669+Y6B3Wpi8c/KP+udZl/5sX8VWAzsFfD9j1p/k1tq+uvv77udQDvJHonOu01rFYO\nOuggV533vvOs21LTt3bx4sVMnDhxy9WO8ofi5yDvufK8/pXlfrf1/D2vxwFNbxJqxZu/1+DBg9vW\nnHXWWXX/AixdupTjjjuub1kpz0Fjx4511Q0bNsxV552nM88801WX0+MfSpr/O9/5Tled9/xT0vN/\nvzI9zR5C6AUWASds2WZmVrv+hHc/sRYIgDFjxuR63wNZl1f+eY2nkzrvXDW+47fb+93W8/cu5ocd\ndpirzpu/10477eSq67uQpynrOSjvxdw7T+3y2iKvn7es+Y8ePdpVV+bFPEtdmk6eZr8OmGtmi/jz\nxxKGAnM6HoVkofzjUv7xaQ7iUv4llHkxDyHcZmZ7AP9E8lTLEuDkEMIf8h5cmmeeecZd+8gjj7jq\n5s6d66o74IADXHVZxphV7Pwh+Uyzhzf/WbNmdTOcAVWG/L28T5XPnj3bvU9vbdrH4tK0G2Paxxtj\nz8GSJUty3d+cOXPctQ8//HCudZ0oKn/vefPOO+/s5m6aJE8s+LT42GSTvB8jHp00jZkMnAIMBnYG\nvhpCWJj3wCSd8o9L+cdVy//vSD4etQ8wNYRwV9xRbT+Uf3l18kUrw0h+E7uENu/glUIo/7iUf1zK\nPy7lX1KdPM0+H5gPW9/4IANI+cel/ONS/nEp//LSV6CKiIhUnBZzERGRiiv0+8y3aOz+A8nn6dT9\np15PTw89PT1127J0AOqP5qA95R+X8o9L+cfVbf4Dspg3dv+RdGkP7iwdgPqjOWhP+cel/ONS/nF1\nm7+eZhcREam4Tj5nPgw4hKSxPsAYMxsPvBZC+F2eg5Nmyj8u5R+X8o9L+ZdXJ0+zTwJ+RvIZwwB8\no7Z9LsmX0xcqyxdAPPvss666xtdyWmn4woeWvN2voKMvtIiaP8BVV12V6/6mTp2a6/4KFj3/yy67\nLNf9ZZlPb5euAjuQRc9/woQJrroDDzzQVZelA5z3fOHN33tO66Ow/LOcNz2OPfZYV513nqDYznrd\nyrSYm9mVwBnABmAjSWP9y0MITxUwNmmg/EvhaGAh8B40BzEo/7iUf0llfc18MnAj8H7gRJKWlveZ\n2S55D0xQsMhoAAAQmUlEQVRSKf/4NAdxKf+4lH9JZfrLPIRwWt/rZjYDeIWkT+/P8xuWpFH+8WkO\n4lL+cSn/8ur23ewjSV43eS2HsUh2yj8+zUFcyj8u5V8SHS/mtb68s4GfhxB+nd+QxEP5x6c5iEv5\nx6X8y6WbpjHfAv4S+GC7QnX/8cnYAcidP2gOPDrowKRjIEfKPy7lH1eUDnBmdhNwGjA5hPBSu3p1\n//HxdgDKmj9oDjyydGDSMZA/5R+X8o+r2w5wnTSNuQk4HTg2hPBc1ttLd5R/fJqDuJR/XMq/nLJ+\nzvxbwDRgCvCGme1V+691IYQ38x6c1FP+8WkO4lL+cSn/8sr6l/nFJO9cfLhh+6eA7+cxoHaydOtZ\nunSpq877uoS381MHXd28oucP/k5N48ePd9V5cy2JwubA210q7y5Us2fPznV/AHfccYerbsaMGVl3\nHf0Y8I758MMPd9V5u+qB/9yS5TyZUWH55z1m72MwSwfKvLvU5Snru9k/Cywj6UC2Afgv4KMhhAFb\nSLZzyj8+zUFcyj8u5V9SWRfz3wGXkzQImAg8BNxpZuPyHpikUv7xaQ7iUv5xKf+SytoB7j8bNv2D\nmX0GOApYntuoJJXyj09zEJfyj0v5l1fHnzM3sx2As4GhwC9yG5G4KP/4NAdxKf+4lH+5dPLRtENJ\nJm4IsB44I4Twm7wHJumUf3yag7iUf1zKv5w6+cv8N8B4kp68ZwLfN7Nj+ptMdf/xcXYAypw/aA48\nMnRg0jFQAOUfl/KPa8A7wIUQ3gKerl1dbGbvAy4FPtPqNur+4+PpANRJ/qA58PB2YNIxUAzlH5fy\nj6vbDnDdfmvaln3snMN+pDPKPz7NQVzKPy7lXwJZO8BdDdxD8vGEXYFPAMcCH8l/aNJI+cenOYhL\n+cel/Msr69Pse5F0+dkHWAf8CvhICOGhvAcmqZR/fJqDuJR/XMq/pLJ+zvyCvtfN7ErgATObHUL4\nfK4ja8Hbog/8bS+XLFniqps5c6b7vr0uu+wyd20Z8gd/S0Nve8Ys7US9rReLamfZdw5q+V9N0hGr\n65OZd8zex2vebV/Bf/wdd9xxud83FJu/V94tPR955BF37apVq1x1A/H4h3zPQd5Wtd420aNGjXLV\nXXrppa468B973ha9ec5Tx6+Zm9mRwIWArwG65Er5x6X841L+8WkOyqWjxdzMhgPzgAuA8nae30Yp\n/7iUf1zKPz7NQfl0+pf5zcBP9DpJNMo/LuUfl/KPT3NQMp10gDsHmABMyn840o7yj0v5x6X849Mc\nlFPWj6aNBmYDJ4UQer23U/cfn3YdgDrNHzQHHso/LuUfl6cDmdaA4gx0B7iJwDuARWZmtW2DgGPM\n7G+BnUMIofFG6v7j4+gA1FH+oDnwUP5xKf+4nB3ItAYUpNsOcFkX8weAwxq2zSH56rtrWh1Ikhvl\nH5fyj0v5x6c5KKmsnzN/A/h1321m9gawOoSg77ItmPKPS/nHpfzj0xyUVx692fWbWFzKPy7lH5fy\nj09zUAJZ3wA3C5jVsPk3A9l9LIuiulC14+3+k1VZ8vd2LfJ2tsrSUcvbhe+///u/XXUTJkxw3ze0\nnIO9ga7nwJurtwvbn1/S7N/tt9/uqoN4x9QWRebv7e51/PHHu+pmzWocZros5wtvB0TvYyRrB7Iy\nnIO88+Sty3oO8PB29szS0bSdTr7PfBlwArDlTPFWbqMRD+Ufn+YgLuUfl/IvoU4W87dCCH/IfSTi\npfzj0xzEpfzjUv4l1Mlr5u8ysxfMbKWZzTOz/XIflfRH+cenOYhL+cel/Eso62L+JDADOBm4GDgI\neNTMhuU8Lkmn/OPTHMSl/ONS/iWV9aNp9/a5uszMFgDPAmcD32t1O3X/8WnXAajT/EFz4OHpwKRj\noDjKPy7lH9dAd4CrE0JYZ2ZPAYf0V6fuPz5ZOwB58wfNgUcnHZh0DORH+cel/OPqtgNcV58zr30N\n3sHAS93sRzqj/OPTHMSl/ONS/uWRaTE3s6+b2TFmdoCZHQ3cTvKxhJ42N5UcKP/4NAdxKf+4lH95\nZX2afTTwQ2B34A/Az4GjQgir8x6YpFL+8WkO4lL+cSn/ksr6BrhpZrYvcC1wKjAVeK+ZfSqEsLiI\nATbK0jFn5MiRrrqrrrqqw9Gk83ZpyqoM+QPMmDHDVeft1palC5W3W5b3cdJB96cv8Of89wDeC4wC\nVmXdUae83aUa33DUSuyublkUeQx4H4feXL3zlKUD3OGHH+6qmzNnjqsu67mvLOcgD++x7Z0n8Oea\nZ2c3r6ztXEcCjwMPknw04VXgXcCa/IcmjZR/XMo/Ps1BXMq/vLI+zX4F8FwI4YI+257NcTzSP+Uf\nl/KPT3MQl/IvqazvZv8YsNDMbjOzl81ssZld0PZWkhflH5fyj09zEJfyL6msi/kY4DPACuAjwL8C\n3zSzc/MemKRS/nEp//g0B3Ep/5LK+jT7DsCCEMI/1q4vNbP3kkzuvFY3UvcfH0cHoI7yB82Bh/KP\ny9kBS+eggij/uAa6A9xLwPKGbcuBv+7vRur+4+PoANRR/qA58FD+cTk7YOkcVBDlH9dAd4B7HBjb\nsG0segPEQFH+cSn/+DQHcSn/ksq6mF8PHGVmV5rZwWY2HbgAuCn/oUkK5R+X8o9PcxCX8i+pTIt5\nCGEhcAYwDfgf4EvApSGEHxUwNmmg/ONS/vFpDuJS/uWVtWnMKuCAPpvGAd82s8NDCJ/LdWQtPPzw\nw+7aG264Idf7Pu+881x1RXXUKkP+4O8A5+1s5e2qBP5si+rCB9zMn+dgS/7fBm4u2zHgzdXbKbEM\nijwGvDl4H4OjRo1y1Xk7ygGcfvrprrosXc2yKMM5yPuzLVmyxFW3du1a9317j70OOkt2Lesb4CYB\ng/pcPwy4D7gttxFJf5R/fJqDuJR/XMq/pLL2Zq9rpm9mHwNWhhAey3VUkkr5x6c5iEv5x6X8y6vj\n7zM3s8HAJ4Dv5Dcc8VL+8WkO4lL+cSn/cul4MSd5E8QIYG7WGzZ+ML7buhUrVmQdQm6efvppV13e\nPzNd5F/EeH784x+76rxztWnTJlfd888/76q75557XHUZ8ocSHQNr1vi+5+Kxx3x/QOU9vgIe/1Ci\n/L2PQ6+8H//e47Oq+XvPK6+88oqrzns85X1eyZh/nayvmfd1PnBPCOH37Qobu/8sWLAAoG33n56e\nHleHoBUrVjB2bONHHwfGqlWrGDNmTNs6z8/S09PDzJkz6ya0nw5A7vyh+Dn4j//4D84666y2dd65\n6u3tZaeddmpb98ILLzB69Oi2dfPnz+fUU0/ttyZj/lCiY2Dt2rWuN1w99thjTJ48uW2d937zrKty\n/t7HoVfej3/P8Vnl/L3nlVdeeYU999yzbZ33ePKcV6Cwx3+djhZzM9sfOJHku2zbauz+M2XKFLXx\nSzFt2jR6enq46667tm5L6wCUNX/QHHh48wcdA0VQ/nEp/7iy5J+m06fZzwdeBn7a4e2lO8o/Ps1B\nXMo/LuVfMpkXczMzYAYwJ4Twdu4jkn4p//g0B3Ep/7iUfzl18jT7icB+wPcctUMAli+v78u/bt06\nFi9e3PbGaXVpb2DYtGmT+40N3Vi9enXTtt7e3qbtaT9bpz9zn+yG1P7Nkv/W2+U5B+vXr2+qe/31\n11m6dGndNu9cbd68uakuhJC6vbHBQ29vb2rTh8afd8OGDU3bAN5+u/5c5MgfIh8Df/zjH5vqNm/e\n3LR95cqVTXVvvPFG0/Y8H69515Ux/7THW6vHoUcRj//GYzHt+ATYdddd665XIX/veSXtPPXWW281\nbfceT5DfeaUVZ/7pQgiFXYDpQNAll8t0zYHy344vyl/5b8+XtvlbLfBCmNnuwMnAM8Cbhd3Rtm0I\ncCBwb2PDBg/NQdeUf1zKPy7lH5c7/0IXcxERESleN01jREREpAS0mIuIiFScFnMREZGK02IuIiJS\ncVrMRUREKm7AF3Mzu8TMVpnZRjN70syOTKmZbGZ3mdkLZva2mU1JqbnSzBaY2etm9rKZ3W5m706p\nu9jMlprZutrlCTM7xTHOK2v3fV3D9lm17X0vv26xj33N7N/M7FUz+2NtHEc01KxK2d/bZnZjuzF2\nQvnX51+rG7A5yCv/Wl1hc9Aq/9r/bdPHgPJX/n32X5k1YEAXczP7OPANYBZwOLAUuNfM9mgoHQYs\nAS4h+cB8msnAjcD7SToSDQbuM7NdGup+B1wOTKxdHgLuNLNx/YzzSODC2vjSLAP2AvauXT6Uso+R\nwOPAn0g+ZzkO+ALQ+N16k/rsZ2/gJJKf+bZW4+uU8k/NHwZoDnLOHwqaA0f+sG0fA8p/O86/Ns7q\nrQFFdoBL6Qb0JHBDn+sGPA/8fT+3eRuY4tj3HrXaDzlqVwOfavF/w4EVwIeBnwHXNfz/LGCx4z6u\nAR7pIKPZwFPKP07+Rc5BkfnnNQft8h+IOSjTMaD8t6/8PXNQ1vwH7C9zMxtM8lvRg1u2hWTkDwAf\nyOEuRpL8NvNaP2PYwczOAYYCv2hRdjPwkxDCQ/3c17tqTwGtNLN5ZrZfSs3HgIVmdlvtKaDFZnZB\nfz9ALaNPAN/pr64Tyr99/rUxFjIHA5A/5DMHnvxBx0Aa5d9+32XPH6q6BhTx21eL3zb2Ifmt6f0N\n268FftHP7dr+Zkby293dtPgtCDgUWA/0kkz0KS3qziF5WmVw7Xrab2UnA2fW9nkSydMoq4BhDXUb\ngT8C/w8YD1xUu35uPz/H2cAmYG/lP/D5FzkHReaf1xx48t/ejgHlv/3k752Dsuaf62R1OJFfA57o\n53aexeRfgKeBfVr8/47AGOAI4GrgFeA9DTWjgd8Dh/XZlnowNdxuBLCWhqdsSF4neaxh2w3A4/3s\naz5wp/KPk3+Rc1Bk/nnMQaf55z0HZTsGlP/2kX83c1CW/AfyDXCvAptJ3jTQ154kX3LfETO7CTgN\nOC6E8FJaTQjhrRDC0yGExSGEL5H85nVpQ9lE4B3AIjPrNbNe4FjgUjPbZGbWYt/rgKeAQxr+6yWg\n8bvxlgP7t/g59id5E8etLX7Ubin/fvKv/SxFzkEh+UNuc9BR/rV96xhQ/h5lzh8qvgYM2GIeQugF\nFgEnbNlWC+cE4IlO9lmbxNOB40MIz2W46Q7Azg3bHgAOAyaQPCUyHlgIzAPGh9qvTSljGA4cTDJx\nfT0OjG3YNhZ4tsWYzid5QP/U9yNko/yB/vOHAuegiPxr+8hrDjrKvzYGHQPKv62S5w/xz0Hd5Z/3\nUyltno44m+R1hE8C7wFuIXlX4Tsa6oaRBDmB5GmWy2rX9+tT8y2St/hPJvlNb8tlSMO+rib52MAB\nJK9xfBV4C/iwY7xpr5d8HTimtr+jgftrE7B7Q90kkqdZriSZ6Okkr9mck3I/RvIVgVcr/4HPf6Dm\nIM/8B2IO0vLfHo4B5a/8+5uDsuZf2KT1E85na4PeSPJuwkkpNcfWJnFzw+W7fWrS/n8z8MmGfX2b\n5LWUjSSvh9znmcTabR9Kmcgeko9SbASeA34IHNTi9qcBvyJ508P/Aue3qDupNvZDlP/A5z+Qc5BX\n/gMxB2n5bw/HgPJX/v3NQVnz1/eZi4iIVJx6s4uIiFScFnMREZGK02IuIiJScVrMRUREKk6LuYiI\nSMVpMRcREak4LeYiIiIVp8VcRESk4rSYi4iIVJwWcxERkYrTYi4iIlJx/x9tV0ReUiMGtgAAAABJ\nRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa9aa914240>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i in range(10):\n",
    "    plt.subplot(2, 5, i + 1)\n",
    "    plt.imshow(X[i].reshape((8, 8)), cmap=plt.cm.gray_r, interpolation='nearest')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Training"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "train_sizes, train_scores, test_scores = learning_curve(\n",
    "    SVC(gamma=0.001), X, y, cv=10, scoring='f1_micro',\n",
    "    train_sizes=[0.1, 0.25, 0.5, 0.75, 1])\n",
    "\n",
    "# http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html#sklearn.metrics.f1_score\n",
    "\n",
    "#平均每一轮所得到的平均方差(共5轮，样本數分别为：10%、25%、50%、75%、100%)\n",
    "train_scores_mean = np.mean(train_scores, axis=1)\n",
    "test_scores_mean = np.mean(test_scores, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nmzZtqF69On/4wx84dOgQY8aMoUmTJixfvpy0tLQQv2+77TYyMjJ45plnWL58ORMnTuSiiy5i+PDh\neeqOOVTVNjcp6UpAMzMzNdb59sC3WmJICR2xaES0XTGM84LMzEzNq3146PGHNNA1oAwi1xboGtBe\nfXqd0fULs/4ff/xRRUQ7duxYIHsR0WLFiumaNWtCyt9++20VER0+fHhI+W233aYJCQm6ceNGVVUd\nNWqUBgIB/eGHH056jQ4dOmjdunVPUYmjcePG2rBhw5CypUuXqojoa6+9llN2+PDhXOc+88wzmpCQ\noNu2bcspGzRokAYCgRC79PR07datW87+I488ooFAQJctW5ZT9v3332tKSooGAgHdsmVLnte9//77\ntVSpUnr06NGcsrZt22q1atVy2W7evFlFRKdMmZJTVr9+fa1UqZLu3bs3p2zFihWakJCgd999d4gW\nEdH77rsvpM5bbrlFK1SokOtafvL7DgSPA1dqEd23rQspTvCnj2s0rsGRvx1h/d/Xn7X0tGEYp8+s\nebPIrp67uwAgu3o2M+bMYPnXy097mzFnRp71z5w387R9//HHHwFOKYPTrFkzatYMfVD6+++/T7Fi\nxXK6moI89thjZGdn8/777wOQkpICwFtvvRX88ZiLlJQUtm/fzrJlywrsU5DOnTuTmZnJpk2bcsqm\nT59OYmIi7du3zynzj9nJyspi9+7dXHPNNWRnZ/P555+f0jXff/99GjVqFPIclPLly3PHHXfksvVf\n98CBA+zevZsmTZqQlZWVq8unIHzzzTd88cUXdOvWLeQhrHXr1uWGG25g9uzZIfYiQo8ePULKmjZt\nyu7duzlw4MApXz+aWBdSHHCy9PGkjZNY3GrxGaePDcM4fVSVYwnH3PcyEgI7D++kwUsNTm6T5wWA\nI+RZ/7HAsdMe2FumTBmAU/oxFOwy8rNlyxYuueQSkpOTQ8pr166dcxxcgDFp0iTuu+8++vbtS8uW\nLbnlllu49dZbc/x/4okn+Oijj7jqqquoUaMGrVq14vbbb6dxY/e08WPHjvHDDz+EXKdChQoEAgE6\nderEY489xvTp0+nbty/guo/atGkT0g2zbds2fv/73zNr1iz27NmTUy4ip/xU2S1bttCoUaNc5eFB\nHrgutP79+7NgwYKc4PF0rxu8NsDll1+e61jt2rWZO3cuhw4domTJkjnlwS6lIOXKlQNgz549eXZV\n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\nqAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa9aaceecc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(train_sizes, train_scores_mean, 'o-', color=\"r\",\n",
    "         label=\"Training\")\n",
    "plt.plot(train_sizes, test_scores_mean, 'o-', color=\"g\",\n",
    "        label=\"Cross-validation\")\n",
    "\n",
    "plt.xlabel(\"Training examples\")\n",
    "plt.ylabel(\"f1-scores\")\n",
    "plt.legend(loc=\"best\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [conda root]",
   "language": "python",
   "name": "conda-root-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
