{ "metadata": { "name": "", "signature": "sha256:f352a199ae456c320ba74523046fabe6ce10e1c67b1cd0745ce45daab6e567ff" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "%load_ext autoreload\n", "%autoreload 2\n", "\n", "import numpy as np\n", "import matplotlib.pylab as plt\n", "from pymks.datasets.microstructureGenerator import MicrostructureGenerator" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "n_phases = 2\n", "n_samples = 50\n", "N = 25\n", "size = (N, N)\n", "X0 = MicrostructureGenerator(n_samples, size, n_phases=n_phases, grain_size=(2, 25)).generate()\n", "X1 = MicrostructureGenerator(n_samples, size, n_phases=n_phases, grain_size=(25, 2)).generate()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "plt.imshow(X0[0])\n", "plt.figure()\n", "plt.imshow(X1[1])\n", "plt.colorbar()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "from pymks.bases import DiscreteIndicatorBasis\n", "\n", "basis = DiscreteIndicatorBasis(n_states=n_phases)\n", "X0_ = basis.discretize(X0)\n", "X1_ = basis.discretize(X1)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "from pymks.stats import autocorrelate\n", "from pymks.stats import crosscorrelate\n", "\n", "X0_auto = autocorrelate(X0_)\n", "X1_auto = autocorrelate(X1_)\n", "X0_cross = crosscorrelate(X0_)\n", "X1_cross = crosscorrelate(X1_)\n", "\n", "print X0_cross.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(50, 25, 25, 1)\n" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "X0_pca = np.concatenate((X0_auto, X0_cross), axis=-1)\n", "X1_pca = np.concatenate((X1_auto, X1_cross), axis=-1)\n", "\n", "size = np.array(X0_pca.shape)\n", "new_size = (size[0], np.prod(size[1:]))\n", "#X0_pca = X0_pca.swapaxes(1, -1).reshape((n_samples, np.prod(np.array(size)) * (((n_phases * (n_phases - 1)) / 2) + n_phases)))\n", "#X1_pca = X1_pca.swapaxes(1, -1).reshape((n_samples, np.prod(np.array(size)) * (((n_phases * (n_phases - 1)) / 2) + n_phases)))\n", "#X0_pca = X0_pca.swapaxes(1, -1).reshape((X0., np.prod(np.array(X0_pca[0].shape))))\n", "X0_pca = X0_pca.swapaxes(1, -1).reshape(new_size)\n", "X1_pca = X1_pca.swapaxes(1, -1).reshape(new_size)\n", "X_pca = np.concatenate((X0_pca, X1_pca))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "from sklearn.decomposition import PCA, KernelPCA\n", "\n", "pca = PCA(n_components=2)\n", "X_r = pca.fit(X_pca).transform(X_pca)\n", "PCA(copy=True, n_components=2, whiten=False)\n", "print(pca.explained_variance_ratio_) " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 0.75864303 0.07148984]\n" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure()\n", "M = 50\n", "plt.scatter(X_r[:M, 0], X_r[:M,1], color='red')\n", "plt.scatter(X_r[M:, 0], X_r[M:,1], color='blue')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nLq/d4ZL5VwAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "kpca = KernelPCA(n_components=2, fit_inverse_transform=True, kernel='linear')\n", "X_kpca = kpca.fit_transform(X_pca)\n", "X_back = kpca.inverse_transform(X_kpca)\n", "print X_kpca.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(100, 2)\n" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure()\n", "plt.scatter(X_kpca[:M, 0], X_r[:M,1], color='red')\n", "plt.scatter(X_kpca[M:, 0], X_r[M:,1], color='blue')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEACAYAAAC9Gb03AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XecVOX1x/HPVnZnlyZVQcWAEQHFiigCq6IgFrBrEltU\niBFNgh2NoCY2UgyJIjGK5CdRMDY0Ipa4VrBEQEUXRIIgXdp2tt3fH2cnM7Mzuzu70+9+36/XvHbK\nnXufpZy5c55zzwMiIiIiIiIiIiIiIiIiIiIiIiIiIhJljwNbgM8beb0A2A0srb/dHp9hiYhItAwH\nDqfpQL8gbqMREZEA6VHYx7vAzma2SYvCcUREpBWiEeib4wDHAcuBV4ABcTimiIhEWR8aT920Bzz1\n908FVsVjQCIiYjLjcIwSv/sLgYeBvYAd/hv17dvX+eabb+IwHBERV/kG6NfUBvFI3fTAl6MfUn9/\nR8ONvvnmGxzHSfrb1KlTEz4GN4xR49Q4k/2WKuME+jYXhKNxRv8UMBLoCqwHpgJZ9a/NAs4FrgZq\ngHLgwigcU0REwhSNQH9RM68/VH8TEZEEiEfqxlUKCgoSPYRmpcIYQeOMNo0zulJlnOFIpvp2pz7f\nJCIiYUpLS4NmYrnO6EVEXE6BXkTE5RToRURcToFeRMTlFOhFRFxOgV5ExOUU6EVEXE6BXkTE5RTo\nRURcToFeRMTlFOhFRFxOgV5ExOUU6EVEXE6BXkTE5RToRURcToE+zoqL4Sc/gQMOgIICWLky0SMS\nEbfTwiNxNmIEfPQR7NkDaWnQuTOsWgVduiR6ZCKSirTwSJLZtQuWLLEgD+A4UF0N776b2HGJiLsp\n0MdRdrYF94ZycuI/FhFpOxTo48jjgQkT7CdAu3aw//5wwgmJHZeIuJty9HHmODB7Nrz9NvTtC9df\nD3l5iR6ViKSqcHL0CvQiIilMk7EiIqJALyLidgr0IiIup0AvIuJy0Qj0jwNbgM+b2GYG8DWwHDg8\nCscUEZEwRSPQzwbGNPH6WKAfcCAwAZgZhWOKiEiYohHo3wV2NvH6mcCc+vsfAp2AHlE4rrjEli3w\n4ot2bUFdXaJHI+I+mXE4Ri9gvd/j74DeWLpH2riPPoJRo6zBW10dDB0KCxdCZjz+ZYq0EfGajG1Y\nzK8rowSAH/8YSkqsfXNpKSxeDHPnJnpUIu4Sj/OmDcC+fo971z8XZNq0af+7X1BQQEFBQSzHJUlg\n48bAx+XlsG5dYsYikgoKCwspLCxs0Xui1QKhD/AScEiI18YCk+p/DgUerP/ZkFogtEHDh9tZfG2t\nPc7Lg3/+E8Y0Nb0fA8XF8Pnntj7AwQdbKkkkFYTTAiEaZ/RPASOBrlgufiqQVf/aLOAVLMivBsqA\ny6NwTHGJefPgpJPgv/+1HP2NN8Y/yH/2mXUQramx9QHOPRfmzFGwF/dIpn/KOqNvoxwHtm2D/Hxf\nC+d46t8/cEnHvDwL9OecE/+xiLSUmppJqyxdCj/8IeTmwhFHwJo1sTnO7Nm2hKLHA1dfHXpRlnhY\nuzbwcWWlLe8o4hYK9C63ciUMGQLdusHJJ8OmTU1vv3MnnHgifP21Bbzly2HkSEtpRNPbb8OkSbBj\nhx3nlVfgqqvCf/+ePXDJJfYh0bkzzJgR/nu3boUzzoCBA+Gaa6Bfv8A0TU4OHBJqtkkkRala2cV2\n74ZhwyyYOg4UFlouesUKyMgI/Z5lywLPrOvqLPivXQsHHhi9sS1aZBU2XpWV8Oqr4b9/8mSbtK2o\nsNutt8IBB1gAb8rOnbDffr51e7/8EgYMgO7dbTxVVXDFFXDaaS3/nUSSlQK9i/3nP3Ym7g3cNTWw\nfr3d+vQJ/Z7OnYPP3quroVOn6I6tWzdbStEbcL3HDtfLL1uA9yovt6trmwv0N98ceEyAoiKbkPWO\nYZ99wh+HSCpQ6sbF8vODWwrU1DS9dOHgwXY2m5dnZ/15eXDddRaYwfb3wgvw4IPw3nutH9sVV0Cv\nXpZ6yc62+YCZLeiC1KVL4OOsLOjZ0+4/+yxMnAh3321lk/7WryeI49j7Bw5UkBd3UtWNi9XVwejR\n8MEHdsabl2dXos6a1fz7nn0WVq+2wD92rD3vOFZ6uGiRfWBkZMC0aVYS2RqlpfDUU3Zl7CmnwKBB\n4b/3gw/sPdXVNo5OneysfOZMuO8++32zsy1Ns3y5r5pn1qzgid+uXa3fTrpOeyQFac1YoboaHnvM\nJmWPPhouuqj19eGLF9uEblmZ77msLMt7J2KB81Wr4F//sm8DF1xgwT4nx/LsXvn58OijcOGF9thx\nYMIE+zNxHDuD/+QT2Hvv+I9fJBoU6CWqFiyAiy8OTIfk5tqZfzKkPGpqLNB7r7IFO5MfPtw+iEaN\nspROerpN/lZVQYcOiRuvSDQo0EtUbdwIBx1kKRewgNmtGxx2mAXOq6+2M+tEOv10eOMN34RrWpp1\nwqyutqB/2WXw0EOwa5eld/beW1fASmpToJeoe+cdS4Ns3Qr772/Bv7LSXvN44OGH4dJLY3f8DRtg\n+nT4/ns47zwYNy7w9bIyq41/4w2r6tm8ObCMMyPD6vUff9w+qPr1g3//2zfZLJJqFOglZhzHKmdm\nzw58fuBA+OKL2Bxz82absN21y9IzHo8F/Z//PPT28+bBlVf6voGAnb1nZ/vO+NPTbVJ34cLYjFkk\n1tQCQWImLS10yiOWaZAnn7QKHW8Ovrwc7ryz8e1POsmCureaJifHztz96+jr6uDdd1s3nooKe++S\nJTY/IJKsFOil1a6+OrAJmcdjFyTFSmVl4EQrNN2aoWtXC8InnWSNyy6/3Gr3G2q4z3Bs3Gj7PP10\nm+Q99FAr+WzNvrwWLrT9nXWWVTiJuJEjqWfxYsc57TTHOekkx5k/P7bHWrHCcTwex7HEkd2/9tqW\n7eOKK3zv994GDbLX6uoc509/ssdHHeU4r77a+H7GjXOczMzA/WRlOc6RRzpOSUnLf7cXXwz+3RYv\nbvl+pO0hxVbsS/Sfl6SA9993nCFDHOfAAx1nyhTHqa5u2fuLihwnP98XUHNyHOe11+y1P/4xMNjm\n5jrOe+8Fvn/HDsf5+c8Dt/O/5eQ4zuTJLf+9jjkmeF8XXNDy/UjbQxiBXr1uJKUcdxx8+GHr33/Q\nQfDpp/DII5YKuvhiW5Ac7Kpa/wqdigqbbB42zB5XVtq2a9cGXpTlz9vxs6VCpXyU95doUaCXNufA\nA+H3vw98rrbWunz6S0uzEk2vDz6wNs+NBXmvnJzgfb/wglUNHXus9fhvaPJkqxDyftDk5lobZ5Fo\nUKAXAW6/PbgBWnp6YLCtqwtuEheK/xl9ba0tjeitzElLs28Tl1wS+J6LLrLjzZhhbSVuuw0KCpo/\nVlmZrXXbvr21W9bFXxKKqm5EsKUDG56pp6VZewew6p7s7OCz9VD8yzcXLrQgX1pqaZ2KCvjZz4JX\n01q+3N533322bsDJJ/tee+89+yYwcCD89re+D5vVq6FvX2tcN2QInH12ZFU/4l46oxchMEXjVVtr\nZ8vDh1ueft06C7IZGfbT2964ttYXfD0e+MlPfPvYujU4qO/ZYx8q3mM+/LB1AE1Pt20vvdTaNIB1\n5Bw92pfSueceu//b31on0m3bfMd+7TX4+9+tjFTEn87oRbAA2jDtkZtra+fedJOdPZeWWpDNyLC6\n+RNOgGuvtfz7IYfYClfXXgsPPODbx3HHBaZ7MjLs6l5vkC8ttfx8ebndLyuDJ57wpX/mzw9eYOWx\nx+z+118H7ru83FbMEmlIZ/QiWI68pMQCNdjZ9fjxcM458Ic/BKZ1qqosJ/7vf/uea2xlq/794emn\n7Sy9uNj6+y9Y4Hv9+++Dl3XMyrILsgYP9l3Z65+SycqynwMGWFrI+1penr1HpCGd0YvUmzDBUiFv\nvmk96p980s7yjz46MDefkwPHHBP+fs8803r2V1fb8o7+V+f27h3cy7+mxhewzzsv8JtGdjZMnWr3\n5861feXn25jOOsvSOSINJdMcfX3tv0hyKSuzyVFvOuWII2yVLf/2D41xHAvyGRnQsWPobT77zFbx\n2rLF9jl/vuXlwVb0WrDA1+ohKwveestX219VZSmc/HzrJiptj7pXikSJ48A339jZ9Q9+EF4ZY3m5\ntVF+5x17/9ln27eEzEYSpqWldnbvv+/27QO7bwL86lf2LeHVV61J25VXNv4hIu6nQC8SJ1u2wPPP\n2+TouHGWUpk0ySZO/fv133FHyxq/5eb63u+VmWln9hUVNqm7zz72baN9+8h/j8pK26fq8VOH2hSL\nxMG339rE6OTJcP31dr+oyFoY+wfp8nI7uw+lthbuusuqd0aOhI8/tud79AjetqbGV4mzZ499yPzj\nH5H9DuvXWzVQXp7dnnwysv1JclGgF4nQr39ti6FUVFhgLymxuvi+fQMrarKzrf1CKDfdBPffb4u2\nvPOOlW6uXNl4NY+/6urg9E5LnX66fTjV1dnvMXFi63r2SHJSoBeJ0ObNgfXsjmNn2TNmWA69fXu7\n7b8/TJsWeh+PPx7YUK2yEp57zmryG8vpe2Vm+iZvW6Omxi4Ma3hV7ZIlzb/XcaxS6fvvW398ib1o\nBPoxQBHwNRAq+1gA7AaW1t9uj8IxRZLGuHHBC7CMG2elk6tWwVNPwTPPWHVNp06h99EwmGdkWB4+\nN9fSQekN/qd6V/jabz+7YGvQoNaPPzMzOL+fnm4LpzelshJOPdV+z1697FtBcw3fJDVlAKuBPkAW\nsAw4uME2BcACmpfIls4irVZX5zi33GI96nNzHWfSJMepqWnZPvx74aenO07nzo6zYYO9Vl3tOD/7\nmeNkZAT2q09Pd5zzzw+9v5oax1m71nF27w7v+M89Z8fPz7fbqac6Tm1t0++54Qbrv+/fv3/KlPB/\nZ4kOwuhHH+nc+rHAVOysHuCW+p/3+W1TAFwPNJdtrB+zSNs0b57V0Hftat0r99sv8PXhw63BWcPn\nGk7wrl4NJ54I27dbWmbqVJgypfnjFxVZr//u3S0V1PBbREOHHBK8EPyIEfD2280fS6InnKqbSFsg\n9ALW+z3+Dmh4zaADHAcsBzYANwDqyCHSwAUX2K0xZ55pi6Z4c/kejz3X0Pjx8N13vmZq99wDxx9v\nQdjfBx/AdddZH/7x461zZv/+4Y31scfgq68Cn8vKsoVdJPlEGujDOQX/FNgXKAdOBV4Afhhqw2l+\nM1UFBQUUhNOQW6SNuP56C+CzZtnjq66yks6GiooCO2bW1NgHhH+gX7kSTjnFrvoF65FfXAx/+1vz\n46ithWuuCZ687doV7r23Zb+TtFxhYSGFhYUtek+kqZuhwDR8qZtbgTrg/ibe81/gSKDBej5K3YiE\nw/vfpLGLmnr3hg0bfI/z860uftw433PTp1t6yNtaAax+PpwyzeJi6NIlcKnD3FxrrawWyfEXjwum\nPgEOxCZjs4ELCJ547eE3iCH19xsGeREJk7fipjHz5lkVTceOFrzHjg1O8eTkBHfNzM4O7/gdOkC/\nfoE5/LS04NSQJI9IA30NMAlYhOXd5wFfARPrbwDnAp9jFTkPAhdGeEwRacKwYdbo7KmnrAHa008H\nfzD86Ef2QeAt6/R44M47wz/GokW24lV6Ouy1l5WP9u0bvd9BoiuZOloodSMSR1u22CLp27bZZKx/\naidcdXXNV+dIbKmpmYiIy6mpmUgbs3u3rYh1222NN1CLl2XLbCGUc86B119P7FjaOp3Ri7hESYmt\nTLVxo3W19Hhg5ky45JL4j2XZMqvd95ZvejzWYbM16SFpms7oRdqQuXOtwdqePfa4vNxq7yNRXW0t\njL37DNeMGb4g7x3LXXdFNhZpPQV6EZcoLg6si4fAjpiheDvVhPLee9Z9s39/q6x58cXwxxKquZl/\n3b3ElwK9iEuMHh1YC5+TA6edFnrb8nJb2jA722rtf/e7wNcrKuy9u3fbtuXlVpK5aVN4Y5kwwS6i\n8vJ4bMUtSQwFehGXGDwYnn0WDjgAOne2QP7EE6G3nTQJFi70rVY1dWrgGfu33wb22AfrZdOwv01j\nRoywpRWPPdYWU58xw1o2SGJoMlakDerVyyZt/V19NTz8sN3fvRt69gxcCjE313rq9+sXv3FK8zQZ\nKyIhde8e+Dg7O3ChkY4d4S9/seDeoYP9nDJFQT5V6YxepA1asgRGjfJd2dq9u3W4bLgC1urV8OWX\n1t5g4MDEjFWapitjRaRRa9ZYzxqPxy5qys9P9IikNRToRURcTjl6ERFRoBcRcTsFehERl1OgF5E2\npam2D26lQC8ibUJNjV2dm5Nj1wXcckvbCfgK9CISN6tXW6uFzz+P/7HvvNNaJVdVWTfOP/8ZZs2K\n/zgSQYFeROJizhw49FDrj3/MMdZfJ55efjmwm2d5Obz0UnzHkCgK9CIScyUlMHGiNVArLraf06fD\nypXxG0PPnoGLpGdmwj77xO/4iaRALyIxt2WLBVZ/2dmwbl38xvCHP0D79paf93isw+e0afE7fiLp\nylgRibk9e6BHD+uK6eXxwKpV1kkzXjZssHRNRoa1ce7SJX7HjhW1QBCRpLF4MYwd61uWcO5cOOus\nxI7JDRToRSSp1NTYurbdukG7dokejTso0IuIuJyamomIiAK9iIjbKdCLiLhcNAL9GKAI+Bq4uZFt\nZtS/vhw4PArHFBGRMEUa6DOAv2DBfgBwEXBwg23GAv2AA4EJwMwIjykiIi0QaaAfAqwG1gLVwNPA\nuAbbnAnMqb//IdAJ6BHhcUVEJEyRBvpewHq/x9/VP9fcNr0jPK6IiIQps/lNmhRu4XvDGs+Q75vm\n13iioKCAgoKCVg1KRMStCgsLKSwsbNF7Ir1gaigwDcvRA9wK1AH3+23zCFCIpXXAJm5HAlsa7EsX\nTImItFA8Lpj6BJtk7QNkAxcACxpsswC4pP7+UGAXwUFeRERiJNLUTQ0wCViEVeA8BnwFTKx/fRbw\nClZ5sxooAy6P8JgiItIC6nUjIpLC1OtGREQiTt1ILNXWwmOPwWefwWGHweWX24oJIiItoECfrBzH\nlsB54w1bxdjjgUWLYP78wIUvRUSakUwRQzl6f199BUcdFbhsfW4ufP459O2buHGJSFJRjj6VlZUF\nr6acmWnPi4i0gAJ9sho40Jas9+bkMzJs2fr+/RM7LhFJOQr0ySo3F95/H4YNg+7dYfhweO89yM5O\n9MhEJMUoRx9N1dU2eVpaCscfD3vvnegRiYjLhZOjV9VNS1VXw3PPwfffw8iRMGiQPV9ZaWfdRUW+\nqpjCQjjiiIQNVUQEFOhbpqoKRoyAFSusxh3gqadg3Dh49FF7vqLCt/1ll1kNvIhIAilH3xLPPANf\nfGGpmYoKu115pb327beBQR5g48b4j7GlqqqsZl9EXEuBviW2brXUjb9du+zn8cdDXp7v+awsOPbY\n+I2tpb77Dg491CZ927eHefMSPSIRiREF+pYYMSKwBYF/MB8/HiZPtlr3zEw4/HB44omEDDMsp50G\nX34JdXVWm//Tn9rFWCLiOqq6aal//AOuvtrSN8ceC88/D926+V6vqrKJ2Q4dEjfG5lRXQ7t2gSkb\njwf++EeYMCFx4xKRFgun6kaBvrXq6iA9il+IHMcmeBteDRsLjmMfRKWlvufy8+1D7IwzYn98EYka\ntUCIpWgG+blzLU+enW39bTZvjt6+Q0lLg9mzLT/v8ViQHzbM0jki4jo6o0+0Tz+1iVxvxU5mJhx5\nJCxZEvtjr1gBixdDjx4W5KP54SUicaELplLB++8H5sprauDjj+25WLcjHjjQbiLiajqFS7QePYIX\nE+nYUT3nRSRqFOgT7eyzrU1Cfr7lyz0ey5+LiERJMp02ts0cPVi65uWXYds2mxQdMCC+x6+rg7Vr\nreSyV6/4HltEIqLySrfbuhX+/ne74Gn8eBg8GFatsgu1HAcuvrj5D40dO+DEE+Hrry3gjx1rV8nG\no8xTRCKmQO9mmzdbC4Pdu+0bQU4OzJgBv/ylLT/oOJYGevttq+JpzEUXWTfOqip77PHAb34Dv/pV\nfH4PEYmI6ujd7E9/gp07LUDX1VlwnzzZzu7r6izQl5XB7bc3vZ9PPvEFebD9fPhhbMcuInGlQJ+q\nduywM3l/oTpR7t7d9H4OOiiw6icnRyWXIi6jQJ+qzj7b0ixeublQUBD4nMcDl1zS9H4eecRWwurQ\nwSp/Bg+GG26IyZBFJDGUo09ls2fDbbdZE7ULL7R0zqxZ8MADlr75xS8saDdXk19ebimc7Gw4+ujg\nun4RSVqajJWWKS62FbPKymDMmPiWeW7ZAosWWevn00+33j8i0qxYB/q9gHnA/sBa4HxgV4jt1gLF\nQC1QDQxpZH8K9Im0axccdpiVbHq7aL78Mpxwgm+bmhqYPx82bbJ6/6FDo3PsoiJr+Vxdbd8+One2\nHkBdu0Zn/yIuFuuqm1uA14EfAm/WPw7FAQqAw2k8yEuiPfKIBfCKCpvULS+3vvtetbVWbz9hAkyZ\nAiedBH/9a3SOfe21NmlcVmatkzdvht/+Njr7FpGIAv2ZwJz6+3OA8U1sm0wpIgll69bAMkuw8k2v\nhQth6VILxt4Pguuui856sxs2BO6nutrW4BWRqIgk0PcAttTf31L/OBQHeAP4BLgqguNJLI0dG1ix\nk5Njz3lt3x4c1GtqYM+eyI89apRVDXl5PDZHICJR0dx17q8DPUM8f1uDx079LZRhwCagW/3+ioB3\nQ204bdq0/90vKCigoKCgmeFJ1IwaBQ8+CDffbOmbM8+Ehx/2vT5sWGCgz8yEQw6xD4RwLFhgV+nu\nt5+lf/wD+wMP2Fn9iy9ajv5nP4OrdE4gEkphYSGFhYUtek8kKZUiLPe+GdgbeAvo38x7pgKlwO9D\nvKbJ2GS3aBFceqldrHXUUdY6oWf9ecC2bXDXXbBuHZxyiuX3vQuZ3HUX3H+/pXtycqB/f7v6Njs7\ncP/V1fYelXeKhC3WVTcPANuB+7GJ2E4ET8h6gAygBMgDXgPurP/ZkAJ9qioutqtpt2yxYO3xwBVX\nWO+dmho7e/e/ilfr04pETayrbu4DTgZWASfWPwbYB/hX/f2eWJpmGfAh8DKhg7yksldesfLM6mp7\nXF4OM2dapU6otgwAJSXxG9+339qqXfE8pkgSiaQX7Q5gVIjnNwLeVabXAIdFcAxJBdXVwcHccezq\nXI/H6u0//thX1ZOWBiNHxmdsN90Ef/6zpYkyMuD115vu5iniQup1I5EbPdoCqTcnn5trvXiysuzx\nSy/BqafaBVCDBsGbb8ZngZO33rIJ5cpKSy/t3Gl9+0XaGK0uIZHr3t0mV6+7zqpnTj4Z7rnH93rn\nzvDCC7E7fmmp9fjZvNmqh0aPtueLiuxbhb8NGyylpAlfaUOS6UImTcZKy5WXw+GHW7VPZaWliu6/\nHyZNgsJC65tTVubbvndvWL8+YcMViTYtPCLu9+yzdpZeWWmPy8vhlvrir4IC+PnPraSzQwf7ZvHi\niwkbqkiiKHUjqa20NDg9U1lpk8FpaXYx1qRJ1uKhf38r7RRpYxToJbWNGhXYb79dO2u45v/cfvvZ\nrbUqKizf36EDdOxoTd2KiuC442DatPCvDhZJEOXoJfW98461Vdi+3TpsnnEGrFhhk7PbttnVu3fc\n0bpgv3o1DB9ueX7verxeubn22quvNr+4i0iMaOERSQ6LF8ONN9pFVRdeaGfE6TGaHvrVr+DRRwMn\nYDMyoFMnC/49Guu914ijjrKunQ3TQ/77XrHC1t6NJseB//s/m4Po3h1+/evIvpWIa4UT6JOJIy60\nYoXjeDyOY6HL7t98c2yOtWOH42Rn+47lf8vJcZwZM2y7v/3NcQYNcpzBgx1n/vym99m+fej9+d/2\n289xSkqi+7vcc4/vzy0jw3H22stxNm2K7jHEFWi8oeT/qOpGYuuZZ3wVMWBVMY89FptjlZRYV81Q\n6uqsfn7OHKv3/+ILWL4cLrvMVtLyeuklGDHC8u9nnx3eN4/t2+H556PyK/zPAw/YnxXYuMvKbI3g\nG2+0cT30UOPfMkQa0GSsxFZWlgVL/6DkvWI22nr3titu16yx4OiVlmZX7o4fDxdd5AugYPdnzbIr\nd59+Gq68MvCDKRx1dYH7jAb/8Xsf//739mFWVWWdRD/7zMYu0gyd0UtsXXKJlTR6z4w9Hrj99tgc\nKz3dLpI6/nirkOne3XLno0bBBx9Anz5WldNQcTHstRdcfHHLg7z3uKecEtnYa2th8mQbR48e1o/H\nfyGYzEwbm7dfkPebUWvGK22Ozugltnr3tsnMe++1PvYXXgjnnBO7433zDaxda43WDj3UUkc9/dbO\nueMOu1q2osIep6fbh4B/G+XmZGZaMHYc+zCZORMOOAC++w5+8xtr1zx+vH3IeatxHMeCdKgPGoC7\n77azc+83g9JSG2dREXTpYqt93XVX4HvS0oLP/EWSXKLnNCTVrVvnOHl5vknSzEzHOfTQ4O2eecZx\nsrKan2T13tq1c5yePW1CNz/fcfr1C54Y3bLFcbp2tYlT76Tz3XfbazNn2j7S0x3nqKMcZ/Pm4DEd\nfHDwcc8/3/f69u2O06WL7cM7uTxmTPT+7CRlEcZkrM7oxT3efz9w8rSmBr780lIzHTr4nn/22abP\n4NPTrbXynj02CXriiTB9ul1dW1EBBx4YPOn7zDNWPuo9wy4vt28xI0bA9df71tZdtgzOP9+WVfTX\nqVPg44wM6/bptdde1jjummusr8/IkZazT5SiInj3Xfu2ceaZjU+CS1JIptrL+g8nkRaoqICJE61a\nJjPTUh7+eeusLAvW/hPARx8Nn3wSvK+0NLsIaupU62PfEtdcE7jGrldOjn2o+H+wtGsXnFtfvNi6\nflZW2gdNfr59KCRj7fwrr8C559qfV3q6rR389tuxm2SXJoVTR6+PYUltEycGlnCmp1twra62gHrn\nncEBaNOm4P2kpdmk7e9+Z7n9ht57z67A7dEDfvKT4Fx7586hxxdqsrRLl+Dnjj0WPvrI1uFt1w5+\n/GPYZ5/Q+0y0yy/3zXGAVf/Mm2d/LpKUFOgltS1YEBxMR4+GIUMs/XLiicHvCRV8DzrIvhWEmiz9\n61/titv4dJGqAAAJ90lEQVTKSnv9oYdgyZLAxc2HDLEPmFD7zsiw96WlWfZ9zpzQv8uAAXZLdjt3\nBj6urrYJaElaKq+U1NawG2V2trUnnjIldJAHK130P8vPy7N0Tagg7zjwy19azr2uzs5kly6FSy8N\n3O6MM+C880I3OMvIsLTOX/5iF2mNarACZ01NYMuGZDd0aGBOPjPTSlpFwpDoyWtJRc8+6zi5uY6T\nlmaVLfvu6zg7dzb9ns2bHWfgQHtfdrbjTJrkOHV1obetqbF9N6yIycx0nDffDNy2rs5xPvvMcX76\nU9t3+/b2c/r0xsdy7722r8xMxzn6aMfZtq1lv38ibNniOMccYxVAHo/jzJ7d+n2tXOk4Tz7pOG+8\n0fjfgTSJMKpuNBkrqe/DD22CsFMnyx83rGAJpa7OcvV5ec1v366d70Ilr7Q0W8nqxhtDv2f5cli5\n0nrgh8r5g3W9POccX+18VhaccIJd9ZoKamrs20prO3c+/7zl9TMy7OPzlFPgn/9UJ9AWUvdKkWgY\nMAC++irwuaws6y55wQWt3+8dd9iFUv46dIDdu1u/z1ThOPa7lpb6nsvPt0DvXfNXwqKlBEWiYebM\nwPx9WprNA5x3XmT77dUrsM0BtLyNcqrasye4P5Dj2LKQEnU6oxcJx5dfWtOzrVth3DgYM8aXYvjo\nI0vDdOxo3TA7dgxvn3v22IVPK1b4nnvtNSu1bAsOOsgWdvE2vMvNtT/LQYMSO64Uo9SNSKx588yV\nlVbx07OnXegUbrCvqbGc/O7dtlrVvvvGdrzJZM0aS9OsXWuVO48+qlr8VlCgF4m1ffe1ZmZeOTlw\n333wi18kbkyRWrzYevbv2AFnnWWtHEJd9eo48O23dkbep0/rVw0rLg7scCotoitjRWKtpCTwcVWV\n9bxpzNKlVo1z8MEweHBsx9YaRUVW5+/Nnz/8sP2ODfveV1ZaR80lS+zxoYfCG28EX9cQDv8+RBIT\n+ggVicRppwVeJNWuneXvQ7n7bruwaMIEW8Fq+vT4jLElFiywK129KirgqaeCt7vrLgvyFRV2W768\n5f2BJG4iCfTnASuAWuCIJrYbAxQBXwM3R3A8keTz6KO2tF+HDtab5skn4Zhjgrdbtw7uucfOlEtK\n7Oevf518rQNycqyu3V+otM1HHwX2u6mshI8/ju3YpNUiCfSfA2cB7zSxTQbwFyzYDwAuAg6O4Jgi\nycXjgblzbTJ1wwYL+qFs2BDcYqFdu9AN1hLpRz+yDy1viwOPB6ZNC95u4MDA3ycry56TpBRJjr4o\njG2GAKuBtfWPnwbGAV819gYRV+rfP/RqUH37xn8sjSkpscnVhQstXbN1q31wjRsXvO3dd9uyjWvW\nWJnp3nsntj++NCnWk7G9gPV+j78DQnyvFXG5zp2tO+a4cZbmyMuzfHj79okemVm82De3UFUFt97a\n9BxChw7W0//TT63q5sgjA7t5SlJpLtC/DvQM8fwU4KUw9q96SRGvggJr8btzpwX+ZCkndBxbJaq4\n2Pfc/fdb4B8ypPH3ZWWFno+QpNNcoD85wv1vAPyvANkXO6sPaZpfLrCgoICCgoIIDy+SZNLTQy88\nkkhlZcEloenp1t+nqUAvCVFYWEhhYWGL3hONC6beAm4A/hPitUxgJXASsBH4CJuQDZWj1wVTIong\nONCtG2zf7nvO44F//1tn7Ckg1k3NzsLy70OBfwEL65/fp/4xQA0wCVgEfAnMQxOxIsklLc3mCzp0\nsFtODtxwg4K8i6gFgoiY4mK7MnbvvdtWz50Up143IiIup370IiKiQC8i4nYK9CIiLqdALyLicgr0\nIiIup0AvIuJyCvQiIi6nQC8i4nIK9CIiLqdALyLicgr0IiIup0AvIuJyCvQiIi6nQC8i4nIK9CIi\nLqdALyLicgr0IiIup0AvIuJyCvQiIi6nQC8i4nIK9CIiLqdALyLicgr0IiIup0AvIuJyCvQiIi6n\nQC8i4nIK9CIiLhdJoD8PWAHUAkc0sd1a4DNgKfBRBMcTEZFWiCTQfw6cBbzTzHYOUAAcDgyJ4HhJ\nobCwMNFDaFYqjBE0zmjTOKMrVcYZjkgCfRGwKsxt0yI4TlJJhb/8VBgjaJzRpnFGV6qMMxzxyNE7\nwBvAJ8BVcTieiIj4yWzm9deBniGenwK8FOYxhgGbgG71+ysC3g13gCIiEplopFTeAq4HPg1j26lA\nKfD7EK+tBvpGYTwiIm3JN0C/pjZo7ow+XI19YHiADKAEyANOAe5sZNsmByoiIvF3FrAeqAA2Awvr\nn98H+Ff9/R8Ay+pvXwC3xnmMIiIiIiISL0OwC6qWAh8DRyd2OE26FvgK+5Zyf4LH0pzrgTpgr0QP\npBHTsT/L5cBzQMfEDifIGKyA4Gvg5gSPpTH7YnNlK7B/k9cldjhNysD+j4dbzJEInYB/Yv8uvwSG\nJnY4jboV+zv/HPgH0C6xwwlPITC6/v6p2D/cZHQCVj2UVf+4WwLH0px9gVeB/5K8gf5kfGW+99Xf\nkkUGViTQB/v7XgYcnMgBNaIncFj9/XxgJck5ToDJwFxgQaIH0oQ5wE/r72eSfCcfYP8m1+AL7vOA\nSxvbOJl63WzC9wfaCdiQwLE05WrgXqC6/vG2BI6lOX8Abkr0IJrxOvaNA+BDoHcCx9LQECzQr8X+\nvp8GxiVyQI3YjH0IgVW1fYXNlSWb3sBY4G8k70WUHYHhwOP1j2uA3YkbTqOKsX+THuzDyEMTMTOZ\nAv0tWNnlOuzrfLJO3B4IjACWYN9CjkroaBo3DvgO6zOUKn4KvJLoQfjphRUceH1X/1wy64O1G/kw\nweMI5Y/Ajfg+2JPRAdjJ22ysZPxRLIgmmx344uVGYBd2YWpI0SqvDFdjF2DdhuUVrwOexxqmPY59\nrU+EpsaZCXTG8nZHA/Ox6qJEaGqct2LlrF6JPIMK58K724AqLNeYLJxED6CF8rHc8i+wM/tkcjqw\nFcvPFyR2KE3KxJo0TsLmCh/ETkLvSOSgQugL/BL7YN8NPAP8GEuLJbViv/tpJOfXJbAy0pF+j1cD\nXRI0lsYMArZgufn/Yl/x1gLdEzimplwGvA/kJHgcDQ3F5ji8biV5J2SzgEXYf/5kdA/27ei/WJq2\nDPh7QkcUWk9sjF7HAy8naCxNuQBLgXldDDyUoLG0yKf4AuhJ2KdpMpqI76KvH2JfnZJdMk/GjsEq\nB7omeiAhZGJXHfYBskneydg0LGj+MdEDCdNIkrvq5h3s/zbANJKzsm4wVmGVi/39zwGuSeiIwnQU\nlldcBizG8ozJKAv4P6yk6T8k99dQrzUkb6D/GvgW+0q/FHg4scMJcipWxbKa5J03Oh7Ley/D9+c4\nJqEjatpIkrvqZjB2opmsJb9eN+Err5yDrxJQRERERERERERERERERERERERERERERERERMS9/h/Y\nLq/d4ZL5VwAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure()\n", "plt.scatter(X_back[:M, 0], X_r[:M,1], color='red')\n", "plt.scatter(X_back[M:, 0], X_r[M:,1], color='blue')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "from pymks import MKSKernelPCAModel\n", "from pymks.bases import DiscreteIndicatorBasis\n", "\n", "basis = DiscreteIndicatorBasis(n_states=2)\n", "model = MKSKernelPCAModel(basis=basis, fit_inverse_transform=True, kernel='linear', n_components=2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "X_test = np.concatenate((X0, X1))\n", "#print X_test.dtype\n", "model.fit(X_test)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "X_model_test = model.transform(X_test)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "Q = (model.lambdas_)\n", "print Q / np.var(X_test)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 2066.0385236 194.69073945]\n" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure()\n", "plt.scatter(X_model_test[:M, 0], X_model_test[:M,1], color='red')\n", "plt.scatter(X_model_test[M:, 0], X_model_test[M:,1], color='blue')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nLq/d4ZL5VwAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "model2 = MKSKernelPCAModel(basis=basis, n_components=2, kernel='linear')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "X_model_test2 = model2.fit_transform(X_test)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure()\n", "plt.scatter(X_model_test2[:M, 0], X_model_test2[:M,1], color='red')\n", "plt.scatter(X_model_test2[M:, 0], X_model_test2[M:,1], color='blue')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 19, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\ngg==\n", "text": [ "" ] } ], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "X = np.array([[0, 0], [1, 1]])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "model3 = MKSKernelPCAModel(basis=basis, n_components=2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "print model3.fit_transform(X)\n", "print model3.lambdas_" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[-1. -0.]\n", " [ 1. -0.]]\n", "[ 2. 0.]\n" ] } ], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 22 } ], "metadata": {} } ] }