Last active
August 17, 2016 23:29
-
-
Save dmargala/c55b5ae2c3ba1ef6dc23363777c2d1f7 to your computer and use it in GitHub Desktop.
How clustered are data scientists in the office?
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# NeighboringDataScientists" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"from operator import add\n", | |
"\n", | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt\n", | |
"import matplotlib as mpl\n", | |
"import scipy.stats\n", | |
"\n", | |
"import networkx as nx" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"mpl.rc('xtick', labelsize=16) \n", | |
"mpl.rc('ytick', labelsize=16) \n", | |
"mpl.rc('axes', titlesize=16) \n", | |
"mpl.rc('axes', labelsize=16) \n", | |
"mpl.rc('font', size=16)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### helper functions" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def create_joined_desks(label_prefix='', num_segments=2):\n", | |
" def make_label(value):\n", | |
" return '{}{}'.format(label_prefix, value)\n", | |
" return [make_label(value) for value in range(num_segments)]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"rows_to_neighbors = lambda rows: reduce(add, [zip(row[:-1], row[1:]) for row in rows])\n", | |
"rows_to_opposites = lambda rows: reduce(add, [zip(column[:-1:2], column[1::2]) for column in map(list, zip(*rows))])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"cross_product = lambda groups: reduce(add, [[(l,r) for l in left for r in right] for left, right in groups])\n", | |
"rows_to_crossfacing = lambda rows: cross_product(zip(rows[:-1:2], rows[1::2]))\n", | |
"rows_to_pockets = lambda rows: cross_product(zip(rows[1:-1:2], rows[2:-1:2]))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### construct graph of office desks" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# the office is made up of three clusters of rows of desks\n", | |
"front_rows = [create_joined_desks(row_label, 2) for row_label in 'abdeghjk']\n", | |
"corner_rows = [create_joined_desks(row_label, n) for row_label, n in zip('noqr', (2,2,3,3))]\n", | |
"back_rows = [create_joined_desks(row_label, 3) for row_label in 'vwyz']\n", | |
"\n", | |
"clusters = []\n", | |
"for cluster_rows in [front_rows, corner_rows, back_rows]:\n", | |
" G = nx.Graph()\n", | |
" # neighbors\n", | |
" G.add_edges_from(rows_to_neighbors(cluster_rows), weight=1)\n", | |
" # cereal battle enemies\n", | |
" G.add_edges_from(rows_to_crossfacing(cluster_rows), weight=0.7)\n", | |
" # pairs in the same \"pocket\"\n", | |
" G.add_edges_from(rows_to_pockets(cluster_rows), weight=.5)\n", | |
" clusters.append(G)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[['a0', 'a1'],\n", | |
" ['b0', 'b1'],\n", | |
" ['d0', 'd1'],\n", | |
" ['e0', 'e1'],\n", | |
" ['g0', 'g1'],\n", | |
" ['h0', 'h1'],\n", | |
" ['j0', 'j1'],\n", | |
" ['k0', 'k1']]" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"front_rows" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[('b0', 'd0'),\n", | |
" ('b0', 'd1'),\n", | |
" ('b1', 'd0'),\n", | |
" ('b1', 'd1'),\n", | |
" ('e0', 'g0'),\n", | |
" ('e0', 'g1'),\n", | |
" ('e1', 'g0'),\n", | |
" ('e1', 'g1'),\n", | |
" ('h0', 'j0'),\n", | |
" ('h0', 'j1'),\n", | |
" ('h1', 'j0'),\n", | |
" ('h1', 'j1')]" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"rows_to_pockets(front_rows)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# combine the clusters\n", | |
"office = nx.compose_all(clusters)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# add some extra edges between the corner rows and the back rows\n", | |
"office.add_edges_from(cross_product([[zip(*corner_rows[-2:])[-1], back_rows[0]]]), weight=0.5)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\nvuUa1F6vl3379rF7927a2tpYvXo1JSUlDAwMMD4+TkxMDHFxccpZ3tlIffn7y44dO3A4HKSlpTE2\nNsbw8DBdXV0MDAyg0WhITEwkJiZG+bl0u914PB7lw+1209nZidVq5YEHHlBC9ciRI0xMTKDX64mP\nj8disRASEoLL5eLKlSt0d3ezceNG1qxZw1//+lfi4uIoLy/H4/FQV1eH2+0mNzdXWZv3eDycOnWK\n7u5uVqxYQVZW1pQ3qqdOnWLt2rVyKkTcEAl1saCu3Zn+XWtQ22w2/uEf/oHIyEh8Ph85OTlkZGQw\nNDREb28vWq2WuLg4YmNjZ6ysdW19eUB2zC9SgUCA3t5e/vjHPzI4OEh4eDh+vx+Xy0VoaCiZmZnE\nxcXd0Pnuy5cvEx4ezsaNG6mvr+ftt9/GZrORn59PXFwcKpUKp9NJb28vo6OjhIWFERoaysDAAGfO\nnCExMZFly5YRHx9PV1cX0dHRpKWlERwcjE6nY2xsjOPHj6PX62ddTpL6DeJmSKiLe8bkWfjVq1fT\n0dHBxYsXsdlsLFmyhPz8fBwOBz09PQwPDxMREUF8fDwRERFTNi8dOHAAvV6PzWaTHfOLiNVqpamp\niebmZpqbm9Hr9VitVlpbW0lJScFkMpGUlDTt5+F6Tp06RVlZGUFBQfz1r3/F6/WyefNmTCYTfr+f\n7u5u2traiI6OJj09XflZOnv2LIFAgGPHjmEymYiNjSUiIkL5ObPZbNjtdvR6PUVFRSxfvnzWx9XU\n1ERoaCgvvvjifD1dYhGTNXVxz5hcI1WpVKSkpJCcnExfXx/nz5/no48+Ijk5mbS0NJYsWcLAwAAt\nLS3U19cTFxdHXFwc7e3t1NTUkJOTIzvm73Fut5u2tjaamppoampifHycjIwMMjMzKSoqora2lurq\nasbGxsjNzb2lQi0ul4vBwUE6OztpaWlBrVYrgT40NERTUxPBwcHK7I7X62V8fJwrV65gs9kIDw9H\nr9dz+fJlZZ0+KCiIqKgosrOziY6OxmKxKJvkZuPxeG65UZK4/0ioi3vGt+vLq1QqJbAHBwc5fPgw\nFRUVBAUFER0dTXx8PKGhoXR2dnL8+HH6+vooKCggNjZ21j+SsmP+7hQIBOjp6VFCvLu7m4SEBDIz\nM3n22WeJjY2lo6ODEydO0NXVxcqVK/n5z3+uFIS5lVC/fPkyNpsNjUZDcnIyZrMZtVpNVVUVNpuN\n6OhodDodDQ0NTExM4HQ6cTgcDA4OYjQaaWtrw2KxoNPpiIyM5LHHHrulcB4bG6OgoOCmbyfuTxLq\n4p4REhKCzWab8bKoqCi2bt3K8PAwJ06coLW1lfHxccLCwvB4PEp97YGBAZqbm+ns7CQ5OZmkpCTM\nZvO00ZLsmL/zxsbGaG5uVqbVDQYDGRkZPPjgg6SlpREUFITP56Ompoa9e/fi8XgoLS1l27Ztyp6K\nW62d0NLSwr59+3j88ccJCQnhvffeIyUlherqaqKiooiJicHj8eB0OpWNdVqtFpfLRXJyMmq1mkce\neQSDwcDBgwfp7OzE7/ff9HPgcrkYGhqisLDwpm8r7k+ypi7uGTdTX35iYoILFy5QX19PV1cXCQkJ\nZGRkMDw8jE6nw+/3MzAwgMvlQqfTYTabiYiIwGQyERkZSWRkJGFhYTQ0NNzUjnkpWXvr3G43ra2t\nymh8YmJCmVLPyMjAbDYr13U4HJw5c4ZvvvkGi8VCaWkpWVlZM65LV1RU8Pbbb5OSkoJWqyUoKAiz\n2UxGRgYqlYqJiQkmJiZwOBzY7XZaW1s5ceIEq1at4pFHHqGyspKmpiaKi4uxWCw4HA4mJiYwGo2Y\nTCbMZjNGo5Fz584xPj5OQkIC2dnZyhuLS5cuUVVVRUlJyU2PuOXEhrhZEurinnEr9eWtViu//e1v\nyc7ORqvVMjo6Snp6Omq1WilMMjo6SldXFyqVSmmaYbfb8fv9aLVaamtrefrpp8nNzSUzM5P4+HiM\nRuOUAJGStTdvsorb5Gi8u7ubxMREJcTj4+OnhfTw8DCnTp3iwoULZGdnU1paSlxc3Iz339XVxdGj\nRzl9+jRut5vh4WGMRiNarRar1Upvby+xsbHk5OSQkJCAWq3m7NmzNDU18f3vfx+VSsWBAwdobm5m\n6dKlrFixYkqIT+6e9/v9nD59ms7OTh544AGl1Oskq9XKJ598QlxcHJs2bbrh58dqtXLixAl+9rOf\nyUyRuGES6uKecrO1vC9evEhTUxPLly9X+k+bTCYyMjIIDw9neHgYh8NBeHg4arUah8OB0+kkNjYW\ns9mM2+3m6NGjBAIBNBoNfX19+P1+QkNDSUxMJCUlBa/XS11dHUuXLmXZsmVKk49rXa+t5+10J2cT\nxsbGlJF4S0sLBoOBzMxMMjMzp7ThvVYgEKCjo4OTJ0/S1tZGcXExq1evnjKd7vV6GR4eZmhoiMHB\nQU6dOsXx48eVGgZmsxmVSoXVasVqtRIWFkZQUBC9vb00NzdjNptpa2tDr9eTlZWlbGp78skn6enp\nQaVSTaka53a7GRoaYmhoiNHRUXQ6HTk5OTMWuwGorKyksrKS11577ZY6xQlxoyTUxT3lZrtuHTt2\nDI/HQ0JCAh0dHaxevZrBwUEuXbqEw+EgOzubzMxMbDYbg4ODWK1WpSiIw+EgNDSUiYkJsrOzeeGF\nF/D5fAwNDdHW1kZjYyMVFRXU1taSkZFBSEgIGo2GsLAwZRo/PDwcg8GAXq9HrVbf0T/Wd2I2weVy\nKVPqzc3NOByOKVPqc72Gfr+fy5cvc+LECRwOB2vWrGHJkiVYrVYlvCf/ndxtbrFYGB4e5ty5czz0\n0ENKcZnJkbPP52N4eJjW1lZGRkaw2+3Y7XbOnj3L2rVrKS4upqenh4ceeojVq1ej0Wj46KOP6O/v\nJzExUQlyh8NBREQEFouFyMjIGd+MXKuurk75GbvRSotbt26VQBc3TUJd3HNupj/2V199RSAQIBAI\nkJubO2Uas6uri/b2dvx+PxqNBpPJhNFoxOfzYbfbGR4eRq1W093dzeDgINu3b6eoqIi0tDRUKtWU\nNxgGg4GJiQlsNhvDw8OMjIxgtVpxOBzA1Z36RqMRs9lMUFAQly9f5o033iA/P/+6gTAfrm2Ac71A\n+S6zCZNT6pOj8Z6eHpKSkpQgnyzYMpfx8XEOHz7M0aNHUavVJCQkEBQUxMjICFqtFovFQlRU1JR/\nIyIi0Gg0U16TsLAwnE6nMjofGxtjYmICg8GA2WzGZDJht9vp6uoiODiYr7/+mu3bt7N161ZCQ0Nx\nu900NzezZ88eLl26REFBARaLBYvFgslkuqHiNZMmq8Klp6fPW6VFIWYioS7uSTcaUh9//DFut5tH\nH3101j+SgUAAh8PB2NgYY2NjWK1WXC4XYWFhqFQqmpubGRgYICkpCbfbTWRkJOvWraO5uRmn0znn\nUoDX68Vut2Oz2RgZGWF0dBSr1UpLSwuDg4MkJydjsVhISUkhIyOD5ORkoqKiiI6OJjQ0dF6fq1tp\nsnO9YLfb7VRUVHDp0iU6OzsZGRkhKiqKdevWkZeXR2pq6ozV/QKBAFardcpou729nbNnz9LS0kJq\nairFxcVkZ2dPCe9vtz29lsfj4e2336a/v5+YmBisViuAsg5uMpkICwtDrVbj9/u5cuUKfX19aLVa\njEYjXq+X8PBw8vPzuXLlCp2dnSQmJpKcnMwnn3zCE088cUtH0q6tZDi5vDGflRaFuJaEurhn3Uh9\n+cmR9/r162/qvifvY3KzklqtJi0tDa/XS19fH8PDw7S0tPDEE0+Qk5NDdHT0TY3cbDYb+/fv53vf\n+x69vb20tLTQ3t6O0+lUQsdkMilhn5CQQHR0NNHR0cqbjRtxs8sVk+bapOVyuaisrOTzzz/nwoUL\nREREKNXaJpcrJkecq1atIiQkZEp4T05hh4SEYLFYlFmPkZERHnjgAdavX3/dc+WBQIDR0VE6Ozvp\n6Oigs7OTrq4uzp49y2OPPUZ0dDQmk4ng4OBpz5XL5aK6uprR0VHMZjPx8fH4/X56e3upqKjg1Vdf\nZfny5WRkZCghfrN7Oa4lO9jF7SShLu55c416gJveMX+tyVHWL37xC6xWKx0dHbS3t3PgwAEGBwdJ\nTEzE6XSi1+tJS0sjKytL2ZR1Pd9u1BEIBBgfH6e/v5++vj7a29tpbm6mo6MDj8eDWq0mEAgQEhJC\nSkoKaWlpxMfHEx0dTVRUFBEREdPeWMxHGG3bto3u7m5lSr2qqoq+vj7y8/NZvnw5ERERuFyuKUfD\nRkdHaWlpobm5meLiYoqLi6dMmUdERNDa2srJkyexWq2sWbOG4uLiWV8jj8dDT08PHR0dSogDSq2B\n5ORkWlpaqKysnPPI49DQEBUVFXg8HmJjY1GpVOj1emVavba2lvLy8mnNUxbizZEQC0GKz4h7nsFg\nmLODVXFxMU1NTbcUbE1NTZSUlGAymZT64aWlpeh0Ojo6OoiLi2NgYIDOzk5qamo4c+YMYWFhpKWl\nKbuhNRrNjCFvNpuntPVUqVSEhYURFhZGZmYmDz74IPB/o9L+/n4GBgbo6OigpaWFr7/+mkAgoIS9\nWq0mOTmZ1NRU4uLiCA0N5fjx4zzxxBM3/X1PbhLcvXs3V65cISoqiqSkJKUxykMPPYRarVY2v+l0\nOkJDQwkNDcVgMBAVFcXy5ctxuVycOHGC9PR0Vq5cidvt5ty5c3zwwQeEhoZSWlrKsmXLprwZCQQC\njI2NTRmF9/f3Ex0dTXJyMnl5eWzevHnam6eqqqpZd58DtLe3s3//fiIiIsjJySE2NpbIyMgpbyTC\nw8OntVoFSExMZNu2bbe8jCGBLm4XCXWx6N1qVTGr1Up7eztbtmyZdtlkL/fY2FhiY2PJz8/H6/Uy\nNDTElStXaG1tpa2tDa/XC4BWq1U+dDodOp2O4eFhpemIwWDAYDBgNBoxGo2EhYWh1+sJCgpCp9MR\nFBREeHg4MTExFBUVERQUhFqtZmRkhP7+fvr7++nu7qalpYVjx46hVqvp7e3F6/Vy+PBhZZOe0WhU\nwjc0NFQpu3vtDvj+/n7lqFtoaCgjIyOEhIRw7Ngx6uvrlVCbvA+9Xj9r/fKQkBDKysrYsWMHjY2N\ntLe3k5qayrPPPktSUhIqlQqv10tnZ+eUEA8EAsoIfNOmTSQkJMy4Nv/t1+TaMsLflpCQwKZNm0hL\nS5t1qUSn0+FyuWa8bHJ/wY1uOGxvb5cjaeK2k1AXi95CjLJmKlmr1WqVkJ8UCATwer24XC7lw+12\n43K58Hq9ynGryQY0105hA2g0GtRqNWq1WimOo1KplA+9Xj9lhBwTE0NiYqIyHa7RaNDpdIyMjNDb\n26vc32SYut1uvF4vXq+XoKAgQkJCiIyMJDY2VtmoFx0dzfe//30+/fRTUlNTb2rGw2az0dXVhd1u\n58KFC/zLv/wLWq2Wjo4Oampq6OjoUEbhSUlJ5ObmsmnTJqVxz82Yq4zw5OuTkZEx531cr3nKypUr\nSUhIoKKigkOHDs25g33Lli0yQhe3nYS6uC/M9ygrNjaWhoaG635dlUqljMyNRuOUy0ZHR6esqV8r\nEAjgdrtxOByzftjtdsbHxxkfH1eO0nV0dBAIBNBqtYyMjChNR8LDw5U3GJNhDv83ujUYDAQFBaHR\naJSjeGFhYYyPj+PxeGhpaeHUqVNs3rz5ut9zIBBQHovdbicyMpLi4mK+/PJL3n77bXQ6nbIWfqOj\n8Btxo6/JXG6keUpCQgIvvPACTz311LS9HAUFBbKDXdxREurivjGfo6zCwkL27Nmj/DG/Wddr1KFS\nqQgODiY4OHjOdeJvCwQCeDweHA4HH374IUNDQ6SlpeHxePB6vTP+6/F4lJmDyfvwer1K29Hm5mb2\n7t1LeHg44+PjyvKA2WxW6uSbTCal8ltzczMulwu9Xo9KpcJut2M2m8nMzKS4uJjHHnvspkfhN2Kh\nX5Nvu95eDiHuBAl1cV+Zr1GWwWCYlw148z2iU6lUBAUFERQURE5ODseOHSM6OvqGbuvz+aYF/unT\np9mwYQPd3d1MTExgsViwWq2MjIzQ1dWF0+nE7XYTCAQIDw8nNDSUpKQkMjMzMZvNhIWFKevtPp+P\niYmJBQl0uHtfEyFuJwl1cV+aj1HWQmzAm083O3LVaDRoNBrlupMbxl555RX27NmDw+GYUv98kt/v\nx263EwgE5jxDP9cmtPlyt78mQiy0G6+WIYSYYnID3vHjx5XqZdczuQFv69atC76J6tqR6624duQa\nEhKiTM9/m1qtVurdzzUKv94mtPlwt78mQiw0CXUhvoOVK1cqIVJbWzvrSNTlclFbW8uJEydu6zGn\n8vJy2trabjjgJk2OXMvLy4Grm9BGR0e/02MZGxubcjJgodztr4kQC0mm34X4ju7mY07zdZzvdm9C\n+67u5tdEiIUkZWKFmEd3a6OOm+nSNlvbz3u1/vnd+poIsRAk1IW4T9xIA5y52n5K/XMh7n4S6kLc\nZ77LyHUh27gKIb47CXUhxE2Zj6l8IcTCkFAXQty07zqVL4RYGBLqQohbJpvQhLi7SKgLIYQQi4QU\nnxFCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQ\nYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1\nIYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEW\nCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdC\nCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQ\nUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQ\nYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1IYQQYpGQUBdCCCEWCQl1\nIYQQYpGQUBdCCCEWCQl1IYQQYpH4/+eNvMToovt4AAAAAElFTkSuQmCC\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x1062c1c90>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# draw graph... we'll get back to this\n", | |
"nx.draw(office, pos=nx.spring_layout(office), node_color='gray', alpha=0.5)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Actual data scientist configuration" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The **size** of a graph is essentially the number of edges. \n", | |
"The **weighted size** is the sum of the weights of the edges." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"(12, 9.1)\n" | |
] | |
} | |
], | |
"source": [ | |
"data_scientists = ['d0','d1','e1','g0','r0','r1','r2','v0','v1','v2','y2','z2']\n", | |
"svds_G = office.subgraph(data_scientists)\n", | |
"svds_size = svds_G.size()\n", | |
"svds_size_weighted = svds_G.size(weight='weight')\n", | |
"print(svds_size, svds_size_weighted)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x1120ef2d0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# draw graph... we'll get back to this\n", | |
"nx.draw_networkx_nodes(office, pos=nx.spring_layout(office), node_color='gray', alpha=0.5)\n", | |
"nx.draw(svds_G, pos=nx.spring_layout(office), node_color='dodgerblue')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Random configurations" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"num_trials = 10000\n", | |
"num_ds = len(data_scientists)\n", | |
"\n", | |
"np.random.seed(42)\n", | |
"\n", | |
"# save the hi/lo configurations\n", | |
"subG_hi = (svds_size, svds_G)\n", | |
"subG_lo = (svds_size, svds_G)\n", | |
"\n", | |
"# store results in an array\n", | |
"size_array = np.empty(num_trials)\n", | |
"size_weighted_array = np.empty(num_trials)\n", | |
"\n", | |
"for i in xrange(num_trials):\n", | |
" random_ds = np.random.choice(office.nodes(), num_ds, replace=False)\n", | |
" subG = office.subgraph(random_ds)\n", | |
" \n", | |
" size = subG.size()\n", | |
" size_weighted = subG.size(weight='weight')\n", | |
" \n", | |
" if size_weighted > subG_hi[0]:\n", | |
" subG_hi = (size_weighted, subG)\n", | |
" elif size_weighted < subG_lo[0]:\n", | |
" subG_lo = (size_weighted, subG)\n", | |
" \n", | |
" size_array[i] = size\n", | |
" size_weighted_array[i] = size_weighted" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"84.780000000000001" | |
] | |
}, | |
"execution_count": 16, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"scipy.stats.percentileofscore(size_array, svds_size)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"91.734999999999999" | |
] | |
}, | |
"execution_count": 17, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"scipy.stats.percentileofscore(size_weighted_array, svds_size_weighted)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA2EAAAGVCAYAAAB3kPkZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XucVVX9//HXBzS1rylomlccLS0xE7/mpUxESiH9on5R\nzFJ0vH/NS15Kf15CNMzKvqHf8spXRLIyUVNIU0MZRIvUEO8hX7nlLUUQL4AofH5/rH2GzZm9Zs6Z\nOfucMzPv5+OxH8PZe+291/nMZq1Ze6+1trk7IiIiIiIiUh09ap0BERERERGR7kSNMBERERERkSpS\nI0xERERERKSK1AgTERERERGpIjXCREREREREqkiNMBERERERkSpSI0y6FDM71Mymmtm/zGypmc0z\nsz+Y2aBUmmPNbKWZ9alSno41s1Wp5X0zm2tmd5nZMDOzovTbJOmOKeMc+5rZJe3I1xpxSOI1vpzj\ntCdf7fmOIiIxZnZkUqZ8rWj9psn61zP2OS3Z1rfMc00xs4fbmc9VZnZZCem+Z2b/2Z5ztHHceWY2\ntoR0/czsDjObb2bLzew1M3vYzM5IpalqOZ46X2FZbmavm9nkJF7rZ+wzt5TvW3SOS8ysoR35Oia1\nbpyZ/bPUY3QkX+V+R6kfaoRJl2FmZwJ3AbOA44EDgR8BDuyXSvpH4CtAi0o5Rw4cBuwFfBO4GFgO\n/A540MzWSaV9PUl3bxnHHwCMMLNy/k9nxaHSLw4cQHa+2vMdRURipiY/+xet7w8sBTY1sx2Ktu0D\nLHT3F8o816nAd8vPYlnOAireCKOEMt7Mdgf+CmwM/AA4APg+8A/g0FTSWpXjlyfnHUj4XTwDXAY8\nY2afK0p7KOHvgFI1AJcA25WxT1YcnMrWpw3E81Xud5Q6sVatMyBSQecCd7n7yal1TcBN6UTu/jbw\ndhXzVfC0u89Jff6NmU0A7gB+Bnwvyd8K4PEyj21FP+MJzdZy94+rFIfMfLXzO4qIZHL3181sDqHR\n9ePUpv7AQ8COyb9fSm3bB5jWjnP9owNZ7QzOABYD+7v7x6n1v00nqmE5Ptfd0+e928yuAaYDE4Bd\nCxvc/ekyj22U0Xgys7WrFIdovtrxHaVO6EmYdCUbAf9qK5GZNSZdB/okn28u6uKQXvqn9tvFzCaa\n2aKkq+OjxV1fyuXufwDuAU4ys3WT82R1bdjdzB40s4Vm9oGZvWxmv0q2XQKMSJJ+lOy7suhYp5rZ\n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\nSI0wKYn6k8cpNnGKjYhUi8qbOMUmTrGRWlEjTEREREREpIo0MYeURH2m4xSbOMVGRKqlveXNG+/D\nR6uyty3/uP35qScqi+MUG6kVNcJERKRdGhoa6NGjB3PmzKl1VkTa7Tt3wcuLa50LEclDPddT6o4o\nJVGf6TjFJk6xaWno0KH06NGDvn37dvhYjY2N9OjRgwULFlQgZ+XTlPNST1TexCk2cYpNS6qnqkNP\nwkREqmThwoXce++99OjRg1mzZjF9+nT22muvdh+v8HJJEWndrIWwKvL6pw+7SJdDkUpQPVU9ehIm\nJVGf6TjFJk6xWdP48eP5+OOPOeecc3B3xo4d26Hj6aWiIqu1Vt4MnQCDf5u9vPJe9fJYKyqL4xSb\nNameqh41wkREquTmm29m/fXX57LLLmOnnXbi9ttvZ9myZZlpH374YYYMGcKmm27Kuuuuy7bbbsvw\n4cN54YUXANh2220ZP348sLrPe48ePRg4cCAA8+fPp0ePHhx//PGZx0+nLZgxYwannXYaX/ziF9lw\nww1Zf/312W233bj22msrFQIREaljqqeqR40wKUln6TM9ahpsc3X2ctkj+Zyzs8SmFhSb1Z544gme\nf/55Dj/8cNZdd12GDx/Oe++9x4QJE1qk/cUvfsE3vvENpk2bxkEHHcS5557LPvvsw5QpU5g8eTIA\nZ599NrvssgsAZ511FiNHjmTkyJE0Nja2O49jxoxh0qRJ9OvXj1NPPZVjjz2Wd999l9NPP51zzjmn\n3ccVqQaVN3GKTZxis5rqqerSmDARkSq46aabMDOOPvpoAI466iguvPBCxo4dyzHHHNOc7umnn+a8\n886joaGBv/zlL2y22WbN21atWsXbb78NwJlnnslTTz3FM888w1lnnUWfPn06nMeLLrqI6667bo11\nq1at4qCDDuKXv/wlZ599NltvvXWHzyMiIvVH9VR16UmYlER9puMUmzjFJli+fDm///3v2XLLLdlv\nv/0A2HLLLRkwYADTpk3j5Zdfbk57/fXX4+5cfvnla1RsELpmbLLJJrnlc6uttmqxrkePHpx00kms\nWrWKKVOm5HZukY5SeROn2MQpNoHqqepTI0xE6pNZbZYc3HHHHSxZsoSjjjpqjfXDhw/H3bn55pub\n1z355JMA7L///rnkpTUrVqzgyiuvZPfdd2eDDTZo7r9/+OGHA/D6669XPU8iInVL9VQueWlNV6qn\n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\nMzMzMzNrov8PSggYu6LTy3gAAAAASUVORK5CYII=\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x111f95dd0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.figure(figsize=(14,6))\n", | |
"\n", | |
"plt.subplot(1, 2, 1)\n", | |
"plt.hist(size_array, bins=np.linspace(0, 25, 51), alpha=1, \n", | |
" histtype='stepfilled', color='dodgerblue', lw=0, normed=True)\n", | |
"plt.axvline(svds_size, c='r', lw=3, label='Actual')\n", | |
"plt.grid(True)\n", | |
"plt.xlabel('Size')\n", | |
"plt.ylabel('Frequency')\n", | |
"plt.title('Size Distribution')\n", | |
"plt.legend()\n", | |
"plt.xlim(0, 25)\n", | |
"\n", | |
"plt.subplot(1, 2, 2)\n", | |
"plt.hist(size_weighted_array, bins=np.linspace(0, 25, 51), alpha=1, \n", | |
" histtype='stepfilled', color='dodgerblue', lw=0, normed=True)\n", | |
"plt.axvline(svds_size_weighted, c='r', lw=3, label='Actual')\n", | |
"plt.grid(True)\n", | |
"plt.xlabel('Weighted Size')\n", | |
"plt.ylabel('Frequency')\n", | |
"plt.title('Weighted Size Distribution')\n", | |
"plt.xlim(0, 25)\n", | |
"plt.legend()\n", | |
"plt.savefig('output/size-distribution.png'.format(i), dpi=100, bbox_inches='tight')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### fix positions of nodes " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# convert my ad-hoc node labels into a physical grid\n", | |
"def label_to_pos(label, rotate=0, offset=(0, 0), scale=(1, 1)):\n", | |
" x = float(ord(label[0]) - ord('a'))\n", | |
" y = float(label[1])\n", | |
" \n", | |
" new_x = float(x*np.cos(np.deg2rad(rotate)) - y*np.sin(np.deg2rad(rotate)))\n", | |
" new_y = float(x*np.sin(np.deg2rad(rotate)) + y*np.cos(np.deg2rad(rotate)))\n", | |
" \n", | |
" new_x *= scale[0]\n", | |
" new_y *= scale[1]\n", | |
" \n", | |
" new_x += offset[0]\n", | |
" new_y += offset[1]\n", | |
"\n", | |
" return new_x, new_y" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# create a dictionay of positions for each node\n", | |
"pos = { node : label_to_pos(node, **pos_opts) \n", | |
" for (G, pos_opts) in zip(\n", | |
" clusters, \n", | |
" [{'scale':(1,-1)}, \n", | |
" {'offset':(5, 0), 'scale':(1,-1)}, \n", | |
" {'rotate':90, 'offset':(22.5, 17), 'scale':(1, -1)}]\n", | |
" ) \n", | |
" for node in G.nodes()}" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x10f561f50>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Distribution of \"physical\" distance between neighbors\n", | |
"distance = lambda pair: np.sqrt((pair[0][0] - pair[1][0])**2 + (pair[0][1] - pair[1][1])**2)\n", | |
"\n", | |
"plt.figure(figsize=(8,6))\n", | |
"plt.hist([distance([pos[node] for node in edge]) for edge in office.edges_iter()], \n", | |
" bins=25, color='dodgerblue', lw=0)\n", | |
"plt.xlabel('Distance')\n", | |
"plt.ylabel('Edge Counts')\n", | |
"plt.xlim(0, None)\n", | |
"plt.grid(True)\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Draw office graph " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def draw_office(G, subG, title=''):\n", | |
" edges, weights = zip(*nx.get_edge_attributes(subG,'weight').items())\n", | |
" \n", | |
" nx.draw_networkx_nodes(G, pos, node_color='gray', node_size=50, alpha=.25)\n", | |
" \n", | |
" size, size_weighted = subG.size(), subG.size(weight='weight')\n", | |
"\n", | |
" nx.draw(subG, pos, node_color='dodgerblue', node_size=50, \n", | |
" edgelist=edges, edge_color=weights, width=3, line_width=0,\n", | |
" edge_cmap=plt.cm.viridis_r, edge_vmin=.2, edge_vmax=1)\n", | |
"\n", | |
" plt.axes().set_aspect('equal', 'datalim')\n", | |
" \n", | |
" plt.title(title)\n", | |
" plt.gca().text(0.5, 0.4, 'weighted size = {:02.1f}'.format(size_weighted),\n", | |
" verticalalignment='bottom', horizontalalignment='center',\n", | |
" transform=plt.gca().transAxes)\n", | |
" \n", | |
" return size, size_weighted" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x1120ef250>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# all connections\n", | |
"plt.figure(figsize=(12, 4))\n", | |
"size, size_weighted = draw_office(office, office, 'All Connections')\n", | |
"plt.savefig('output/01-all-connections.png'.format(i), dpi=100, bbox_inches='tight')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\nrkJggg==\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x113091310>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# actual configuration\n", | |
"plt.figure(figsize=(12, 4))\n", | |
"size, size_weighted = draw_office(office, svds_G, 'Actual State')\n", | |
"plt.savefig('output/02-actual-state.png'.format(i), dpi=100, bbox_inches='tight')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n3adPHzVt2jTukpdvmjlzpjZu3Fjjx4YNG3TllVfa6tWOHj16qLCwUNOnT9drr72mYDCopUuXas6c\nObIsq9oSHwCwg+UcAOqFgoICHTlyRGvWrNF7772n8847T61bt1Z+fr7efPNNdejQQV988YUGDx4c\nfUwgENDChQvjvtnMsix9+eWXaty4cbVje/bsUfPmzastJWjTpk3c3lq0aFFtLDMzU+Fw+DufVyAQ\nUHl5uc4666xT9niip3jXb9OmjXbs2FHjNa677jodOXJEzzzzjJ544gmlp6dr2LBh+uMf/6iOHTvW\n+Nh77rlHL730koqLi5WbmxvTtzEmZixe36fSoUMHZWdn13iO5OxyDkl69tlndc011+inP/2pjDHy\ner36/e9/r0mTJqlt27aOXhtAw0aIBlAv/OhHP1LLli31xhtv6P3334/ecS4oKNCSJUvUvn17ZWZm\nxtyZbdmypQYMGKA777xTxphqNU+1I0fbtm114MABRSKRmBD3xRdfJPlZHe+xTZs2evTRR+P22K1b\nt2hP8a5f254mTpyoiRMnKhgM6rXXXtNvf/tbjRkzpsat/Z577jk9+OCDmj9/fnSd+Tf7tixLxcXF\ncXewaNmyZY39TJgw4Tt30rAsS88++6yuu+66Gs87He3atVNJSYk+//xz7d+/X7m5ufrwww8lqdpz\nBgA7CNEA6o2BAwequLhYW7Zsib7hrqCgQHfddZeaNm2qvn37xix3GDp0qNatW6eePXtG38hXGxde\neKGOHTumpUuXxizhWLJkScK9Z2Zmxl1GMXToUM2dO1cdOnRQq1atTvn4fv366dVXX1UoFJLH45F0\nfIu2d999t1Z3dE/wer0aNWqU1q1bV+PuHmvXrtUNN9ygu+++W9dee22144WFhXK5XNq5c2dCf6Rl\n5syZuuWWW77zvGT8IZnaOPvss3X22WdLkh555BH16NFDAwcO/F6uDaBhIkQDqDcKCgo0ZcqUmB04\nevXqpaZNm+qtt96K2e5OkmbNmqW+ffvq4osv1s0336xOnTrpwIED2rx5s7Zv3y6/3x/3OoWFhcrP\nz9eNN96ovXv3qkuXLvrb3/6mTZs2SVJCa2V79uypefPm6cknn9QFF1wgt9utH/7wh/rNb36jJUuW\nKD8/X7/5zW/UrVs3HT58WFu2bNHbb78d3Y7vP//zP/XXv/5VhYWF+o//+A8dOXJEM2bMiAa/mkya\nNElNmjRRv3795PP5tHXrVv3lL3/RZZddFvf8gwcPavjw4erRo4cuv/xyrV+/PnosMzNT559/vjp3\n7qypU6egbfKeAAAJGUlEQVTq5ptv1pYtWzRw4EC53W7t2rVLr7/+uiZOnFhjCD3nnHN0zjnn2JzF\n+FavXq29e/dqz549kqQNGzaoUaNGkqSRI0dGz7vkkku0a9cubdu2LTr25JNPyu12KycnR3v27NGC\nBQu0Zs0alZSUJKU3AGewOn1bIwB8w8cff2xcLpfp379/zPjPfvYzk5aWFrNrxgkVFRVm4sSJpn37\n9iYzM9O0a9fODBkyxCxatCh6zowZM0xaWlrM4/bt22d++ctfmqZNm5rmzZub8ePHmwULFhiXy2U2\nbdoUPW/QoEFmwIAB1a6bk5NjJkyYEP388OHDZuzYsaZFixbG5XLF7KhRWVlpfvvb35rOnTubzMxM\n06ZNGzNgwAAzZ86cmJpvvPGG6dWrl3G73SY3N9c8/fTT5vrrr//O3TkWLlxoBg8ebNq0aWPcbrfp\n3Lmzuf32283BgwdjnseJ3U927NhhXC5X3I9vX+u///u/Tb9+/Uzjxo1NkyZNTM+ePc0tt9xiKioq\nauwpmQYNGnTKfr99XufOnWPG5s6da7p37248Ho9p2bKlGTlypPn444+/t96BY8eOmd27d5uysjKz\ne/duc+zYsXpd1xhjDhw4YGbPnm1unPRrM3v27Go7IOE4y5g4i/QA4Aw0ZcoULVy4UPv374/7RkAA\nsCMYDKq0tFSWZcntdiscDssYo7y8PHm93npXV5JWrFihkaPHKSMnXyY7T1ZFqY5uf0cvLl5U7Q8X\nnelYzgHgjLRgwQIFg0H94Ac/0JEjR7RixQo9/fTTmjp1KgEawGmLRCIqLS2Vz+eLCbYnAnBBQUFC\nu9M4VVeSKisrNXL0ODUa94I83Qqj46GtxRo5eox27/rktEN6Q8ImmQDOSI0aNdL8+fM1YsQIjRgx\nQsXFxXrooYf0wAMP1HVrABqAQCAgy7KqhU6v1yvLshQIBOpVXUny+/3KyMmPCdCS5OlWqIyc/FO+\nz+RMxZ1oAGekq6+++pR/XAUATldVVVXMbkLf5Ha7bf9RJKfrStK2snKZ7Ly4x0x2H5WVlydcuyHi\nTjQAAECSZWVlnfIPMoXD4ehWlvWlriR17ZIrq6I07jGrYoO6xPnjS2cyQjQAAECS+Xw+GWMUDAZj\nxoPBoIwx8vl89aquJBUVFeno9ncU2locMx7aWqyj299RUVFRwrUbInbnAAAAcEDq787RR1bFBnbn\nOAVCNAAAgEMikYgCgUD0r5H6fL6Ed8/4PupKx0O63+9XWXm5uuTmqqioiF054iBEAwAAADaxJhoA\nAACwiRANAAAA2ESIBgAAAGwiRAMAAAA2EaIBAAAAmwjRAAAAgE2EaAAAAMAmQjQAAABgEyEaAAAA\nsIkQDQAAANhEiAYAAABsIkQDAAAANhGiAQAAAJsI0QAAAIBNhGgAAADAJkI0AAAAYBMhGgAAALCJ\nEA0AAADYRIgGAAAAbCJEAwAAADYRogEAAACbCNEAAACATYRoAAAAwCZCNAAAAGATIRoAAACwiRAN\nAAAA2ESIBgAAAGwiRAMAAAA2EaIBAAAAmwjRAAAAgE2EaAAAAMAmQjQAAABgEyEaAAAAsIkQDQAA\nANiUXtcNAAAANFSRSESBQEBVVVXKysqSz+dTWlpava3rdO2GxDLGmLpuAgAAoKEJBoMqLS2VZVly\nu90Kh8MyxigvL09er7fe1XW6dkNDiAYAAEiySCSikpIS+Xy+mPAZDAYVCARUUFCQ0N1dp+o6Xbsh\nYk00AABAkgUCAVmWVe3urdfrlWVZCgQC9aqu07UbIkI0AABAklVVVcntdsc95na7FQqF6lVdp2s3\nRIRoAACAJMvKylI4HI57LBwOy+Px1Ku6TtduiAjRAAAASebz+WSMUTAYjBkPBoMyxsjn89Wruk7X\nboh4YyEAAIAD2J2jYSNEAwAAOOTEnsuhUEgejyfp+0Qnu67TtRsSQjQAAABgE2uiAQAAAJsI0QAA\nAIBNhGgAAADAJkI0AAAAYBMhGgAAALCJEA0AAADYRIgGAAAAbCJEAwAAADYRogEAAACbCNEAAACA\nTYRoAAAAwCZCNAAAAGBTel03AAAA0FBVVlbK7/drW1m5unbJVVFRkZo1a3badSORiAKBgKqqqpSV\nlSWfz6e0tLQkdOxczw2NZYwxdd0EAABAQ7NixQqNHD1OGTn5Mtl5sipKdXT7O3px8SINHTo04brB\nYFClpaWyLEtut1vhcFjGGOXl5cnr9dbLnhsiQjQAAECSVVZWKrtjrhqNe0GeboXR8dDWYh1eNEa7\nd32SUOCNRCIqKSmRz+eLeXwwGFQgEFBBQUHCd6Sd6rmhYk00AABAkvn9fmXk5MeEUUnydCtURk6+\n/H5/QnUDgYAsy6oWZr1eryzLUiAQqHc9N1SEaAAAgCTbVlYuk50X95jJ7qOy8vKE6lZVVcntdsc9\n5na7FQqFEqorOddzQ0WIBgAASLKuXXJlVZTGPWZVbFCX3NyE6mZlZSkcDsc9Fg6H5fF4EqorOddz\nQ0WIBgAASLKioiId3f6OQluLY8ZDW4t1dPs7KioqSqiuz+eTMUbBYDBmPBgMyhgjn89X73puqNji\nDgAAIMmaNWumFxcv0sjRY/RVTr5Mdh9ZFRuiO10k+ga9tLQ05eXlqbS0VHv37q22O8fpbHPnVM8N\nFbtzAAAAOCQYDMrv96usvFxdco/vuZyMMHpin+hQKCSPx5PUfaKd6rmhIUQDAAAANrEmGgAAALCJ\nEA0AAADYRIgGAAAAbCJEAwAAADYRogEAAACbCNEAAACATYRoAAAAwCZCNAAAAGATIRoAAACwiRAN\nAAAA2ESIBgAAAGwiRAMAAAA2EaIBAAAAmwjRAAAAgE2EaAAAAMAmQjQAAABgEyEaAAAAsIkQDQAA\nANhEiAYAAABsIkQDAAAANhGiAQAAAJsI0QAAAIBNhGgAAADAJkI0AAAAYBMhGgAAALCJEA0AAADY\nRIgGAAAAbCJEAwAAADYRogEAAACbCNEAAACATYRoAAAAwCZCNAAAAGATIRoAAACwiRANAAAA2ESI\nBgAAAGwiRAMAAAA2EaIBAAAAmwjRAAAAgE2EaAAAAMAmQjQAAABgEyEaAAAAsIkQDQAAANhEiAYA\nAABs+v84t+5S/4NvDgAAAABJRU5ErkJggg==\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x1133c6490>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# example of lowly clustered\n", | |
"plt.figure(figsize=(12, 4))\n", | |
"size, size_weighted = draw_office(office, subG_lo[1], 'Highly Distributed')\n", | |
"plt.savefig('output/03-distributed-state.png'.format(i), dpi=100, bbox_inches='tight')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 26, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\nAAAAAElFTkSuQmCC\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x1133ed510>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# random configuration\n", | |
"plt.figure(figsize=(12, 4))\n", | |
"np.random.seed(42)\n", | |
"random_ds = np.random.choice(office.nodes(), len(data_scientists), replace=False)\n", | |
"size, size_weighted = draw_office(office, office.subgraph(random_ds), 'Random State')\n", | |
"plt.savefig('output/04-random-state.png'.format(i), dpi=100, bbox_inches='tight')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 27, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtEAAAERCAYAAAC9yfsuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt4k+X9x/FPekwKPVEIh1pLKaWCOhVskbMUUIYITmAy\n2Rxq0R8qHoY6Jg6BTZ2nOU+oo1NAmYIDVKZWCwVBTgXFAygorZSzKYeGQxugIb8/WNKGpoekaZvW\n9+u6uCTP8+SbO7fG69O739yPweFwOAQAAACg1oIaewAAAABAU0OIBgAAALxEiAYAAAC8RIgGAAAA\nvESIBgAAALxEiAYAAAC8RIgG0GzNnTtXQUFBKigoqHTObrcrKChIM2fOdLs+ODhYu3bt8vq1xo8f\nr4SEhBqvmzNnjoKCgnx6jars3r1bd911l7p06SKTyaTIyEilp6frscce09GjRyVJhYWFCgoK0rx5\n8/z2uk6FhYWaMWOGdu7c6de6n376qYKCgrRq1Sq/1gUAfwhp7AEAQH0yGAy1vnb48OFat26d2rdv\n79Pr1Oa1antdba1atUojR45U27Ztdc899+iiiy7S6dOntX79es2aNUuHDh3SM88847fX82Tnzp2a\nMWOG+vXrp44dO/q1tj/nCgD8iRANAP8TFxenuLi4xh5GrRUXF2vMmDG68MILtWzZMhmNRte5wYMH\na/LkyVq7dm29j8PhcBB2Afzs0M4BAP/jqdWitLRUEydOVOvWrRUVFaVRo0Zp3bp1VbZGfPnll+rf\nv79atGihLl266NVXX632Na+99lr16NGj0vGdO3cqODhYs2fPrvK5//znP3Xw4EG98MILbgHayWQy\nadCgQVU+/8orr1RGRkal4x07dtQtt9zievzTTz/p97//veLj42U0GtWhQweNGDFCBw8e1Keffuqq\nMXjwYAUFBSk4ONitBWP27Nm69NJLZTKZ1KZNG2VmZurIkSNur3nw4EHdeOONio6OVmxsrMaPH6/i\n4mJxU10AgYoQDaDZs9vtlf6UlZVVus5Tq8WECRM0Z84cPfjgg1qyZIlSU1M1btw4jyuvVqtV48aN\n0+9+9zu9//77Sk9P18SJE/Xpp59WObY77rhDX375pTZt2uR2/NVXX1XLli114403Vvnc5cuXq127\ndrrssstqmgKPqlo9Pvf4b3/7W23YsEHPPPOMli1bphdeeEHnnXeeSkpK1KNHD7300kuSpBdffFHr\n16/XunXr1L17d0nSlClTdOedd+qqq67S0qVL9fTTTys7O1vDhg1zC8i/+tWv9OGHH+pvf/ubFi5c\nqJCQEE2aNIkVbgABi3YOAM2aw+FQamqqx3M1BbTvv/9eb731lp588klNnjxZkjRo0CCdOHFCL774\nYqXrjx8/rpdffln9+/eXJPXr108ff/yx3nrrLQ0YMMDjawwdOlRJSUl69dVXdfnll0uSysrKNGfO\nHP32t79VixYtqhzf7t27/d6D7Mn69ev1+OOPa+zYsa5jo0aNcv29W7ducjgcuuCCC5Senu46XlhY\nqKefflozZszQ1KlTXce7dOmiPn36aOnSpRoxYoRycnK0Zs0aLViwQGPGjJEkDRkyRMOGDdPevXvr\n/f0BgC9YiQbQrBkMBr333nvatGmT258NGzbU2CqwYcMGSdLo0aPdjo8ePdrjcyMiIlwBWpLCwsKU\nkpJS7U4cBoNBt99+u95++20dO3ZMkrRkyRJZLBbdfvvttX6f9SktLU1PPfWUnn/+eW3ZsqXWz8vJ\nyZHD4dCNN97o9luAtLQ0RUVFuVo+1q1bp5CQEF1//fVuz68Y2gEg0BCiATR7F154obp3717pT032\n798vSTKbzW7H27Zt6/H62NjYSsfCw8Nls9mqfZ1bb71Vdrtdb7zxhiTplVdeUXp6un7xi19U+7yE\nhAS/byvnycKFCzVixAg99dRTuuSSSxQfH6+//OUvNT7PYrHI4XAoOTlZoaGhrj9hYWE6duyYDh06\nJEk6cOCAYmNjFRwc7Pb8quYZAAIB7RwAUAXnVncWi0WJiYmu4z/99JNfX6dVq1YaM2aMXn31VV11\n1VVauXKlXnvttRqfN3jwYC1btkybN2/2qS/aaDS6Vr8rOnz4sNvj1q1b64UXXtALL7ygH374QXPn\nztUjjzwis9nsWi331BoTFxcng8GgnJwcxcTEeDwvnZ3nI0eOyG63uwVpf88zAPgTK9EAUIWePXtK\nkt555x234wsXLvT7F97uuOMOffPNN8rMzFR0dLRuuOGGGp+TmZmpuLg43XXXXSopKal0vrS0VMuX\nL6/y+YmJifr+++/dvmS5atUqj8HaKSUlRX/9618VGxvrau0IDw+Xw+FQaWmp27VDhgxRUFCQCgsL\nPf4mwPmDSa9evVRWVqZFixa5Pf+tt96qcQ4AoLGwEg0AVejSpYtuvPFG/fnPf5bdblePHj2Um5ur\n//73v5KkoCD/rUP07NlT3bt31+rVq3X33Xd73LLuXLGxsVq0aJFGjhyp7t27a9KkSa6brWzYsEGv\nvvqqxowZU+U2d2PHjtXs2bN18803a/z48SooKNCzzz7rtmp89OhRDR48WOPGjdMFF1yg0NBQvfvu\nuyouLtbVV18t6ew8hYSE6LXXXlNsbKzCw8OVmpqqTp066cEHH9Rdd92lbdu2acCAATIajdq1a5eW\nLVumCRMmaMCAARo8eLD69u2r22+/XUVFRUpJSdGCBQu0detW/0wuANQDQjSAn63a3D1w9uzZioqK\n0lNPPaVTp05p0KBBmjVrlq655hpFR0dXqlfV69TG6NGjtXnzZt122221ewM6uwPIV199paeeekr/\n+Mc/tGfPHoWGhqpr166aNGmSJk6cWOU4rrzySr3yyit6+umntXjxYl122WWaP3++Ro0a5brWaDSq\nR48eysrKct06PDU1Vf/+9781fPhwSWfbUV566SU98cQTuvLKK2W327VixQr1799fjz76qLp166aX\nXnpJs2bNksFgUEJCggYNGqSUlBTXWJYsWaK7775bDz30kIKDgzVy5Ei99NJLuu6662o9FwDQkAwO\ndrIHAK889dRT+tOf/qSdO3fqvPPO81vdPn36KCQkpNp9pQEAgYGVaACoxgcffKAtW7bo0ksvVVBQ\nkFatWqVnnnlGN9xwg18C9KlTp/TFF18oJydH69ev1/vvv++HUQMA6hshGgCqERkZqXfffVdPPPGE\nTpw4ofj4eN17772aPn26X+rv379fvXv3VmxsrKZOnaprrrnGL3UBAPWLdg4AAADAS2xxBwAAAHiJ\nEA0AAAB4iRANAAAAeIkQDQAAAHiJEA0AAAB4iRANAAAAeIkQDQAAAHiJEA0AAAB4iRANAAAAeIkQ\nDQAAAHiJEA0AAAB4iRANAAAAeIkQDQAAAHiJEA0AAAB4iRANAAAAeIkQDQAAAHiJEA0AAAB4iRAN\nAAAAeIkQDQAAAHgppLEHgKbNbrfLYrGopKREERERMpvNCg4ODvja9YG5KMdclGMugOrxGSlXX+Mt\nLi5WVlaWftiRr5TOycrMzFRMTIwfRvzzZnA4HI7GHgSaJqvVqry8PBkMBhmNRtlsNjkcDqWnpys6\nOjpga9cH5qIcc1GOuQCqx2ekXH2NNzs7W6NuGKewpL5yxKfLsDdPp378TIsWzNfQoUP9+A5+fgjR\n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\nRAMAAABe+n+f7KPGVlcZWgAAAABJRU5ErkJggg==\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x113af4b50>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# example of highly clustered\n", | |
"plt.figure(figsize=(12, 4))\n", | |
"size, size_weighted = draw_office(office, subG_hi[1], 'Highly Clusted')\n", | |
"plt.savefig('output/05-clustered-state.png'.format(i), dpi=100, bbox_inches='tight')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 28, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtEAAAERCAYAAAC9yfsuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd4VGX+/vF70jMJqRBKCIFQQlCU3hEIghQFFCmCIiio\nCK7wRVlEV4G1/yxrwUavC6wgiGgQKYJUI64FAYHQVQKBRCAFMjm/P7KZZDKTckJCCL5f18V1Meec\n+cyTxx325uE5n2MxDMMQAAAAgGJzK+8BAAAAABUNIRoAAAAwiRANAAAAmESIBgAAAEwiRAMAAAAm\nEaIBAAAAkwjRAMrVvHnz5ObmJjc3Nx08eNDp/Ndff20/v2HDhjIZQ85nbN68uUzqm/nczp07KzY2\ntlQ/54svvtAdd9yhqlWrysvLS9WqVVPfvn21cuVK+zVTpkyRm1vZ/F/CqlWr9Oabb5ZJ7Svl5uam\nadOmlfcwAFRAhGgA14SAgAAtWLDA6fj8+fMVEBAgi8VSZp/dvHlz7dixQ82aNSuzzyhI/p+rtH/O\nCRMmqHfv3rJarZo+fbo2bNig6dOnKzg4WIMGDdJPP/1k/9yymuOVK1desyEaAEqKEA3gmnDXXXdp\n4cKFDsfS09O1fPly9e/fv0w/29/fX61atZK/v3+Zfs7VtnDhQr355pt64403tHTpUt19993q0KGD\n+vfvr7lz52rHjh0KDg4u72GWyKVLl8p7CAD+4gjRAMqdxWLRfffdpyNHjmjr1q324ytWrFBWVpb6\n9++v/A9XjY+P14ABAxQRESGr1aqGDRvq6aefVnp6uv2aPXv2yGq1asKECQ7vnTx5snx8fPTDDz9I\nKnhbRceOHbV27Vo1bdpUVqtVzZo1065du2Sz2TR58mTVqFFDoaGhGjFihNLS0hw+Y8qUKWrevLmC\ngoJUpUoVde3aVTt37jQ1L6dOnZK3t7feeecdp3NTpkyRn5+fUlJSCnz/Sy+9pMaNG2vcuHEuzzdt\n2lQ1a9Z0ee7o0aNyc3PT/PnzHY67mqu1a9eqffv2CgoKUqVKldSwYUM9//zzkqQRI0Zo3rx5Onny\npH1bTlRUlP29SUlJGj16tGrWrCkfHx/FxMRoxowZDp+Zs+Vny5YtGjhwoIKDg9WmTRuHMd16660K\nCAiQv7+/evTooT179jjUyMrK0jPPPKMaNWrIz89PsbGx+uWXXwqcOwAoikd5DwAAJCkyMlK33HKL\nFixYoPbt20uSFixYoDvvvFN+fn5O1x87dkxNmzbVAw88IH9/f+3Zs0fTpk3T4cOHtXjxYknSDTfc\noNdff11jx45V9+7dddttt2njxo169dVX9frrr+vmm2+213O1reLgwYOaOHGinnnmGfn5+enJJ59U\nnz591KdPH9lsNs2bN0979+7VE088oapVq+rll1+2v/+3337ThAkTFB4erosXL2rhwoXq1KmT4uPj\ndeONNxZrTqpWrap+/frpww8/1GOPPWY/npWVpdmzZ2vw4MEKDAx0+d7ff/9de/fu1eTJk4v1WWbk\nnavDhw+rb9++GjhwoJ577jl5eXnpwIEDSkhIkCQ9++yzOn36tOLj47V69WoZhiFvb29J0vnz59Wu\nXTtlZGRo2rRpql27ttauXavRo0fr0qVLGjNmjMPn3nvvvbrnnnu0fPlyZWZmSpLWrFmjfv366Y47\n7tCiRYskSS+//LI6duyon376SeHh4ZKk5557Ti+99JKeeOIJdevWTfHx8erTp0+ZbhMCcJ0zAKAc\nzZ0713BzczMOHTpkzJ492wgJCTEyMjKM3377zfDw8DDWr19vbNq0ybBYLMb69esLrJOZmWksXLjQ\ncHd3N86ePetwrl+/fka1atWMPXv2GOHh4UavXr0czm/atMlwc3Mzvv76a/uxzp07G15eXsaRI0fs\nxz799FPDYrEY3bp1c3j/XXfdZURFRRU4NpvNZmRmZhrR0dHGuHHjivzcLl26OF3zzTff2I+tWrXK\ncHNzM3bt2lXgZ+7cudOwWCzGRx99VOA1eU2ZMsVwc3Ozvz5y5IhhsViMefPmOVyXf8wff/yx4ebm\nZpw/f77A2sOHDzciIiKcjk+bNs3w9fU1Dh065HB81KhRRpUqVQybzWYYRvb/RiwWizFhwgSnGvXq\n1XP673H+/HmjcuXKxvjx4w3DMIxz584Z/v7+xqOPPupw3SuvvGJYLBZj6tSpBY4dAArCdg4A14wB\nAwYoIyNDq1ev1uLFi1W9evUCO1WcP39ef//731WvXj15e3vL09NT9913nwzD0IEDBxyunTVrljw8\nPNS8eXPZbDbNnTu3WONp0KCBIiMj7a8bNmwoSbrtttscrmvYsKFOnDjhcOyrr75SbGysKleuLA8P\nD3l6eurAgQPav39/sT47R6dOnRQTE6MPP/zQfuzDDz/UTTfdpJYtW5qqVRaaNGkiT09PDRo0SMuX\nL9fp06eL/d61a9eqdevWioyMlM1ms//q3r27zpw547DdwmKxqF+/fg7vP3jwoA4dOqQhQ4Y4vN/H\nx0dt27a1bzn58ccflZqaqgEDBji8f/DgwVfwkwP4qyNEA7hm+Pv7q2/fvpo/f77mz5+voUOHFnjt\n8OHD9dFHH2ncuHH66quvFB8fr+nTp0uSw75oSQoJCVHv3r116dIl3XPPPapSpUqxxpP/pjsvL68C\nj2dmZiorK0uS9P3336t3794KCAjQ7NmztXPnTsXHx+umm25yGltxjB49Wh9//LHOnTuno0eP2rc8\nFCYiIkJS9t7mslS3bl2tXbtWhmFo2LBhqlatmtq0aVOsdoGJiYnavHmzPD09HX4NHDhQFotFSUlJ\nDtdXr17d6f2S9OCDDzq838vLS2vWrNHZs2clSX/88Yek7O0xeeV/DQBmsCcawDVl2LBh6t27twzD\n0JIlS1xek5GRoU8//VTTpk3T2LFj7cdzbhTM76uvvtKMGTPUokULvffee7r33nvLtJ3dxx9/LE9P\nT61YscKh9/K5c+dK1A1j2LBheuqppzR37lydPXtWVqtVQ4YMKfQ91atXV0xMjFavXm2/yc8MHx8f\nSc5dMPIHWyl7tbxTp066fPmytm7dqn/84x+6/fbbdeTIEYWEhBT4GaGhoapatarefvttpxtHJSk6\nOtrhdf79y6GhoZKyb6C89dZbnd6f85ee6tWryzAMnTp1SjExMfbzp06dKnBsAFAUQjSAa0q3bt00\naNAgBQcHOwSevAEqIyNDNptNHh6Of4S52qaRlJSk+++/X7fffrtWrFih9u3ba8iQIdq9e7esVmuZ\n/AxpaWlyd3d3OLZhwwYdO3bMoTNFcVWqVElDhw7VBx98oAsXLmjo0KHFasc3efJkDRs2TG+++abG\njx/vdP6///2vKleu7LJDR9WqVeXt7a2ff/7Z4fhnn31W4Od5enqqc+fOmjhxovr166fDhw8rJCRE\n3t7eTt1LJKlHjx569913FRERocqVKxf58+QXHR2t2rVra8+ePZo4cWKB1910003y8/PTsmXL1Llz\nZ/vxf//736Y/EwByEKIBXFPc3NzsXRbyyrtSGRAQoDZt2uj1119XtWrVVLlyZc2ePVu///670/tG\njBghSZo9e7bc3d21ePFiNW3aVGPHjtXs2bNd1r9SPXr00FtvvaX7779fI0aM0P79+/X888+7DKvF\n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\n/fcdO3Ys0ViB0uIqSOcE6Lx7oA8nntVHX+3U57v328O0K6GVrHqgS0sNaNtYPp4eeueLbfabDQnQ\npYvtHACuqu+++05ubm7ati33qVjvvPOO3Nzc9Oyzz9qPHTx4UG5uboqLi7MfO3LkiIYOHaqwsDD5\n+PioadOmWrlypUP9KVOmyM3N8Y+2M2fO6J577lFgYKBCQkL04IMPavXq1XJzc9PmzZudxrh+/Xo1\nb95cfn5+aty4sVatWmU/N2LECM2bN08nT560byOIioqyn09KStLo0aNVs2ZN+fj4KCYmRjNmzCjw\nM3x9fVW/fn199NFHxZ7Dt956S40aNZLValVISIhatmzpMMbOnTs7bFHIv+3B1bglacaMGWrSpIl8\nfX1VpUoVjRw5UufOnSv2uK5U/gAtSbVq1VKVKlV08uRJF+8Arg+VfL31f7d3lLub479EDWjT2H4T\nYZ2wEE0d2E0P3dpKPp6u10BrVwnWK0N7alinZvL18pTFYtGDsS1ULcjf4bqosBAN6dikbH6YvxBW\nogFcVc2aNVNQUJA2bNigdu3aSZI2btwoq9WqDRs2aNq0aZKyQ6aHh4d9pfDEiRNq1aqVqlWrprfe\nekuVK1fW0qVL1b9/f61atUq33367JNdbIu68807t2bNHr7zyiurWravly5frsccec7l14uDBgxo3\nbpwmT56s0NBQvfbaaxowYID27dunqKgoPfvsszp9+rTi4+O1evVqGYYhb29vSdL58+fVrl07ZWRk\naNq0aapdu7bWrl2r0aNH69KlSxozZowkae/everdu7datWqlZcuWKT09Xc8995wuXLggj0KeMiZJ\nixYt0hNPPKEpU6aoQ4cOSktL048//qizZ8/ar8n/c+3YscPh9W+//aahQ4eqUaNG9mOTJk3SG2+8\noXHjxum1117TyZMn9fTTT2vPnj3atm1bodtMDMNQVlZWgedzlGSv+t69e5WYmOgw1hyrV6+Wn5+f\nbDabmjZtqkmTJqlv376mPwMob3tPJOrxuatly3JcYZ69MV7VgwN0V+sbinxIiiQdOX1OIz9Ybu8z\n3aB6ZY2ZtUp/JDu+JyHxrMbP/czlA1lQfMwcgKvKYrHolltu0caNG/XMM8/IMAx9/fXXGj16tN5+\n+22lpqbKarVq06ZNatGihfz8/CRJzz33nCwWizZv3qygoCBJUrdu3XTs2DE9++yz9hCd35dffqmt\nW7fqP//5j/r3729/X9++fXX8+HGn65OSkvTNN9/YV2mbNm2q6tWra9myZZo0aZLq1KmjKlWqyMvL\nSy1btnR477/+9S8dP35cP//8s/39sbGxOnfunKZOnarRo0fLzc1Nzz//vAICAvTll1/Kx8dHktS2\nbVvVrVvXYd+vKzt27NDNN9+sp59+2n6sqKeI5d3ykJ6errFjxyoiIkILFiyQJB09elSvvfaapk6d\n6lC3QYMGat++vVavXq0+ffoUWP+BBx7QvHnzCh2DxWLRnDlzNGzYsEKvy8tms+mRRx5RWFiYHnjg\nAYdzffr0UcuWLVWnTh2dOnVK7777ru68804tXLhQQ4YMKfZnAOUt/4NU/H28VC2okg7+kSQpe6/z\n259v1fl0x/37oZWsSjqfan/tZrE47ZkO8PXWn2m572tdL0I7D2b/ubd572GC9BViOweAq65Lly7a\nvn27Ll26pO+//14pKSmaOHGivLy8tGXLFknSpk2bHLYkrF27Vr169VKlSpVks9lks9mUmZmp7t27\n64cfftCFC65XZ3bu3CkPDw/169fP4fjdd9/t8vr69es7bHOoUqWKwsLCdOzYsSJ/rrVr16p169aK\njIy0j9Fms6l79+46c+aMfvnlF0nZQbhXr172AC1JNWvWVPv27Yv8jJYtW+q///2v/va3v2n9+vVK\nS0sr8j15DRs2TAkJCVqzZo2Cg4MlSevWrZNhGBoyZIjDuFu2bKmAgACXW17ymjp1quLj4wv99e23\n3+qOO+4wNdYxY8Zox44dWrRokdPDHt566y3de++9at++ve666y599dVXatGihZ566ilTnwGUJ1dP\nIpz5yN2a+cjdqhEcYL8ub4AOrWTVk3066YvJjn+xzGmNl7fPdN4APbj9zZrxSH+HPtI5QfpSZmap\n/2x/BfzVA8BVFxsbq4yMDG3btk27d+/WzTffrCpVqqhDhw7auHGjIiIidOrUKXXp0sX+nsTERM2f\nP9/liqfFYlFSUpL8/f2dzv3+++8KDg522kpQtarzwwokKSQkxOmYt7e30tPTi/y5EhMTdejQIXl6\nOremyhljzphcfX7VqlVdtnPLa9iwYcrIyNCsWbP0/vvvy8PDQ7169dIbb7yhyMjIQt/7j3/8Q59+\n+qnWrVununXrOozbMAyHY67GXZCIiIgiV9Alc9s5nnrqKc2cOVPz589X165di7zezc1NAwYM0KRJ\n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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x113e4d290>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"max_subG = office.subgraph(reduce(add, back_rows))\n", | |
"\n", | |
"plt.figure(figsize=(12, 4))\n", | |
"size, size_weighted = draw_office(office, max_subG, 'Maximally Clustered')\n", | |
"plt.savefig('output/06-maximally-clustered-state.png'.format(i), dpi=100, bbox_inches='tight')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### create animation" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 29, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"num_trials = 100\n", | |
"num_ds = len(data_scientists)\n", | |
"\n", | |
"np.random.seed(511)\n", | |
"\n", | |
"for i in xrange(num_trials):\n", | |
" random_ds = np.random.choice(office.nodes(), num_ds, replace=False)\n", | |
" subG = office.subgraph(random_ds)\n", | |
" \n", | |
" plt.figure(figsize=(12, 4))\n", | |
" size, size_weighted = draw_office(office, subG, 'Random Configurations (n=12)')\n", | |
" plt.savefig('output/neighbors-{:05d}.png'.format(i), dpi=100, bbox_inches='tight')\n", | |
" plt.close()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 30, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"!convert -strip -loop 0 -delay 20 -coalesce -layers OptimizePlus -layers OptimizeTransparency output/neighbors-*png svds-mv-ds-neighbors.gif" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### create montage from examples" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"montage: delegate library support not built-in `none' (Freetype) @ warning/annotate.c/RenderFreetype/1714.\r\n" | |
] | |
} | |
], | |
"source": [ | |
"!montage output/??-*png -geometry +1+1 -tile 2x3 -border 1 svds-mv-ds-neighbors-summary.png" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"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.12" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
mv NeighboringDataScientis.ipynb NeighboringDataScientists.ipynb