{ "cells": [ { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "WARNING: pylab import has clobbered these variables: ['dist', 'bar']\n", "`%matplotlib` prevents importing * from pylab and numpy\n" ] } ], "source": [ "%pylab inline\n", "import numpy as np\n", "import irm\n", "import seaborn as sns\n", "import sys\n", "sys.path.append(\"../code/\")\n", "import cvpipelineutil\n", "import sklearn.metrics\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# synthetic data, no distance-dependence" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": true }, "outputs": [], "source": [ "true_classes = ['gradstudent', 'postdoc', 'faculty', 'vendor']\n", "\n", "tries_talk_probs = {}\n", "MAXDIST = 100\n", "tries_talk_probs[('gradstudent', 'gradstudent')] = (MAXDIST, 0.5)\n", "\n", "tries_talk_probs[('gradstudent', 'postdoc')] = (MAXDIST, 0.2) \n", "tries_talk_probs[('gradstudent', 'faculty')] = (MAXDIST, 0.1) \n", "tries_talk_probs[('gradstudent', 'vendor')] = (MAXDIST, 0.5)\n", "\n", "tries_talk_probs[('postdoc', 'postdoc')] = (MAXDIST, 0.7)\n", "tries_talk_probs[('postdoc', 'faculty')] = (MAXDIST, 0.7)\n", "\n", "tries_talk_probs[('faculty', 'faculty')] = (MAXDIST, 0.9)\n", "\n", "tries_talk_probs[('vendor', 'gradstudent')] = (MAXDIST, 0.2)\n", "\n", "tries_talk_probs[('vendor', 'postdoc')] = (MAXDIST, 0.4) \n", "tries_talk_probs[('vendor', 'faculty')] = (MAXDIST, 0.7) \n", "tries_talk_probs[('vendor', 'vendor')] = (MAXDIST, 0.1)\n", "\n", "# turn into numeric types\n", "ttp_numeric = {}\n", "for k, v in tries_talk_probs.iteritems():\n", " ttp_numeric[(true_classes.index(k[0]), true_classes.index(k[1]))] = v\n", " \n", "\n" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [], "source": [ "np.random.seed(0)\n", "nodes, conmat = irm.data.generate.c_class_neighbors(10, ttp_numeric, JITTER=0.1)\n", "np.fill_diagonal(conmat, 0) # don't try and talk to yourself\n", "#randomize the order \n", "ca = np.random.permutation(len(nodes))\n", "nodes = nodes[ca]\n", "conmat = conmat[ca]\n", "conmat = conmat[:, ca]" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "veu6rtC5+iEUoYJ8Gj/qOrPtdc9U8d3GJoink7HxVOvaZnKJ5Ip4eod3A0fdE9ldqrvfMVmId5Z9\n", "rrscou6wpndSV796r3SDlenJ9rp3cUcvZhO63+a9ymcuT+SHyb4udhGfjSY5owrCk6P/80yXoGrt\n", "NlYrfBeE7IFJnmf36TzX3f07Yndj1FnrWqe7IP0qZGTfER+kR9aRdUSVsJOrDjoP9zpQryH1/alX\n", "wMpv44l0qTpsr9FZMH8rXZ25FrleqsNH4L9Lr7oLWjfteoh3hyCYPowfGmc6oeLj+sHlwdAOIyV/\n", "0rF+x/wAAAG2SURBVNGcs8s6Mb5IvmNP1+2ZHMTbQXZIjmtvxxPZVXl2c9VUOHiphL8DkH7SLV2o\n", "1h12VzCcIqP0qzK7ANrWqyKUiSElxy+Zx9SfyF7XTqbnHj93ejnzbrGZvN7I8d+5Gl33vuhzbMLf\n", "6EY3enj0kv//8De60Y18uiX8jW70iOiW8De60SOiW8Lf6EaPiG4JfyOblmX58WvrcKPT6PaU/kY3\n", "ekR0lb9Lf6OHQ8uyfGVEfEFEvCIi3r2u61eItR9a1/WGCl/CdDu8R0zLsrwhIj4tIj79/vsnLMvy\n", "1utqdaNL0q3DP256fUS8LiL+0/373xoRP3c1bW50cbol/OOmD4uIb1zX9e9FRCzL8qqI+I3rqnSj\n", "S9IN0j9uem9EvG1Zlo9aluWFiPj+iHjLlXW60QXplvCPmNZ1/YGI+L6IeH9E/GRE/Pi6rt95Xa1u\n", "dEm6fSx3I4uWZfnYiPj5dV0/+tq63Gg/3e7wN3qRlmX5iIj4D2DqYyLiYyPiHx2r0Y3OTbcOf6Mb\n", "PSK63eFvdKNHRLeEv9GNHhHdEv5GN3pEdEv4G93oEdEt4W90o0dEt4S/0Y0eEf1/YH/oiWJYRPEA\n", "AAAASUVORK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pylab.imshow(conmat, interpolation='nearest')\n", "pylab.grid(False)\n", "pylab.ylabel('e_i')\n", "pylab.xlabel('e_j')\n", "pylab.title(\"e_i tries to talk to e_j\")\n", "pylab.xticks([])\n", "pylab.yticks([])\n", "pylab.savefig(\"nodist.data.png\")" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Creating threadpool with 8 cores\n", "FIXED_K= False\n", "Running with relation_class= \n", "This model fixed_k= False\n", "Annealing at temp= 32.0\n", "kernels: nonconj_gibbs 2.58 sec\n", "kernels: slice_params 0.07 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.02 sec\n", "kernels: anneal 2.70 sec\n", "Iter 1\n", "Annealing at temp= 21.7726400028\n", "kernels: nonconj_gibbs 1.62 sec\n", "kernels: slice_params 0.05 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 1.71 sec\n", "Iter 2\n", "Annealing at temp= 14.8139953966\n", "kernels: nonconj_gibbs 0.91 sec\n", "kernels: slice_params 0.03 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.98 sec\n", "Iter 3\n", "Annealing at temp= 10.0793683992\n", "kernels: nonconj_gibbs 0.48 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.53 sec\n", "Iter 4\n", "Annealing at temp= 6.85795186282\n", "kernels: nonconj_gibbs 0.44 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.49 sec\n", "Iter 5\n", "Annealing at temp= 4.6661161583\n", "kernels: nonconj_gibbs 0.37 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.42 sec\n", "Iter 6\n", "Annealing at temp= 3.17480210394\n", "kernels: nonconj_gibbs 0.38 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.43 sec\n", "Iter 7\n", "Annealing at temp= 2.16011947778\n", "kernels: nonconj_gibbs 0.38 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.43 sec\n", "Iter 8\n", "Annealing at temp= 1.46973449228\n", "kernels: nonconj_gibbs 0.38 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.43 sec\n", "Iter 9\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.39 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.44 sec\n", "Iter 10\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.38 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.43 sec\n", "Iter 11\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.39 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.45 sec\n", "Iter 12\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.37 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.43 sec\n", "Iter 13\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.36 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.41 sec\n", "Iter 14\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.37 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.43 sec\n", "Iter 15\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.35 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.40 sec\n", "Iter 16\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.36 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.41 sec\n", "Iter 17\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.35 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.40 sec\n", "Iter 18\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.36 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.04 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.43 sec\n", "Iter 19\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.35 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.40 sec\n", "Iter 20\n" ] } ], "source": [ "# inference? \n", "\n", "\n", "conmat = conmat.astype(np.uint8)\n", "\n", "model_name = \"BetaBernoulliNonConj\"\n", "init, data = irm.irmio.default_graph_init(conmat, model_name)\n", "init['domains']['d1']['assignment'] = np.random.permutation(len(conmat)) % 100\n", "\n", "mulamb = 10.0\n", "p_max = 0.95\n", "\n", "HPS = {'alpha' : 1.0, 'beta' : 1.0}\n", "\n", "init['relations']['R1']['hps'] = HPS\n", "slow_anneal = irm.runner.default_kernel_anneal(iterations=10)\n", "\n", "kc ={'ITERS' : 20, \n", " 'kernels' : slow_anneal}\n", "\n", "s = cvpipelineutil.run_exp_pure(data, init, 'anneal_slow_10', 0, kc)\n" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [], "source": [ "res = s['res']\n", "scores, state, times, _ = res" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAPwAAAEJCAYAAACwg0p5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", "AAALEgAACxIB0t1+/AAAIABJREFUeJztfW2sbd1V1jj0ReQjgSIxqECM9nWq771gSZuGD4OJoNS2\n", "8noNSUPT2CYVYqJEowgJVkMIAU3AAsZgNECQQA1yrYqRYtpgiLbFWJRzIFneBvlB/OCHkAiWAu3x\n", "xz7zveM+53nGGHPtvdbe5+z1JCdn77XmHHPMOcfHM+f62BfX19e2YcOG88DHHVuBDRs2rIfN4Tds\n", "OCNsDr9hwxlhc/gNG84Im8Nv2HBG2Bx+w4YzwubwR0Br7d+01v4wOf621tpfEnW+prX29Qdq/3Wt\n", "tW8arPOprbX3Fsq9pbX2r28+/2Rr7c8fQu4h0Fr7ptbam9do61Tx3LEVOEdM0/Q6ceqLzexS1PlH\n", "B1Th1Wb26YN1Xn5Tr4Jr9z+70WNE7l6YpunvrNHOKWNz+D3RWnuDmX2jmf0OM/t/ZvY3pml6f1Ln\n", "F83s0TRNH3TH/pyZvcHMvrS19mEz+91m9gVm9plm9rNm9iEz+4xpmv5Ka+33mdl3m9nnmNnHm9k7\n", "p2n61tbaczfHv8jMftPMfsHM3jpN06+7dl5jZl9jZi9rrf3qNE1vb6293czeaGa/bWb/zcz+8jRN\n", "/xvU/j4z+8TW2gfN7FVm9hYz++qbfn+6mX3bNE3fc1P2Avr7nJn9kJl9xMzeMk3TRwO5X2Rmf8/M\n", "PummD39rmqZ3kzH8I2b2DjP7XWb2MjP7rmmavo8Mt6/z/WZ2OU3Tt0fl7jM2Sr8HWmvPm9m3mNlr\n", "p2n6fNs50uPW2iclVW9lvWma/oWZ/Ssz+45pmv7hzeHPNrNXTtP0Zqj3T83se6dpepWZvcbMvqy1\n", "9pW2CxBfMk3T596c+wUzewjtfMDMvsd2QeLtrbW3mtmXm9mrpmn6PDO7MrPvJzq/xcw+fNPPTzKz\n", "t7l+v9F2TsrwCWb2I2b2v6ZpejM4O8p9+U3Zr73R5S+Y2Q+21n6/r3ATQP65mX3DTT//hJl93U0w\n", "i1BhHPcaW4bfD19mZr/HzN7bWuvHPmpmf9AENS/AZ8f3T9P0MX/yJph8iZm9vLX2zTeHP9nMPs/M\n", "fsLMPtpa+4CZvdvMfnSapv8k2ujtvNZ2wePDN9+/08y+sbX23DRNv830mqbp11prrzezN7TWXmFm\n", "f+xGB9bOt5vZp9huTLL+vsbMPtR1nqbp51tr/8F2Dv39rtwfMrM/YGbf68b9E270+IBoh7V3dtgc\n", "fj98nJm9Z5qmN/YDrbXPMbNf2kOmX//+Ojn/spv/XzBN02/ctPkZtsuSv95a+zwz+0Iz+5Nm9s9a\n", "a981TdM7gna883f5z1ngGK21zzKz99mOKfyU7bLt60UbP2C7cfonZvYVSuYNGOPs+uCxX52m6ZVO\n", "p880s19N5J89Nkq/H95rZn+q3aSZ1tqXm9l/sV22mYPftt2a2Oy2w12Y2cU0Tf/XzN5vZn/9ps1P\n", "tZ3T/dnW2uvM7D1m9r5pmr7Jds72uaSd33LtvNvM3uqWIV9rZv9+mqbfIrr1YPMqM/vlaZq+ZZqm\n", "f2e7vQdrrTF7+mkze7uZvaK19jbR5y73/Tsx7dU38l4wsz9uZj8JdSYz+43W2ptuyn22mf1XM3ul\n", "bQixZfg9cEM5v9rM3tlau7CdI73B0eNR/Fsz+wc38QPXm/77V92U+1nbOe4PTdP0wzcO91ozu2qt\n", "/ZqZ/R8z+4uknffYbq/hI2b2V223V/DTN/WfmNmbSJ3/YWYfbK39vJl9qZn9UmttMrNfNrN/aWb/\n", "08xeQfS2aZo+0lp7i5n9RGvtPdM0/Xch94vN7CvN7LtvAtDHbLfJ9yGQ95utta8ws+9srf1N221c\n", "vn2apvcRvTc4XGyPx244F7TWHpvZuw98ifNOYcvwC6C19lVm9nXi9A+e82WhJXGztHqnOP0rZvZ7\n", "bcdozhZbht+w4Yywbdpt2HBG2Bx+w4YzwmJr+IuLi+vr62u7uHj26hI7Nhcjsg7ZrtkLdnl5ZQ8e\n", "HEjcEXBxcfHSmOCy7upq9/8u90/B9431/Vjouhxw7KmxL5rh/YD2/ywA7CN/37KqfdT7vuEY/Ttc\n", "wD0MTmlu19JlcUrvM0mH71w/zjrsjbL/MRnqGNZR+kXHWRa4vLwKZW7gOCUHO1cs5vDo1MzJPaJj\n", "FxcXL/2NyOh1siyeHUO5Dx9qvnVqWWwEd1n3DKfQt1PQYTGHZ85XifBZFq8iCzD+eKVsVae7nMXm\n", "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\n", "/j8Rj7blnPPkHAAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a = irm.util.canonicalize_assignment(state['domains']['d1']['assignment'])\n", "ca = np.argsort(a).flatten()\n", "conmat_sorted = conmat[ca]\n", "conmat_sorted = conmat_sorted[:, ca]\n", "pylab.imshow(conmat_sorted, interpolation='nearest')\n", "pylab.grid(False)\n", "pylab.ylabel('e_i')\n", "pylab.xlabel('e_j')\n", "pylab.title(\"e_i tries to talk to e_j\")\n", "pos = np.argwhere(np.diff(a[ca]))\n", "for p in pos:\n", " pylab.axhline(p, c='b', alpha=0.2)\n", " pylab.axvline(p, c='b', alpha=0.2)\n", "pylab.xticks([])\n", "pylab.yticks([])\n", "pylab.savefig(\"nodist.recovered.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# synthetic data, distance-dependence" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": true }, "outputs": [], "source": [ "true_classes = ['gradstudent', 'postdoc', 'faculty', 'vendor']\n", "\n", "tries_talk_probs = {}\n", "MAXDIST = 100\n", "\n", "tries_talk_probs[('gradstudent', 'gradstudent')] = (2.0, 0.5)\n", "tries_talk_probs[('gradstudent', 'postdoc')] = (1.0, 0.5) \n", "tries_talk_probs[('gradstudent', 'faculty')] = (3.0, 0.8) \n", "tries_talk_probs[('gradstudent', 'vendor')] = (0.8, 0.5)\n", "\n", "tries_talk_probs[('postdoc', 'postdoc')] = (1.0, 0.8)\n", "tries_talk_probs[('postdoc', 'faculty')] = (2.0, 0.8)\n", "\n", "tries_talk_probs[('faculty', 'faculty')] = (2.0, 0.9)\n", "\n", "tries_talk_probs[('vendor', 'gradstudent')] = (0.3, 0.2)\n", "tries_talk_probs[('vendor', 'postdoc')] = (3.0, 0.5) \n", "tries_talk_probs[('vendor', 'faculty')] = (3.0, 0.5) \n", "tries_talk_probs[('vendor', 'vendor')] = (1.0, 0.1)\n", "\n", "# turn into numeric types\n", "ttp_numeric = {}\n", "for k, v in tries_talk_probs.iteritems():\n", " ttp_numeric[(true_classes.index(k[0]), true_classes.index(k[1]))] = v\n", " \n", "\n" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": true }, "outputs": [], "source": [ "np.random.seed(1)\n", "\n", "nodes, conmat = irm.data.generate.c_class_neighbors(10, ttp_numeric, JITTER=0.1)\n", "np.fill_diagonal(conmat, 0) # don't try and talk to yourself\n", "#randomize the order \n", "ca = np.random.permutation(len(nodes))\n", "nodes = nodes[ca]\n", "conmat = conmat[ca]\n", "conmat = conmat[:, ca]" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "8IPBjvh/Xx0lMvRkFzYAAAAASUVORK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dist_conmat = conmat.copy()\n", "pylab.imshow(dist_conmat, interpolation='nearest')\n", "pylab.grid(False)\n", "pylab.ylabel('e_i')\n", "pylab.xlabel('e_j')\n", "\n", "pylab.xticks([])\n", "pylab.yticks([])\n", "pylab.title(\"e_i tries to talk to e_j\")\n", "pylab.savefig(\"dist.data.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Inference with no distance dependence" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Creating threadpool with 8 cores\n", "FIXED_K= False\n", "Running with relation_class= \n", "This model fixed_k= False\n", "Annealing at temp= 32.0\n", "kernels: nonconj_gibbs 2.47 sec\n", "kernels: slice_params 0.04 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 2.55 sec\n", "Iter 1\n", "Annealing at temp= 21.7726400028\n", "kernels: nonconj_gibbs 0.63 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.68 sec\n", "Iter 2\n", "Annealing at temp= 14.8139953966\n", "kernels: nonconj_gibbs 0.42 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.47 sec\n", "Iter 3\n", "Annealing at temp= 10.0793683992\n", "kernels: nonconj_gibbs 0.42 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.47 sec\n", "Iter 4\n", "Annealing at temp= 6.85795186282\n", "kernels: nonconj_gibbs 0.38 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.44 sec\n", "Iter 5\n", "Annealing at temp= 4.6661161583\n", "kernels: nonconj_gibbs 0.48 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.53 sec\n", "Iter 6\n", "Annealing at temp= 3.17480210394\n", "kernels: nonconj_gibbs 0.51 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.56 sec\n", "Iter 7\n", "Annealing at temp= 2.16011947778\n", "kernels: nonconj_gibbs 0.52 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.58 sec\n", "Iter 8\n", "Annealing at temp= 1.46973449228\n", "kernels: nonconj_gibbs 0.53 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.58 sec\n", "Iter 9\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.53 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.58 sec\n", "Iter 10\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.51 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.56 sec\n", "Iter 11\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.53 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.57 sec\n", "Iter 12\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.52 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.57 sec\n", "Iter 13\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.53 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.59 sec\n", "Iter 14\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.53 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.59 sec\n", "Iter 15\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.51 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.57 sec\n", "Iter 16\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.53 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.58 sec\n", "Iter 17\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.52 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.57 sec\n", "Iter 18\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.53 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.58 sec\n", "Iter 19\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.52 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.57 sec\n", "Iter 20\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.53 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.58 sec\n", "Iter 21\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.53 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.58 sec\n", "Iter 22\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.53 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.58 sec\n", "Iter 23\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.52 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.58 sec\n", "Iter 24\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.52 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.57 sec\n", "Iter 25\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.53 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.58 sec\n", "Iter 26\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.52 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.04 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.59 sec\n", "Iter 27\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.52 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.57 sec\n", "Iter 28\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.52 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.57 sec\n", "Iter 29\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.53 sec\n", "kernels: slice_params 0.02 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.01 sec\n", "kernels: anneal 0.58 sec\n", "Iter 30\n" ] } ], "source": [ "conmat = conmat.astype(np.uint8)\n", "\n", "model_name = \"BetaBernoulliNonConj\"\n", "init, data = irm.irmio.default_graph_init(conmat, model_name)\n", "init['domains']['d1']['assignment'] = np.random.permutation(len(conmat)) % 100\n", "\\\n", "HPS = {'alpha' : 1.0, 'beta' : 1.0}\n", "\n", "init['relations']['R1']['hps'] = HPS\n", "slow_anneal = irm.runner.default_kernel_anneal(iterations=10)\n", "\n", "kc ={'ITERS' : 30, \n", " 'kernels' : slow_anneal}\n", "\n", "s = cvpipelineutil.run_exp_pure(data, init, 'anneal_slow_10', 0, kc)\n", "res = s['res']\n", "scores, state, times, _ = res" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "mAI/mWyI/wfCrmJ+r6lL4QAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a = irm.util.canonicalize_assignment(state['domains']['d1']['assignment'])\n", "ca = np.argsort(a).flatten()\n", "conmat_sorted = conmat[ca]\n", "conmat_sorted = conmat_sorted[:, ca]\n", "pylab.imshow(conmat_sorted, interpolation='nearest')\n", "pylab.grid(False)\n", "pylab.ylabel('e_i')\n", "pylab.xlabel('e_j')\n", "pos = np.argwhere(np.diff(a[ca]))\n", "for p in pos:\n", " pylab.axhline(p, c='b', alpha=0.2)\n", " pylab.axvline(p, c='b', alpha=0.2)\n", "pylab.xticks([])\n", "pylab.yticks([])\n", "pylab.title(\"e_i tries to talk to e_j\")\n", "pylab.savefig(\"dist.nodistrecover.png\")" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 1 2 3 4 5 6]\n" ] } ], "source": [ "print np.unique(a) " ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[40, 1, 56, 0, 2, 1, 0],\n", " [ 0, 0, 0, 0, 49, 51, 0],\n", " [ 0, 0, 0, 55, 2, 1, 42],\n", " [43, 57, 0, 0, 0, 0, 0],\n", " [ 0, 0, 0, 0, 0, 0, 0],\n", " [ 0, 0, 0, 0, 0, 0, 0],\n", " [ 0, 0, 0, 0, 0, 0, 0]])" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sklearn.metrics.confusion_matrix(nodes['class'], a)\n" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "conn_and_dist.dtype [('link', 'u1'), ('distance', '\n", "This model fixed_k= False\n", "Annealing at temp= 32.0\n", "kernels: nonconj_gibbs 2.87 sec\n", "kernels: slice_params 0.17 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.12 sec\n", "kernels: anneal 3.19 sec\n", "Iter 1\n", "Annealing at temp= 21.7726400028\n", "kernels: nonconj_gibbs 2.67 sec\n", "kernels: slice_params 0.17 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.13 sec\n", "kernels: anneal 2.99 sec\n", "Iter 2\n", "Annealing at temp= 14.8139953966\n", "kernels: nonconj_gibbs 2.77 sec\n", "kernels: slice_params 0.17 sec\n", "kernels: domain_hp_grid 0.04 sec\n", "kernels: relation_hp_grid 0.18 sec\n", "kernels: anneal 3.16 sec\n", "Iter 3\n", "Annealing at temp= 10.0793683992\n", "kernels: nonconj_gibbs 2.73 sec\n", "kernels: slice_params 0.22 sec\n", "kernels: domain_hp_grid 0.04 sec\n", "kernels: relation_hp_grid 0.16 sec\n", "kernels: anneal 3.15 sec\n", "Iter 4\n", "Annealing at temp= 6.85795186282\n", "kernels: nonconj_gibbs 2.56 sec\n", "kernels: slice_params 0.16 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.14 sec\n", "kernels: anneal 2.89 sec\n", "Iter 5\n", "Annealing at temp= 4.6661161583\n", "kernels: nonconj_gibbs 2.34 sec\n", "kernels: slice_params 0.15 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.13 sec\n", "kernels: anneal 2.65 sec\n", "Iter 6\n", "Annealing at temp= 3.17480210394\n", "kernels: nonconj_gibbs 1.75 sec\n", "kernels: slice_params 0.12 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.12 sec\n", "kernels: anneal 2.03 sec\n", "Iter 7\n", "Annealing at temp= 2.16011947778\n", "kernels: nonconj_gibbs 0.65 sec\n", "kernels: slice_params 0.11 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.13 sec\n", "kernels: anneal 0.92 sec\n", "Iter 8\n", "Annealing at temp= 1.46973449228\n", "kernels: nonconj_gibbs 0.37 sec\n", "kernels: slice_params 0.11 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.11 sec\n", "kernels: anneal 0.62 sec\n", "Iter 9\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.35 sec\n", "kernels: slice_params 0.13 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.14 sec\n", "kernels: anneal 0.64 sec\n", "Iter 10\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.41 sec\n", "kernels: slice_params 0.14 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.13 sec\n", "kernels: anneal 0.70 sec\n", "Iter 11\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.34 sec\n", "kernels: slice_params 0.11 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.14 sec\n", "kernels: anneal 0.62 sec\n", "Iter 12\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.39 sec\n", "kernels: slice_params 0.08 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.13 sec\n", "kernels: anneal 0.63 sec\n", "Iter 13\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.46 sec\n", "kernels: slice_params 0.08 sec\n", "kernels: domain_hp_grid 0.04 sec\n", "kernels: relation_hp_grid 0.13 sec\n", "kernels: anneal 0.71 sec\n", "Iter 14\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.43 sec\n", "kernels: slice_params 0.10 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.13 sec\n", "kernels: anneal 0.69 sec\n", "Iter 15\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.52 sec\n", "kernels: slice_params 0.08 sec\n", "kernels: domain_hp_grid 0.02 sec\n", "kernels: relation_hp_grid 0.10 sec\n", "kernels: anneal 0.72 sec\n", "Iter 16\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.36 sec\n", "kernels: slice_params 0.08 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.13 sec\n", "kernels: anneal 0.60 sec\n", "Iter 17\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.44 sec\n", "kernels: slice_params 0.08 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.13 sec\n", "kernels: anneal 0.69 sec\n", "Iter 18\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.48 sec\n", "kernels: slice_params 0.10 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.15 sec\n", "kernels: anneal 0.77 sec\n", "Iter 19\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.45 sec\n", "kernels: slice_params 0.09 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.11 sec\n", "kernels: anneal 0.68 sec\n", "Iter 20\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.43 sec\n", "kernels: slice_params 0.10 sec\n", "kernels: domain_hp_grid 0.04 sec\n", "kernels: relation_hp_grid 0.15 sec\n", "kernels: anneal 0.72 sec\n", "Iter 21\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.42 sec\n", "kernels: slice_params 0.10 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.15 sec\n", "kernels: anneal 0.69 sec\n", "Iter 22\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.40 sec\n", "kernels: slice_params 0.09 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.12 sec\n", "kernels: anneal 0.64 sec\n", "Iter 23\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.36 sec\n", "kernels: slice_params 0.10 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.12 sec\n", "kernels: anneal 0.61 sec\n", "Iter 24\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.43 sec\n", "kernels: slice_params 0.11 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.17 sec\n", "kernels: anneal 0.75 sec\n", "Iter 25\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.45 sec\n", "kernels: slice_params 0.11 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.14 sec\n", "kernels: anneal 0.74 sec\n", "Iter 26\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.38 sec\n", "kernels: slice_params 0.09 sec\n", "kernels: domain_hp_grid 0.04 sec\n", "kernels: relation_hp_grid 0.14 sec\n", "kernels: anneal 0.65 sec\n", "Iter 27\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.38 sec\n", "kernels: slice_params 0.09 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.12 sec\n", "kernels: anneal 0.62 sec\n", "Iter 28\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.50 sec\n", "kernels: slice_params 0.09 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.11 sec\n", "kernels: anneal 0.73 sec\n", "Iter 29\n", "Annealing at temp= 1.0\n", "kernels: nonconj_gibbs 0.42 sec\n", "kernels: slice_params 0.10 sec\n", "kernels: domain_hp_grid 0.03 sec\n", "kernels: relation_hp_grid 0.12 sec\n", "kernels: anneal 0.68 sec\n", "Iter 30\n" ] } ], "source": [ "def dist(a, b):\n", " return np.sqrt(np.sum((b-a)**2))\n", "\n", "conn_and_dist = np.zeros(conmat.shape, \n", " dtype=[('link', np.uint8), \n", " ('distance', np.float32)])\n", "print \"conn_and_dist.dtype\", conn_and_dist.dtype\n", "for ni, foo in enumerate(nodes):\n", " for nj, bar in enumerate(nodes):\n", " conn_and_dist[ni, nj]['link'] = conmat[ni, nj]\n", " conn_and_dist[ni, nj]['distance'] = dist(nodes[ni]['pos'],\n", " nodes[nj]['pos'])\n", " \n", "\n", "model_name = \"LogisticDistance\"\n", "init, data = irm.irmio.default_graph_init(conn_and_dist, model_name)\n", "init['domains']['d1']['assignment'] = np.random.permutation(len(conmat)) % 100\n", "\n", "mulamb = 1.0\n", "p_max = 0.95\n", "\n", "HPS = {'mu_hp' : mulamb,\n", " 'lambda_hp' : mulamb,\n", " 'p_min' : 0.01, \n", " 'p_max' : p_max}\n", "\n", "init['relations']['R1']['hps'] = HPS\n", "\n", "slow_anneal = irm.runner.default_kernel_anneal(iterations=10)\n", "\n", "kc ={'ITERS' : 30, \n", " 'kernels' : slow_anneal}\n", "\n", "s = cvpipelineutil.run_exp_pure(data, init, 'anneal_slow_10', 0, kc)\n", "res = s['res']\n", "scores, state, times, _ = res" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "O0IFXlF2xP8BNl1Z60W5yPAAAAAASUVORK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a = irm.util.canonicalize_assignment(state['domains']['d1']['assignment'])\n", "ca = np.argsort(a).flatten()\n", "\n", "conmat_sorted = conn_and_dist['link'][ca]\n", "conmat_sorted = conmat_sorted[:, ca]\n", "pylab.imshow(conmat_sorted, interpolation='nearest')\n", "pylab.grid(False)\n", "pylab.ylabel('e_i')\n", "pylab.xlabel('e_j')\n", "\n", "pos = np.argwhere(np.diff(a[ca]))\n", "for p in pos:\n", " pylab.axhline(p, c='b', alpha=0.2)\n", " pylab.axvline(p, c='b', alpha=0.2)\n", "\n", "pylab.xticks([])\n", "pylab.yticks([])\n", "pylab.title(\"e_i tries to talk to e_j\")\n", "pylab.savefig(\"dist.distrecover.png\")" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 0, 100, 0],\n", " [ 0, 100, 0, 0],\n", " [ 0, 0, 0, 100],\n", " [100, 0, 0, 0]])" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sklearn.metrics.confusion_matrix(nodes['class'], a)\n" ] } ], "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.9" } }, "nbformat": 4, "nbformat_minor": 0 }