Untitled.ipynb 27.5 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import shelve\n",
    "import numpy\n",
    "import pandas\n",
    "import sklearn.manifold\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "data=shelve.open(\"./Sparse_mat.shelve\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "array_test=data[\"ASR\"][\"DEV\"].toarray()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(175, 1060)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "array_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "max_list=numpy.max(array_test,axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "a=pandas.DataFrame([numpy.divide(x,numpy.float(max(x))) for x in array_test])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>...</th>\n",
       "      <th>1050</th>\n",
       "      <th>1051</th>\n",
       "      <th>1052</th>\n",
       "      <th>1053</th>\n",
       "      <th>1054</th>\n",
       "      <th>1055</th>\n",
       "      <th>1056</th>\n",
       "      <th>1057</th>\n",
       "      <th>1058</th>\n",
       "      <th>1059</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.700000</td>\n",
       "      <td>0.100000</td>\n",
       "      <td>0.1</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.100000</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.250000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.333333</td>\n",
       "      <td>0.166667</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.333333</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.333333</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 1060 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       0         1         2     3         4     5     6     7         8     \\\n",
       "0  1.000000  0.700000  0.100000   0.1  0.000000     0     0     0  0.100000   \n",
       "1  0.500000  0.000000  0.250000   0.0  0.000000     0     0     0  0.000000   \n",
       "2  0.000000  0.500000  0.000000   1.0  0.000000     0     0     0  0.000000   \n",
       "3  0.333333  0.166667  0.666667   0.0  0.333333     0     0     0  0.333333   \n",
       "4  0.500000  0.500000  0.000000   0.0  0.000000     0     0     0  0.000000   \n",
       "\n",
       "   9     ...   1050  1051  1052  1053  1054  1055  1056  1057  1058  1059  \n",
       "0     0  ...      0     0     0     0     0     0     0     0     0     0  \n",
       "1     0  ...      0     0     0     0     0     0     0     0     0     0  \n",
       "2     0  ...      0     0     0     0     0     0     0     0     0     0  \n",
       "3     0  ...      0     0     0     0     0     0     0     0     0     0  \n",
       "4     0  ...      0     0     0     0     0     0     0     0     0     0  \n",
       "\n",
       "[5 rows x 1060 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "trans=sklearn.manifold.TSNE()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "tsne=trans.fit_transform(a.values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7f0e612a9e90>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEACAYAAAC3adEgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+MHHeZ5/H3M2Rnmd0Y4omDg+KQZJ3k4tzCZhwwkYzk\n1mpnJqx0ThyjKEInnMBuTiQLe8ccZ3uDlGF3OHAkQwAp7PmWu0y4sFG0kYm5C9MzgfSefCIkl99g\nbzIcJBsbYnDCcRthsQ5+7o+qnqnqqequ6qqe7h5/XtLI3d+uqn66ZlxP1fP9fqvN3REREakb6HYA\nIiLSW5QYREQkRolBRERilBhERCRGiUFERGKUGEREJKZwYjCz3zaz75nZU2b2AzP7j2H7ajObNbPn\nzaxqZm+NrLPbzObN7LCZjRWNQUREymNlzGMws99x91+Z2ZuA/wVMAFuBV939DjPbCax2911mdjlw\nL/AeYB3wMHCJa0KFiEhPKKWU5O6/Ch/+drjNXwDXANNh+zRwbfh4K3Cfu7/h7i8C88CmMuIQEZHi\nSkkMZjZgZk8BrwA1dz8ErHX3YwDu/grwtnDx84CXI6sfDdtERKQHnFHGRtz9FDBiZm8BqmZWARpL\nQyoViYj0gVISQ527/z8zewh4N3DMzNa6+zEzOxf4WbjYUeD8yGrrwrYlzEzJRESkDe5u7a5bxqik\nNfURR2Y2BIwCTwEHgBvDxXYAD4aPDwA3mNmgmV0EXAw8lrZ9d+/5n9tvv73rMayEGBWn4uz1n36J\ns6gyrhjeDkybmREkmq+5+7fDPof7zezDwEvA9QDufsjM7gcOASeBW7yMTyIiIqUonBjc/TlgY0L7\na8AfpazzWeCzRd9bRETKp5nPJahUKt0OoaV+iBEUZ9kUZ7n6Jc6iSpng1ilmpiqTiEhOZoZ3s/NZ\nRERWFiUGERGJUWIQEZEYJQYREYlRYhARkRglBhERiVFiEBGRGCUGERGJUWIQEZEYJQYRkTZUq1XG\nxrYzNradarXa7XBKpVtiiIjkVK1W2bZtBydO7AFgaGgn+/dPMz4+3uXIAkVviaHEICKS09jYdubm\nthJ81QzANKOjB5idfaCbYS3QvZJERKRUpX61p4jI6WBi4mYOHtzBiRPB86GhnUxMTHc3qBKplCQi\n0oZqtcrevfuAIFH0Sv8CqI9BREQaqI9BRERKVTgxmNk6M/uOmf3AzJ4zs4+H7avNbNbMnjezqpm9\nNbLObjObN7PDZjZWNAYRESlP4VKSmZ0LnOvuT5vZmcATwDXATcCr7n6Hme0EVrv7LjO7HLgXeA+w\nDngYuCSpZqRSkohIfl0vJbn7K+7+dPj4deAwwQH/GqDeTT8NXBs+3grc5+5vuPuLwDywqWgcIiJS\njlL7GMzsQuAK4FFgrbsfgyB5AG8LFzsPeDmy2tGwTUREekBpiSEsI/0d8OfhlUNjDUg1IRGRPlDK\nBDczO4MgKXzN3R8Mm4+Z2Vp3Pxb2Q/wsbD8KnB9ZfV3YlmhycnLhcaVSoVKplBGyiMiKUavVqNVq\npW2vlHkMZnYPcNzdPxFp2wO85u57Ujqf30tQQppDnc8iIqXp+gQ3M9sM/E/gOYJykQN/ATwG3E9w\ndfAScL27/99wnd3AR4CTBKWn2ZRtKzGIiOTU9cTQSUoMIiL5dX24qoiIrCxKDCIiEqPEICIiMUoM\nIiISo8QgIiIxSgwiIhKjxCAiIjFKDCIiEqPEICIiMUoMIiISo8QgIiIxSgwiIhKjxCAiIjFKDCIi\nEqPEINKgWq0yNradsbHtVKvVbocjsuyUGEQiqtUq27btYG5uK3NzW9m2bUffJQclNilKX9QjEjE2\ntp25ua3AjrBlmtHRA8zOPtDNsDKrJ7YTJ/YAMDS0k/37pxkfH+9yZLKcin5RzxllBiMi3bV3774w\nKQSJ7cSJoE2JQfJQYhCJmJi4mYMHd3DiRPB8aGgnExPT3Q1KZJmV0sdgZl81s2Nm9mykbbWZzZrZ\n82ZWNbO3Rl7bbWbzZnbYzMbKiEGkDOPj4+zfH5SPRkcP9F0ZZmLiZoaGdgLTwHSY2G7udljSZ0rp\nYzCz9wGvA/e4+7vCtj3Aq+5+h5ntBFa7+y4zuxy4F3gPsA54GLgkqTNBfQwi+VWrVfbu3QcEiaKf\nEpuUo2gfQylXDO5+EPhFQ/M1BKcthP9eGz7eCtzn7m+4+4vAPLCpjDgkoFEpi1b6vkj6fOPj48zO\nPsDs7ANKCtIedy/lB7gAeDby/LWG118L//0y8MFI+98A16Vs0yWfmZkZHxpa63C3w90+NLTWZ2Zm\nuh1WV6z0fbHSP5+0Lzx2tn08X87O57ZqQpOTkwuPK5UKlUqlpHBWJo1KWbTS98VK/3ySXa1Wo1ar\nlba9TiaGY2a21t2Pmdm5wM/C9qPA+ZHl1oVtiaKJQaSXLEctX/0FkkXjSfOnP/3pYhsscrkR/QEu\nBJ6LPN8D7Awf7wQ+Fz6+HHgKGAQuAn5I2AmesM3OXGetYKdjeWFmZsZHR6/z0dHrYp+1k/tiOfZz\nq/c4HX/Xkg0FS0llJYWvAz8Bfg38I3ATsJpgxNHzwCxwVmT53WFCOAyMNdlux3bcSpZ2oOx17cSd\n5eDZ7r5otu7o6HXhe3r4c7ePjl5X6ufL8h79+ruWzuqJxNCpHyWG00e7Z795D9BZD6St4mnnffN+\nvk59Nln5lBhkRWjnDDzvenkOzq22m/dA3+4VRtb3UFlJooomBt1dVXrWE08803L+QXym779nYGCC\n48dfTVwnPoonuNFcvWM3r+WYIZ3nPfJ8tpU+t0NKUCSrdPoHXTGcNhrPeOEtDhOZzn5nZmZ8ZGSz\nDwysbnrGXPTqYmpqqlB/xeL2Jnxg4GwfGdlS2ln9yMiWJZ9tZGRLps+lK4uVB5WSZKWo18iHh9eH\nSSF72SVrR+3g4DkLB8XBwXNaJpx6Ipiamsp0QG1W58+awNoxMrLZYU0ksa7xkZHNS5Zrt2Qn/aVo\nYlApSXpG/VYOV175B8A7M61TL4s88cQzwHMZ1jgJ/HX4c7LpNvfu3cfExM3Mzj7A3//9ky1LNa2+\n5Gd8fJw1a9Zy6tQXmm4nKZZWZZ81a9aG2zwQ/uwI20TaUCSrdPoHXTGsGHlGzGQtd+QtP2W9qkh6\n72DdCYfrwp+JJetm2X6nOsuzlqqabVOjmlYOVEqS5Zb3ANJOXbv+HiMjm31kZEvmuQTDw+tTyzhB\nieoqh5ncB+6pqakw8SwmoampqUzrNtsXg4Pn+MjI5lLmSmQtVSX9/nqh70GJqTxKDLKslmM8ftb3\narfDNajFTySeLQfJY2ms+Q/6zc/ag6S3xQcHz0r9fO3st+UY9tsJvZCYVhIlBllWZR2s0s7s87xX\nkQ7X4eH1KWfLE7Erg3gpKX0bdXk6mPPOlRgYWL3kKqXxvdMSWyvdnmXd7cS00igxyLIqY6JWlqGo\nWUo/aXX/xgNYq5iXvj6xJHFluerIu4+Srngal5uamvKBgbPD/ZD8fvH4JmLJMuvoqW7fl0mJoVxK\nDLKssh6oGuUZitrqINysFJM0rLSxbWBgtY+MbF6IO+2glHTwzN5P0byjOhg6e1bsIJ40fDbrATO+\n3IzDVYlXNEn7t3G/ltHfkZdKSeVSYpBlk7e0EV2vfsAJyj/5R+7UD3KtOm+bHeRHRraESW1iyQGx\nVTJpVlJKOsvP3lE9EyaPqzKUwdIP+Fn7W9L2b6f6LvJQ53N5lBhk2ZRRRhocPCe1w7VVB3CrGNJq\n7PXE0exqZWpqyoeH1/vw8PqFGc5J75PliqndYatpfRZZSkRZ+1uK/B6D39tVDlf54OBZOnj3MCUG\nWTZlnWnWh5+m1/CTO4CbxZB2AB0cPCs22zl4bSZl3cX3SzsDb3XFlLUDOE+fRZZtJpWvmg3dbWf4\ncJ5Z49JdSgyybLIcUPJ2/Na16gBuNcQzOGO+KjwoTnm95LJ+/RVL3j9Yrnl5aGRkc0KyaF4Gy3J2\nH90/9auUVn0Wyfun+QimVh38WeaJ5Hl/6S1KDNIxaROh0urAeWr1jes1OyNu1a8wMzMTGx4KwcE5\nGDZ69pLtrlr1Dh8eXr/QAZ2WlEZGtrTsv4jW8Vv1ByRfmSQnm7yjhqK/m6z3mspz5aDE0F+UGKQj\n2ik3ZB3dk/w+6WfZ+Yeb3r0wuSzY7uLnMDurxUim9DJWYzkF1sRq7fkSx+LrWZNpUrJI2q/tX6U1\nvz2H+hj6hxKDdEQnRq4kHciyjLrJlhji9fV6eSRYb3Hkz9DQOQ3bil8dtKrlx0tWM7HX20kcSYkz\ny75vlrizJvX8iUF9DP1CiUE6otXon6Qz1XYOVlmHfzabSZw2PDTpQG22OvJ+M954lZLU6RxNVK36\nQtISR/21Zp8jy6isLL+f6Laa9SGolLRy9W1iAK4G/gF4AdiZskzJu0uyajYJqtUM2TzljSzbWyw1\nXeUDA2fnunnd0gP1ROTgfNWS9Ro7nZMm1zUrO7UezZR8D6Wso7Lqy7Yz8ql5J3S8P6VR2YlBcxY6\nqy8TAzAA/BC4APgt4GngsoTlSt9hkl3r0k/2A0Sz+nuzg0T+OQHxclTaiKNmZ+aLB976aKH4Npud\n2Z955ttjVylLO5izlsuSh5tm6ZPJs+/i22yeQJpdDeY5yLfTfyX59GtiuAr4VuT5rqSrBiWG3tNO\nB7N76/p747L1bWWZKd3sYNlsVFSzGcrx/onk9ZP2Rb1jNlq+aXdbSZ+zWcJq3H9Zb6iXJ4EkjVIr\na5CClKdfE8N2YF/k+b8GvpSwXMm7S1rJcoBvZ0iqe/OO27TtN5spHY13ZGSzr1r1jqZJq7HentRp\nHe1HCeJYWm5aukx0mOxM4vsGSTGpdLWlYZlWJbXk90pernlJqr581rkUSToxSEGKK5oYzmjnW9+W\n0+Tk5MLjSqVCpVLpWiwrXf2rKYOvsISDB3ewf/804+PjC8uMj4+zf//0wtdRTkwEjxe/9hJOnIC9\ne/fF1oP6109uXVgOppfE0Litf/5nGBn5r6xZc2Dh/erbbYx3YGAi8XPVl2/8bJdddjFwUeo6+/dP\n88EP3sprr8VfO3781dgyH/jATbz++puAyyLLHIu93+Dgv2XVqp/wT/8U39Yzz3yfU6f2LiwTfNaz\nY58zab8EJhka+jETE9NNlxse/iuuvPIPlmyzcf8F52c7GBr6b7Ftlm1i4mYOHtzBiRPB86GhnR19\nv9NBrVajVquVt8EiWaXdH4JS0kzkuUpJPaDM/oMstezGu5xm2Va8zLSlYdmJ1FE/Sdtdv/6d3upm\nd61KYGmvx2MLSj6rVp0fu/oJYm09ES0t/jPOeFtb3yLXbNm0O7Kmabe/QJ3PnUWflpLexGLn8yBB\n5/OGhOVK32GSrp3EkGUY5tLlk+9yWn8965DXpFnN9Y7lLKOistbgm5XA0jrV0/oVorO2l/afZL+/\nUdq9ldJKfXlGikW3leXgrYN87+nLxBDEzdXA88A8sCtlmZJ3lzST9+yvsZ6d9lWWjdo9ICWN3Mky\nL2B09LrEfpBmX5STtQO89TDcrH0U5fUHtPrc7SRhjRzqL32bGDIFp8Sw7BoPKs3OBDtVesozFyLt\nCqHZmXN9zH5ah2+eDvBmI5vS5hsk3Ryw2dDZ6OfLOyqszH3d7Herq4beosQgHZHljDFPjbr8s9jm\nVyitz+TrB/340NK0dZNuFb64bPq3tS0tASXf9TTtPbOMAGu2P5sd4JsdzPMkBl1d9B4lBumILAeG\nbtW9s/RppG0nqRzVWNfPc2WSZXvxq4LkzuakfZT1zqutDv7tzmDX7TL6lxKDdESekUat6t55DhxZ\n5jpk2V7a/ZXi6y69V1JyKems1DkGefoJWpWBkudZtO6cbr3dpbe7yJr4s5SHlBh6jxKDdESWoaV1\nrQ4MeZJMltnRWa4q0u6vFP9czTuGFzuftzRdbmRkiw8Pr/czz3x7xriylYGyJp282826D7P2GaiU\n1HuUGKRjWg0tjS5XRlkirc6eFFcZB70yOnwbk2ezUlG2q4J8sTYul2e7ZY5IUudzb1FikI7Kc7af\nNjoo6YBY5L2avV/emIt07ia9z+Lcimz1/KWlraX3Psq7b7IuX9aIJOk9SgzSUUUOEnnPPPOMOmpc\nL3qAa9bh2nggLDIcNO0KpzGWZn0w8bJX+t1Si+3L5h3+jZQY+p8Sg3RUkfpxOweYrKOOWsWXNVkU\niTlvCa3Zje+yfr9C42dqdqCPvp71RoetPpdKRv1BiUE6rt2DQbtnnnnWy7psux3grb7CcmpqyoeH\n1/vw8PpM9y0Kvl60/e9OiMaZJ2G3s/2kqyt1MveHoomh5++uKt03Pj6+5E6pWcTvovkcAwN3c/z4\n71OtVnNv7/jxY4yNbV/Ybtb1q9Uqe/fu44knniG4s2sWJ4G/jjxO3/ZnPvPlhbuTfuYzO3n3u9/d\nNLbh4Z/z9a9PL1lmy5aNfPvb/45Tp4Lnre44mvWOtglRA/uAn3D8+JtSl0r6nbf/ntJ3imSVTv+g\nK4a+l7c0VF+nvXkE7c8xqCvzaiXrGXaz4bVp2rkCCG7rscazXg0VfU/pHlRKkl7Xbl9DlnkEjcs2\nH12TfvfSdmLNO/Kn3dneafsnb1mn1X5sRaWk/lE0MaiUJD0pWsqol5CyLNvcO7nyyh8zO/tA6hKt\nvkSmXpqCoPxz8ODOpl84U48ty5cg5TE+Ps5tt32Mz3/+rwD4xCc+1nJba9ac3dZ7Rd+z8UuaVEZa\noYpklU7/oCuGFaHomWa762dZL8sQ1mbbK2MIaLsTypZjHelPqJQk/aDoMMes6+cZ0tnpkT151s27\nf9qNRcNNTw9KDCKhTh/os0xoKyu2VtQRLM0oMYiEOnHbiKilo6XSv8Anbf2sZatWVBaSZpQYpDT9\nXmbo9CSx+jqLo6XSv/IzizL6Xvr59yWdo8QgpVgJZ6BFD/R5P2/Rco7KQdIpXU0MwAeA7wO/ATY2\nvLYbmAcOA2OR9o3As8ALwJ0ttt+h3SaNVspBajnPoosm05Wyz6X3FE0MRecxPAdsA/5TtNHMNgDX\nAxuAdcDDZnZJGPBXgI+4++Nm9pCZjbt7tWAcIkD7t+9o972KjOtvNWdCpFssOFYX3IjZI8CEuz8Z\nPt9FkLH2hM+/BUwCLwHfcffLw/YbgC3u/tGU7XoZ8UlrjROwhoZ2FpqAJdlEJ8zluQeUSDNmhrtb\nu+t3aubzecB3I8+Phm1vAEci7UfCdukyzWrtjuW8whHJqmViMLM5YG20CXDgNnf/ZqcCq5ucnFx4\nXKlUqFQqnX7L05YOUiL9qVarUavVStvecpWSZoDbCUpJj7j7hrBdpSQRkZIVLSUNlBlL5PEB4AYz\nGzSzi4CLgcfc/RXgl2a2ycwM+BDwYIkxiIhIQYUSg5lda2YvA1cB/z3sZMbdDwH3A4eAh4BbIqf+\ntwJfJRiuOu/uM0ViEBGRcpVSSuoUlZJERPLrpVLSiletVhkb287Y2HaqVU29EJGVSYkho/o4/7m5\nrczNbWXbth1KDtJ1OlmRTlApKaOxse3MzW2l/kXoMM3o6IGm3wYm0kmalChpenWCm4h02N69+8Kk\nEJysnDgRtCkxSFFKDBnpvjYicrpQKSkH3ddGeolKSZKmaClJiUGkj+lkRZIoMYiISIzmMYiISKmU\nGEREJEaJQUREYpQYREQkRolBREql23T0P41KEpHSaG5Fb9BwVRHpGbqnWG/QcFURESmV7pUkIqXR\nPcVWBpWSRKRUuk1H96mPQUREYrrax2Bmd5jZYTN72sweMLO3RF7bbWbz4etjkfaNZvasmb1gZncW\neX8RESlf0c7nWeBfuvsVwDywG8DMLgeuBzYA7wfuMrN69voK8BF3vxS41Mx0nSki0kMKJQZ3f9jd\nT4VPHwXWhY+3Ave5+xvu/iJB0thkZucCq9z98XC5e4Bri8QgIiLlKnO46oeBh8LH5wEvR147Grad\nBxyJtB8J20REpEe0HK5qZnPA2mgT4MBt7v7NcJnbgJPu/rdlBzg5ObnwuFKpUKlUyn4LEZG+VqvV\nqNVqpW2v8KgkM7sR+FPgD93912HbLsDdfU/4fAa4HXgJeMTdN4TtNwBb3P2jKdvWqCQRkZy6PSrp\nauCTwNZ6UggdAG4ws0Ezuwi4GHjM3V8Bfmlmm8LO6A8BDxaJQUREylV05vOXgUFgLhx09Ki73+Lu\nh8zsfuAQcBK4JXLqfytwN/Bm4CF3nykYg4iIlEgT3EREVhjdRE9EREqlxCAiIjFKDCIiEqPEICIi\nMUoMIiISo8QgIiIxSgwiIhKjxCAiIjFKDCIiEqPEICIiMUoMIiISo8QgIiIxSgwiIhKjxCAiIjFK\nDCIiEqPEICIiMUoMIiISo8QgIiIxSgwiIhJTKDGY2V+a2TNm9rSZPWxm6yKv7TazeTM7bGZjkfaN\nZvasmb1gZncWeX8RESmfuXv7K5ud6e6vh48/BrzL3f/UzC4H7gXeA6wDHgYucXc3s+8Bf+buj5vZ\nQ8AX3b2asn0vEp+IyOnIzHB3a3f9QlcM9aQQ+l3g1fDxVuA+d3/D3V8E5oFNZnYusMrdHw+Xuwe4\ntkgMIiJSrjOKbsDMpoAPAb8C3hs2nwd8N7LY0bDtDeBIpP1I2C4iIj2iZWIwszlgbbQJcOA2d/+m\nu38K+JSZ7QTuBG4qM8DJycmFx5VKhUqlUubmRUT6Xq1Wo1arlba9Qn0MsQ2ZnQ885O7vNLNdgLv7\nnvC1GeB24CXgEXffELbfAGxx94+mbFN9DCIiOXW1j8HMLo48vRZ4Onx8ALjBzAbN7CLgYuAxd38F\n+KWZbTIzIyhBPVgkBhERKVfRPobPmdmlwG+AHwEfBXD3Q2Z2P3AIOAncEjn1vxW4G3gzwRXGTMEY\nRESkRKWVkjpBpSQRkfy6WkoSEZGVR4lBRERilBhERCRGiUFERGKUGEREJEaJQUREYpQYREQkRolB\nRERilBhERCRGiUFERGKUGEREJEaJQUREYpQYREQkRolBRERilBhERCRGiUFERGKUGKQU1WqVsbHt\njI1tp1qtdjscESlA3+AmhVWrVbZt28GJE3sAGBrayf7904yPj3c5MpHTU098g5uZTZjZKTMbjrTt\nNrN5MztsZmOR9o1m9qyZvWBmd5bx/tJde/fuC5PCDiBIEHv37ut2WCLSpsKJwczWAaPAS5G2DcD1\nwAbg/cBdZlbPXl8BPuLulwKXmplOK0VEekgZVwxfAD7Z0HYNcJ+7v+HuLwLzwCYzOxdY5e6Ph8vd\nA1xbQgzSRRMTNzM0tBOYBqYZGtrJxMTN3Q5LRNp0RpGVzWwr8LK7P7d4QQDAecB3I8+Phm1vAEci\n7UfCdulj4+Pj7N8/vVA+mphQ/4JIP2uZGMxsDlgbbQIc+BTwFwRlJDnNjY+PKxmIrBAtE4O7Jx74\nzez3gQuBZ8L+g3XAk2a2ieAK4R2RxdeFbUeB8xPaU01OTi48rlQqVCqVViGLiJxWarUatVqttO2V\nNlzVzH4MbHT3X5jZ5cC9wHsJSkVzwCXu7mb2KPBx4HHgfwBfcveZlG1quKqISE5Fh6sW6mNo4ARl\nJtz9kJndDxwCTgK3RI7wtwJ3A28GHkpLCiIi0h2a4CYissL0xAQ3ERFZOZQYREQkRolBRERilBhE\nRCRGiUFERGKUGEREJEaJQUREYpQYREQkRolBRERilBhERCRGiUFERGKUGEREJEaJQUREYpQYREQk\nRolBRERilBhERCRGiUFERGKUGEREJEaJQUREYgolBjO73cyOmNmT4c/Vkdd2m9m8mR02s7FI+0Yz\ne9bMXjCzO4u8v4iIlK+MK4bPu/vG8GcGwMw2ANcDG4D3A3eZWf2Lqb8CfMTdLwUuNbPxEmLoqlqt\n1u0QWuqHGEFxlk1xlqtf4iyqjMRgCW3XAPe5+xvu/iIwD2wys3OBVe7+eLjcPcC1JcTQVf3wx9IP\nMYLiLJviLFe/xFlUGYnhz8zsaTP7GzN7a9h2HvByZJmjYdt5wJFI+5GwTUREekTLxGBmc2GfQP3n\nufDffwXcBfyeu18BvALs7XTAIiLSWebu5WzI7ALgm+7+LjPbBbi77wlfmwFuB14CHnH3DWH7DcAW\nd/9oyjbLCU5E5DTj7kll/kzOKPLGZnauu78SPr0O+H74+ABwr5l9gaBUdDHwmLu7mf3SzDYBjwMf\nAr6Utv0iH0xERNpTKDEAd5jZFcAp4EXg3wC4+yEzux84BJwEbvHFS5NbgbuBNwMP1UcyiYhIbyit\nlCQiIitDT8x8NrM7wolwT5vZA2b2lshrPTNRzsw+YGbfN7PfmNnGSPsFZvaryES/u3oxzvC1ntmf\nDXHlnizZLWZ2tZn9Q7ivdnY7njoze9HMnjGzp8zssbBttZnNmtnzZlaNjBxczri+ambHzOzZSFtq\nXN36fafE2XN/l2a2zsy+Y2Y/CAcDfTxsL2+funvXf4A/AgbCx58DPhs+vhx4iqDkdSHwQxavcr4H\nvCd8/BAwvgxx/gvgEuA7wMZI+wXAsynr9FKcG3ppfzbEfDvwiYT21Ji79Lc6EMZwAfBbwNPAZd2K\npyG2HwGrG9r2AP8hfLwT+FwX4nofcEX0/0haXM3+z3cpzp77uwTOBa4IH58JPA9cVuY+7YkrBnd/\n2N1PhU8fBdaFj7fSQxPl3P15d58neVLfkrYejLPXJx5mniy5rFHFbQLm3f0ldz8J3BfG2AuMpVWA\na4Dp8PE0Xfi9uvtB4BcNzWlxJf6f72Kc0GN/l+7+irs/HT5+HThMcMwsbZ/2RGJo8GGCM1bor4ly\nF4aXmo+Y2fvCtl6Ls9f3Z57Jkt3SGE+3f6dRDsyZ2eNm9idh21p3PwbBAQV4W9eii3tbSly99vuG\nHv67NLMLCa5yHiX9d5071qKjkjIzszlgbbSJ4A/5Nnf/ZrjMbcBJd//b5YqrUZY4E/wEeIe7/yKs\n6X/DzC7vwTi7qlnMBJMl/9Ld3cymCCZL/snSrUgTm939p2Z2DjBrZs8T7N+oXh1t0qtx9ezfpZmd\nCfwd8Ofu/rotnffV9j5dtsTg7qPNXjezG4E/Bv4w0nwUOD/yfF3Yltbe8ThT1jlJeAnq7k+a2f8B\nLu21OJvCv92RAAABsUlEQVTE07E4o3LE/J+BenJblthyOAq8I/K82/EscPefhv/+3My+QVAuOGZm\na939WFgy/FlXg1yUFldP/b7d/eeRpz3zd2lmZxAkha+5+4Nhc2n7tCdKSWFP/yeBre7+68hLB4Ab\nzGzQzC5icaLcK8AvzWyTmRnBRLkHl2y4w2EvPDBbY2YD4ePfC+P8Ua/FSQ/vz/APua5xsuSSmJcz\ntgaPAxdbMBJtELghjLGrzOx3wjNIzOx3gTHgOYLYbgwX28Hy//3VGUv/Fm8MH0fj6vbvOxZnD/9d\n/hfgkLt/MdJW3j5djl70DL3s8wS3y3gy/Lkr8tpugl70w8BYpP1Kgj/8eeCLyxTntQS1uhPAT4Fv\nhe31P5gngf8N/HEvxtlr+7Mh5nuAZwlG+XyDoF7aNOYu/r1eTTASZB7Y1e14wpguCvfdU+HvcVfY\nPgw8HMY7C5zVhdi+TlBu/TXwj8BNwOq0uLr1+06Js+f+LoHNwG8iv+8nw7/J1N913lg1wU1ERGJ6\nopQkIiK9Q4lBRERilBhERCRGiUFERGKUGEREJEaJQUREYpQYREQkRolBRERi/j8qixgWMJZyuAAA\nAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0e613b0fd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter([x[0] for x in tsne],[y[1] for y in tsne])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'title' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-20-7cea0497790c>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0maxes\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtitle\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtitle\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m: name 'title' is not defined"
     ]
    },
    {
     "data": {
      "image/png": "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\nSWrMyEtSY/8LkDqzw0fZnlYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0e612bef50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.axes()\n",
    "plt.title(title)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "for i,pos in enumerate(zip([x[0] for x in tsne],[y[1] for y in tsne])):\n",
    "    plt.text(pos[0],pos[1],i)\n",
    "    if i > 30:\n",
    "        break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "enumerate(zip([x[0] for x in tsne],[y[1] for y in tsne])).next()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "plt.axes()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}