Imported all the notebooks
[tm351-notebooks.git] / notebooks / 22. Data Mining II / 22.e. Data Mining II- Choosing Initial values .ipynb
1 {
2 "metadata": {
3 "name": "",
4 "signature": "sha256:dd5bd859dce2f05632aac1b993e84f41c874c11600b7df0ff5e397f18f7fff84"
5 },
6 "nbformat": 3,
7 "nbformat_minor": 0,
8 "worksheets": [
9 {
10 "cells": [
11 {
12 "cell_type": "heading",
13 "level": 1,
14 "metadata": {},
15 "source": [
16 "Section 22.e. Data mining II: Choosing Initial Values"
17 ]
18 },
19 {
20 "cell_type": "heading",
21 "level": 3,
22 "metadata": {},
23 "source": [
24 "Exercise 22.7"
25 ]
26 },
27 {
28 "cell_type": "markdown",
29 "metadata": {},
30 "source": [
31 "Try running the k-means algorithm with $k = 2$ and $k = 3$ on the English Premier League data using the `random` method for initialisation with the number of runs of only one time. Execute your Python code a few times to observe that different choices of initial cluster means can actually lead to different results. \n"
32 ]
33 },
34 {
35 "cell_type": "code",
36 "collapsed": false,
37 "input": [
38 "import numpy as np\n",
39 "import matplotlib.pyplot as plt\n",
40 "\n",
41 "import pandas as pd\n",
42 "\n",
43 "%pylab inline\n",
44 "\n",
45 "\n",
46 "np.set_printoptions(precision=2, linewidth=100)"
47 ],
48 "language": "python",
49 "metadata": {},
50 "outputs": [
51 {
52 "output_type": "stream",
53 "stream": "stdout",
54 "text": [
55 "Populating the interactive namespace from numpy and matplotlib\n"
56 ]
57 }
58 ],
59 "prompt_number": 26
60 },
61 {
62 "cell_type": "code",
63 "collapsed": false,
64 "input": [
65 "premierLeague=pd.DataFrame([(68, 41), (39, 61), (32, 74), (71, 27),\n",
66 " (33, 48), (61, 39), (40, 85), (38, 53), \n",
67 " (101, 50), (102, 37), (64, 43), (43, 59), \n",
68 " (28, 62), (54, 46), (45, 52), (41, 60), \n",
69 " (54, 54), (55, 51), (43, 59), (40, 51)],\n",
70 " index=['Arsenal', 'Aston Villa', 'Cardiff City', 'Chelsea', \n",
71 " 'Crystal Palace', 'Everton', 'Fulham', 'Hull City', \n",
72 " 'Liverpool', 'Manchester City', 'Manchester United',\n",
73 " 'Newcastle United', 'Norwich City', 'Southampton',\n",
74 " 'Stoke City', 'Sunderland', 'Swansea City',\n",
75 " 'Tottenham Hotspur', 'West Bromwich Albion',\n",
76 " 'West Ham United'],\n",
77 " columns=['Goals for', 'Goals against'])\n",
78 "\n",
79 "premierLeague"
80 ],
81 "language": "python",
82 "metadata": {},
83 "outputs": [
84 {
85 "html": [
86 "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
87 "<table border=\"1\" class=\"dataframe\">\n",
88 " <thead>\n",
89 " <tr style=\"text-align: right;\">\n",
90 " <th></th>\n",
91 " <th>Goals for</th>\n",
92 " <th>Goals against</th>\n",
93 " </tr>\n",
94 " </thead>\n",
95 " <tbody>\n",
96 " <tr>\n",
97 " <th>Arsenal</th>\n",
98 " <td> 68</td>\n",
99 " <td> 41</td>\n",
100 " </tr>\n",
101 " <tr>\n",
102 " <th>Aston Villa</th>\n",
103 " <td> 39</td>\n",
104 " <td> 61</td>\n",
105 " </tr>\n",
106 " <tr>\n",
107 " <th>Cardiff City</th>\n",
108 " <td> 32</td>\n",
109 " <td> 74</td>\n",
110 " </tr>\n",
111 " <tr>\n",
112 " <th>Chelsea</th>\n",
113 " <td> 71</td>\n",
114 " <td> 27</td>\n",
115 " </tr>\n",
116 " <tr>\n",
117 " <th>Crystal Palace</th>\n",
118 " <td> 33</td>\n",
119 " <td> 48</td>\n",
120 " </tr>\n",
121 " <tr>\n",
122 " <th>Everton</th>\n",
123 " <td> 61</td>\n",
124 " <td> 39</td>\n",
125 " </tr>\n",
126 " <tr>\n",
127 " <th>Fulham</th>\n",
128 " <td> 40</td>\n",
129 " <td> 85</td>\n",
130 " </tr>\n",
131 " <tr>\n",
132 " <th>Hull City</th>\n",
133 " <td> 38</td>\n",
134 " <td> 53</td>\n",
135 " </tr>\n",
136 " <tr>\n",
137 " <th>Liverpool</th>\n",
138 " <td> 101</td>\n",
139 " <td> 50</td>\n",
140 " </tr>\n",
141 " <tr>\n",
142 " <th>Manchester City</th>\n",
143 " <td> 102</td>\n",
144 " <td> 37</td>\n",
145 " </tr>\n",
146 " <tr>\n",
147 " <th>Manchester United</th>\n",
148 " <td> 64</td>\n",
149 " <td> 43</td>\n",
150 " </tr>\n",
151 " <tr>\n",
152 " <th>Newcastle United</th>\n",
153 " <td> 43</td>\n",
154 " <td> 59</td>\n",
155 " </tr>\n",
156 " <tr>\n",
157 " <th>Norwich City</th>\n",
158 " <td> 28</td>\n",
159 " <td> 62</td>\n",
160 " </tr>\n",
161 " <tr>\n",
162 " <th>Southampton</th>\n",
163 " <td> 54</td>\n",
164 " <td> 46</td>\n",
165 " </tr>\n",
166 " <tr>\n",
167 " <th>Stoke City</th>\n",
168 " <td> 45</td>\n",
169 " <td> 52</td>\n",
170 " </tr>\n",
171 " <tr>\n",
172 " <th>Sunderland</th>\n",
173 " <td> 41</td>\n",
174 " <td> 60</td>\n",
175 " </tr>\n",
176 " <tr>\n",
177 " <th>Swansea City</th>\n",
178 " <td> 54</td>\n",
179 " <td> 54</td>\n",
180 " </tr>\n",
181 " <tr>\n",
182 " <th>Tottenham Hotspur</th>\n",
183 " <td> 55</td>\n",
184 " <td> 51</td>\n",
185 " </tr>\n",
186 " <tr>\n",
187 " <th>West Bromwich Albion</th>\n",
188 " <td> 43</td>\n",
189 " <td> 59</td>\n",
190 " </tr>\n",
191 " <tr>\n",
192 " <th>West Ham United</th>\n",
193 " <td> 40</td>\n",
194 " <td> 51</td>\n",
195 " </tr>\n",
196 " </tbody>\n",
197 "</table>\n",
198 "</div>"
199 ],
200 "metadata": {},
201 "output_type": "pyout",
202 "prompt_number": 27,
203 "text": [
204 " Goals for Goals against\n",
205 "Arsenal 68 41\n",
206 "Aston Villa 39 61\n",
207 "Cardiff City 32 74\n",
208 "Chelsea 71 27\n",
209 "Crystal Palace 33 48\n",
210 "Everton 61 39\n",
211 "Fulham 40 85\n",
212 "Hull City 38 53\n",
213 "Liverpool 101 50\n",
214 "Manchester City 102 37\n",
215 "Manchester United 64 43\n",
216 "Newcastle United 43 59\n",
217 "Norwich City 28 62\n",
218 "Southampton 54 46\n",
219 "Stoke City 45 52\n",
220 "Sunderland 41 60\n",
221 "Swansea City 54 54\n",
222 "Tottenham Hotspur 55 51\n",
223 "West Bromwich Albion 43 59\n",
224 "West Ham United 40 51"
225 ]
226 }
227 ],
228 "prompt_number": 27
229 },
230 {
231 "cell_type": "heading",
232 "level": 3,
233 "metadata": {},
234 "source": [
235 "Result for $k=2$"
236 ]
237 },
238 {
239 "cell_type": "markdown",
240 "metadata": {},
241 "source": [
242 "For $k = 2$, we can observe that there are at least two different clustering results by running the following Python code a few times."
243 ]
244 },
245 {
246 "cell_type": "code",
247 "collapsed": false,
248 "input": [
249 "import sklearn.cluster as sc\n",
250 "\n",
251 "# Run k-means algorithm on the data (k=2)\n",
252 "kmeans = sc.KMeans(n_clusters=2,init='random',n_init=1)\n",
253 "assigned_clusters = kmeans.fit(premierLeague).labels_\n",
254 "\n",
255 "# Print the assigned clusters\n",
256 "cluster1 = find(equal(assigned_clusters,0))\n",
257 "cluster2 = find(equal(assigned_clusters,1))\n",
258 "print(\"Cluster 1:\" + str(premierLeague.index[cluster1]))\n",
259 "print(\"Cluster 2:\" + str(premierLeague.index[cluster2]))\n",
260 "\n",
261 "# Plot the clustering result\n",
262 "plot(premierLeague['Goals for'][cluster1], premierLeague['Goals against'][cluster1], 'ro')\n",
263 "plot(premierLeague['Goals for'][cluster2], premierLeague['Goals against'][cluster2], 'bo')\n",
264 "xlabel('Goals for')\n",
265 "ylabel('Goals against')"
266 ],
267 "language": "python",
268 "metadata": {},
269 "outputs": [
270 {
271 "output_type": "stream",
272 "stream": "stdout",
273 "text": [
274 "Cluster 1:Index(['Arsenal', 'Chelsea', 'Everton', 'Liverpool', 'Manchester City', 'Manchester United'], dtype='object')\n",
275 "Cluster 2:Index(['Aston Villa', 'Cardiff City', 'Crystal Palace', 'Fulham', 'Hull City', 'Newcastle United', 'Norwich City', 'Southampton', 'Stoke City', 'Sunderland', 'Swansea City', 'Tottenham Hotspur', 'West Bromwich Albion', 'West Ham United'], dtype='object')\n"
276 ]
277 },
278 {
279 "metadata": {},
280 "output_type": "pyout",
281 "prompt_number": 28,
282 "text": [
283 "<matplotlib.text.Text at 0x10f098d50>"
284 ]
285 },
286 {
287 "metadata": {},
288 "output_type": "display_data",
289 "png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEPCAYAAABCyrPIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1UVHXiP/D3CAqlpkk5qITgFCDP+Ni6PgzijG0mkRm/\npHI2S+14AHs4qem2S+uig61HAbX2pNVkDy5Wy6KkgemIupopPhCF6IghSVOJkwYOOPD5/SHONwLk\nQe7cAd6vc+Yc+ABz34yceXs/93PvVQghBIiIqNvrIXcAIiJyDiwEIiICwEIgIqJ6LAQiIgLAQiAi\nonosBCIiAiBxIaSmpiIkJATBwcFITU0FAFRUVECj0cDPzw9arRYWi0XKCERE1EqSFcLXX3+NjRs3\n4quvvsKJEyewfft2mEwm6PV6aDQaFBcXIyoqCnq9XqoIRETUBpIVQlFREcaOHQt3d3e4uLhg0qRJ\n+OSTT5CVlQWdTgcA0Ol0yMzMlCoCERG1gWSFEBwcjH379qGiogJVVVX47LPPUFZWBrPZDKVSCQBQ\nKpUwm81SRSAiojZwleqJAwICsHjxYmi1WvTu3Rvh4eFwcXFp8D0KhQIKhUKqCERE1BbCQZYuXSo2\nbNgg/P39RXl5uRBCiAsXLgh/f/8mv1+lUgkAfPDBBx98tOGhUqna/T4t6SqjH3/8EQBQWlqKTz/9\nFHFxcYiOjobBYAAAGAwGxMTENPmzJpMJQginevztb3+TPQMzda1czMRMHf0wmUztfs+WbMoIAGbO\nnImLFy+iZ8+e2LBhA/r164clS5YgNjYWmzZtgo+PDzIyMqSMQERErSRpIeTl5TUaGzBgAHbt2iXl\nZomIqB14pnIbqNVquSM0wkyt54y5mKl1mMkxFEIIIXeIpigUCjhpNCIip3Ur753cQyAiIgAsBCIi\nqsdCICIiACwEIiKqx0IgIiIALAQiIqrHQiAiIgASn6lM0snOzkNaWg6qq13h5mZDYqIW06ZNlDsW\nEXViLIROKDs7DwsXfg6TKdk+ZjItAwCWAhG1G6eMOqG0tJwGZQAAJlMy0tNzZUpERF0BC6ETqq5u\nesfOanVpcpyIqDVYCJ2Qm5utyXF391oHJyGiroSF0AklJmqhUi1rMKZSLUVCgkamRETUFfBqp51U\ndnYe0tNzYbW6wN29FgkJGh5QJqJbeu9kIRARdSG8/DUREd0yFgIREQFgIRARUT0WAhERAWAhEBFR\nPRYCEREBkLgQVq5ciaCgIISEhCAuLg7V1dWoqKiARqOBn58ftFotLBaLlBGIiKiVJCuEc+fO4a23\n3kJ+fj4KCgpQW1uLLVu2QK/XQ6PRoLi4GFFRUdDr9VJFICKiNpCsEO644w707NkTVVVVsNlsqKqq\nwuDBg5GVlQWdTgcA0Ol0yMzMlCoCERG1gWSFMGDAALz00kvw9vbG4MGD0b9/f2g0GpjNZiiVSgCA\nUqmE2WyWKgIREbWBZDfIMZlMWLt2Lc6dO4d+/frhsccew/vvv9/gexQKBRQKRbPPkZSUZP9YrVZD\nrVZLlJaIqHMyGo0wGo0d8lySXcvo3//+N3Jzc7Fx40YAwObNm3Ho0CHs3r0be/bsgaenJ8rLyxEZ\nGYmioqLGwXgtIyKiNnPKaxkFBATg0KFDuHr1KoQQ2LVrFwIDAzF9+nQYDAYAgMFgQExMjFQRiIio\nDSS92umqVatgMBjQo0cPjBgxAhs3bsSVK1cQGxuL0tJS+Pj4ICMjA/37928cjHsIRERtxstfExER\nACedMiIios6FhUBERABYCEREVI+FQEREAFgIRERUj4VAREQAWAhERFSPhUBERABYCEREVI+FQERE\nAFgIRERUj4VAREQAJLxBTneRnZ2HtLQcVFe7ws3NhsRELaZNmyh3LCKiNmMh3ILs7DwsXPg5TKZk\n+5jJtAwAWApE1OlwyugWpKXlNCgDADCZkpGenitTIiKi9mMh3ILq6qZ3sKxWFwcnISK6dSyEW+Dm\nZmty3N291sFJiIhuHQvhFiQmaqFSLWswplItRUKCRqZERETtx1to3qLs7Dykp+fCanWBu3stEhI0\nPKBMRLLhPZWJiAgA76lMREQdgIVAREQAWAhERFRP0kI4deoUIiIi7I9+/fohLS0NFRUV0Gg08PPz\ng1arhcVikTIGERG1gsMOKtfV1WHIkCE4fPgw0tPTcdddd2HRokVISUnBpUuXoNfrGwbjQWUiojbr\nFAeVd+3ahXvvvRf33HMPsrKyoNPpAAA6nQ6ZmZmOikFERM1wWCFs2bIFs2bNAgCYzWYolUoAgFKp\nhNlsdlQMIiJqhkOudlpTU4Nt27YhJSWl0dcUCgUUCkWTP5eUlGT/WK1WQ61WS5SQiKhzMhqNMBqN\nHfJcDjmG8N///hdvvPEGdu7cCQAICAiA0WiEp6cnysvLERkZiaKioobBeAyBiKjNnP4YwkcffWSf\nLgKA6OhoGAwGAIDBYEBMTIwjYhAR0U1IvodQWVmJoUOHoqSkBH379gUAVFRUIDY2FqWlpfDx8UFG\nRgb69+/fMBj3EIiI2ozXMiIiIgCdYMqIiIicHwuBiIgAsBCIiKgeC4GIiACwEIiIqB4LgYiIALAQ\niIioHguBiIgAsBCIiKgeC4GIiACwEIiIqF6LhRAVFdWqMSIi6tyavUHO1atXUVVVhZ9++gkVFRX2\n8cuXL+P77793SDgiInKcZgvhX//6F1JTU3HhwgWMHDnSPt63b1/Ex8c7JBwRETlOi5e/Tk9PR0JC\ngqPy2PHy10REbSfp5a+VSiWuXLkCAFi+fDlmzJiB/Pz8dm2MiIicV4uFsHz5cvTt2xf79+/HF198\ngTlz5uC5555zRDYiInKgFgvBxcUFALB9+3bMnTsXDz30EK5duyZ5MCIicqxmDyrfMGTIEMybNw+5\nublYsmQJrFYr6urqHJHNobKz85CWloPqale4udmQmKjFtGkT5Y5FROQwLR5UrqysxM6dOxEaGor7\n7rsP5eXlKCgogFarlTaYAw8qZ2fnYeHCz2EyJdvHVKplSE2dylIgok7lVt47WywEALDZbPjxxx9h\ns9nsY97e3u3aYKuDObAQpk79C3Jy/tHE+KvYuXO5QzIQEXWEW3nvbHHKKD09Ha+99hoGDhxoP54A\nAAUFBe3aoDOqrm76ZbBaXZoclwOntIhIai0Wwtq1a3Hq1Cl4eHg4Io8s3NxsTY67u9c6OEnTmprS\nMpmWAQBLgYg6TIurjLy9vXHHHXe0ewMWiwUzZ87E8OHDERgYiC+//BIVFRXQaDTw8/ODVquFxWJp\n9/N3hMRELVSqZQ3GVKqlSEjQyJSoobS0nAZlAAAmUzLS03NlSkREXVGLewi+vr6IjIzEtGnT0KtX\nLwDX56hefPHFVm1g4cKFePDBB/Hxxx/DZrOhsrISycnJ0Gg0WLRoEVJSUqDX66HX62/tN7kFN/6X\nnZ7+KqxWF7i71yIh4QGn+d93a6a0OKVERLeqxULw9vaGt7c3ampqUFNTAyEEFApFq578l19+wb59\n+2AwGK5vzNUV/fr1Q1ZWFvbu3QsA0Ol0UKvVshYCcL0UnPUNtKUpLU4pEVFHaNUqo/Y6fvw45s+f\nj8DAQJw4cQIjR47E2rVr4eXlhUuXLgEAhBAYMGCA/XN7MF7LyK7pZbFLkZp6fS+Gq6SI6AZJVhkt\nXLgQqampmD59epMbzMrKavHJbTYb8vPzsW7dOowePRrPP/98oz0BhULR7B5HUlKS/WO1Wg21Wt3i\nNruilqa0WppSSkragHXr9sJmuw2urlcRHz8JSUkLHBOeiCRlNBphNBo75Lma3UM4evQoRo4c2eyG\nWvPm/MMPP+APf/gDSkpKAAD79+/HypUrcfbsWezZsweenp4oLy9HZGQkioqKGgbjHkKr3WwP4f77\nByE5+SRstjft466uz2HZslCWAlEXJPmJabdi4sSJ2LhxI/z8/JCUlISqqioAgIeHBxYvXgy9Xg+L\nxdLkngMLoXVuNqWk063HxYv/bvQzHh6P4+eftzgyJhE5gKQnphUXF2Pp0qUoLCyE1Wq1b/Ds2bOt\n2kB6ejqeeOIJ1NTUQKVS4Z133kFtbS1iY2OxadMm+Pj4ICMjo13h6bqbTSnZbG83+TM2m7sjIxJR\nJ9DiHsIf//hHvPbaa3jxxRexbds2+xv68uXSHqzkHkLHuOuu/8c9BKJuRNIb5Fy9ehVTpkyBEAJD\nhw5FUlISsrOz27Uxcrz4+ElwdW14/wpX1/mIj+dyVCJqqMUpI3d3d9TW1uLee+/FunXrMHjwYFRW\nVjoiG3WA6weON2Ddusdhs7nD1dWK+PiJPKBMRI20OGV0+PBhDB8+HBaLBa+++iouX76MRYsW4f77\n75c2GKeMiIjazKlXGbUXC4GIqO0kXWU0ffr0BhtQKBS44447MHr0aMyfPx/u7lytQkTUFbR4UNnX\n1xd9+vTBvHnzMHfuXPTt2xd9+/ZFcXEx5s6d64iMRETkAC1OGY0aNQpHjhxpciwoKAiFhYXSBOOU\nERFRm0m67LSyshLfffed/fPvvvvOvsroxuWwiYio82vxGMLq1asxYcIEDBs2DABw9uxZbNiwAZWV\nldDpdJIHJCIix2jVKiOr1YqioiIoFAr4+/s75EAyp4yIiNpO8mWnBQUF+Oabb2C1Wu2Xqp49e3a7\nNtjqYCwEIqI2k7QQkpKSsHfvXhQWFmLatGnYsWMHxo8fj48//rhdG2x1MBZCt8JbgBJ1DEnPQ/j4\n449x4sQJjBgxAu+88w7MZjOeeOKJdm2MqCm8BSiRc2hxldFtt90GFxcXuLq64pdffsHAgQNx/vx5\nR2SjbiItLadBGQCAyZSM9PRcmRIRdU8t7iGMHj0aly5dwty5czFq1Cj07t0b48aNc0Q26iZaugUo\nETlGi4WwYcMGAMBzzz2HqVOn4vLlywgLC5M8GHWfeXU3N1uT4+7utQ5OQtS9tVgIv+Xr6ytVDvqd\n7jSvnpiohcm0rNEtQBMSHpAxFVH3w6udOqmpU/+CnJx/NDH+KnbulPZudXLIzs5Denrub24Bquly\nxUfkCJKuMiJ5OHJe3RmmpqZNm8gCIJJZi4Vw5swZeHl5wd3dHXv27EFBQQFmz56N/v37OyJft+Wo\nefXuNDVFRDfX4rLTRx99FK6urjhz5gzmz5+P8+fPIy4uzhHZurXERC1UqmUNxq7Pq2s6dDtc8klE\nN7S4h9CjRw+4urri008/RUJCAhISEhAREeGIbN3ajf+dp6e/+pt59Qfs4x01zeOsSz6dYRqLqLtp\nsRB69eqFDz/8EO+99x62bdsGALh27Zrkwaj5efWOnOZxxiWfnMYikkeLU0Zvv/02Dh48iGXLlsHX\n1xdnz57Fk08+2eoN+Pj4IDQ0FBERERgzZgwAoKKiAhqNBn5+ftBqtbBYLO3/DbqhjpzmcdTUVFtw\nGotIHi3uIQQFBSE9Pd3++bBhw7BkyZJWb0ChUMBoNGLAgAH2Mb1eD41Gg0WLFiElJQV6vR56vb6N\n0buvjpzmaWlqSg7OOo1F1JS87GzkpKXBtboaNjc3aBMTMXHaNLljtUuzhRASEtLsDykUCpw8ebLV\nG/n9mtisrCzs3bsXAKDT6aBWq1kIbdDR0zzOtuTTGaexiJqSl52NzxcuRLLJZB9bVv9xZyyFZgvh\nxvGCW6VQKDBlyhS4uLhg/vz5mDt3LsxmM5RKJQBAqVTCbDZ3yLa6i65+Zm9X//2o68hJS2tQBgCQ\nbDLh1fT0rlUIPj4+HbKBAwcOYNCgQfjpp5+g0WgQEBDQ4OsKhcJ+053fS0pKsn+sVquhVqs7JFNn\n54zTPB2pq/9+1HW4Vlc3Oe5itTosg9FohNFo7JDnavHSFQcPHkRiYiK++eYb1NTUoLa2Fn369MHl\ny5fbvLHXXnsNffr0wVtvvQWj0QhPT0+Ul5cjMjISRUVFDYN180tXEJHz+8vUqfhHTk6j8VenTsXy\nnTtlSHRr750trjKKj4/Hhx9+CD8/P1itVmzatAkLFixo1ZNXVVXhypUrAIDKykrk5OQgJCQE0dHR\nMBgMAACDwYCYmJh2hScikpM2MRHLVKoGY0tVKmgSEmRKdGta3EMYOXIkjh49itDQUPuB5PDwcBw/\nfrzFJy8pKcEjjzwCALDZbHjiiSfwyiuvoKKiArGxsSgtLYWPjw8yMjIaXQqDewhE1BnkZWcjNz0d\nLlYrat3doUlIkPX4gaT3VJ44cSJyc3Px7LPPYtCgQfD09ITBYMCJEyfatcFWB+ukhcAzbIlITpJe\n7fS9995DXV0d1q1bhzVr1qCsrAyffPJJuzbW1fEMWyLqzFp1P4Tq6mqcPn0aQgj4+/ujV69e0gfr\nhHsI3e0eBkTkfCTdQzAajdDpdBg6dCgAoLS0FAaDAZMmTWrXBrsynmFLRJ1Zi4Xw4osvIicnB/7+\n/gCA4uJiPP7448jPz5c8XGfDM2yJqDNrcdmpzWazlwEA+Pn5wWZr+o2vu3PGC8UREbVWi8cQnn76\nabi4uODJJ5+EEAIffPAB6urq8Pbbb0sbrBMeQwB4b+D24uosoo4h6bJTq9WK9evX48CBAwCACRMm\nYMGCBXBzc2vXBlsdrJMWArVdU6uzVKplSE2dylIgaiNJC0EuLITug6uziDqOJJeuyMzMxLp16+yf\njxkzBr6+vvD19cXWrVvbtTGipnB1FpFzaLYQVq1ahejoaPvnNTU1OHLkCPbu3Ys33njDIeGoe+Dq\nLCLn0Gwh1NTUwNvb2/75+PHj4eHhAW9vb1RWVjokHHUPXJ1F5ByaPYagUqlg+t2NH24YNmwYzp49\nK20wHkPoVrg6i6hjSHJQOS4uDmq1GvPmzWsw/uabb2Lv3r346KOP2rXBVgdjIRARtZkkhWA2mxET\nEwM3NzeMGDECAJCfnw+r1YrMzEx4enq2P3FrgrEQiIjaTLJlp0II7N69G4WFhVAoFAgKCsLkyZPb\nHbRNwVgIJLO87GzkpKXBtboaNjc3aBMTO+V9cql74XkIRB0sLzsbny9c2OAG6stUKkxNTWUpkFOT\n9BaaRN1RTlpagzIAgGSTCbnp6TIlIpIeC4GoCa7V1U2Ou1itDk5C5DgsBKIm2Jq5Vletu7uDkxA5\nDguBqAnaxEQsU6kajC1VqaBJSJApEZH0eFCZqBl52dnITU+Hi9WKWnd3aBISeECZnB5XGRE5GS5Z\nJblIek9lImqbJpes1n/MUiBnJvkxhNraWkRERGD69OkAgIqKCmg0Gvj5+UGr1cJisUgdgcihuGSV\nOivJCyE1NRWBgYFQKBQAAL1eD41Gg+LiYkRFRUGv10sdgcihuGSVOitJC6GsrAyfffYZnn32Wfuc\nVlZWFnQ6HQBAp9MhMzNTyghEDsclq9RZSVoIL7zwAl5//XX06PF/mzGbzVAqlQAApVIJs9ksZQQi\nh+OSVeqsJDuovH37dgwcOBAREREwGo1Nfo9CobBPJTUlKSnJ/rFarYZare7YkNTtOGL1z43ne/U3\nS1Yf4JJVkojRaGz2PbatJFt2unTpUmzevBmurq6wWq24fPkyZsyYga+++gpGoxGenp4oLy9HZGQk\nioqKGgfjslPqYLxgHXUHTnlxuxUrVuD8+fMoKSnBli1bMHnyZGzevBnR0dEwGAwAAIPBgJiYGKki\nEDXA1T9EN+ewS1fcmBpasmQJcnNz4efnh927d2PJkiWOikDdHFf/EN2cQ05MmzRpEiZNmgQAGDBg\nAHbt2uWIzRI1wNU/RDfHi9tRt8HVP0Q3x2sZUbfCC9ZRV8eL2xEROQm5L2zIi9sRETmBzn5hQx5D\nICLqIJ19aTMLgYiog3T2pc0sBCKiDtLZlzazEIiIOkhnX9rMVUZERB1I7qXNXHZKREQAnPTidkRE\n1LmwEIiICAALgYiI6rEQiIgIAAuBiIjqsRCIiAgAC4GIiOqxEIiICAALgYiI6rEQiIgIAAuBiIjq\nsRCIiAgAC4GIiOpJVghWqxVjx45FeHg4AgMD8corrwAAKioqoNFo4OfnB61WC4vFIlUEIiJqA0kv\nf11VVYXbb78dNpsN48ePxz//+U9kZWXhrrvuwqJFi5CSkoJLly5Br9c3DsbLXxMRtZnTXv769ttv\nBwDU1NSgtrYWd955J7KysqDT6QAAOp0OmZmZUkYgIqJWkrQQ6urqEB4eDqVSicjISAQFBcFsNkOp\nVAIAlEolzGazlBGIiKiVXKV88h49euD48eP45ZdfMHXqVOzZs6fB1xUKBRQKRbM/n5SUZP9YrVZD\nrVZLlJSIqHMyGo0wGo0d8lwOu4Xm8uXLcdttt2Hjxo0wGo3w9PREeXk5IiMjUVRU1DgYjyEQEbWZ\nUx5D+Pnnn+0riK5evYrc3FxEREQgOjoaBoMBAGAwGBATEyNVBCIiagPJ9hAKCgqg0+lQV1eHuro6\nPPXUU3j55ZdRUVGB2NhYlJaWwsfHBxkZGejfv3/jYNxDICJqs1t573TYlFFbsRCIiNrOKaeMiIio\nc5F0lRERtSwvOxs5aWlwra6Gzc0N2sRETJw2Te5Y1A2xEIhklJedjc8XLkSyyWQfW1b/MUuBHI1T\nRkQyyklLa1AGAJBsMiE3PV2mRNSdsRCIZORaXd3kuIvV6uAkRCwEIlnZ3NyaHK91d3dwEiIWApGs\ntImJWKZSNRhbqlJBk5AgUyLqzngeApHM8rKzkZueDherFbXu7tAkJPCAMrUbT0wjIiIAPDGNiIg6\nAAuBiIgAsBCIiKgeC4GIiACwEIiIqB4LgYiIALAQiIioHguBiIgAsBCIiKgeC4GIiACwEIiIqB4L\ngYiIALAQiIionqSFcP78eURGRiIoKAjBwcFIS0sDAFRUVECj0cDPzw9arRYWi0XKGERE1AqSFkLP\nnj2xZs0aFBYW4tChQ1i/fj2+/fZb6PV6aDQaFBcXIyoqCnq9XsoYHcZoNModoRFmaj1nzMVMrcNM\njiFpIXh6eiI8PBwA0KdPHwwfPhzff/89srKyoNPpAAA6nQ6ZmZlSxugwzvgHwEyt54y5mKl1mMkx\nHHYM4dy5czh27BjGjh0Ls9kMpVIJAFAqlTCbzY6KQUREzXBIIfz666949NFHkZqair59+zb4mkKh\ngEKhcEQMIiK6GSGxmpoaodVqxZo1a+xj/v7+ory8XAghxIULF4S/v3+jn1OpVAIAH3zwwQcfbXio\nVKp2v19Lek9lIQR0Oh08PDywZs0a+/iiRYvg4eGBxYsXQ6/Xw2KxdJoDy0REXZWkhbB//35MnDgR\noaGh9mmhlStXYsyYMYiNjUVpaSl8fHyQkZGB/v37SxWDiIhaQdJCICKizkP2M5Wd8eQ1q9WKsWPH\nIjw8HIGBgXjllVdkz3RDbW0tIiIiMH36dKfJ5OPjg9DQUERERGDMmDFOkctisWDmzJkYPnw4AgMD\n8eWXX8qa6dSpU4iIiLA/+vXrh7S0NNlfp5UrVyIoKAghISGIi4tDdXW17JlSU1MREhKC4OBgpKam\nApDn72nOnDlQKpUICQmxj90sx8qVK3HfffchICAAOTk5Dsu0detWBAUFwcXFBfn5+Q2+v82Z2n30\noYOUl5eLY8eOCSGEuHLlivDz8xPffPONePnll0VKSooQQgi9Xi8WL17s0FyVlZVCCCGuXbsmxo4d\nK/bt2yd7JiGEWL16tYiLixPTp08XQginyOTj4yMuXrzYYEzuXLNnzxabNm0SQlz/N7RYLLJnuqG2\ntlZ4enqK0tJSWTOVlJQIX19fYbVahRBCxMbGinfffVfWTAUFBSI4OFhcvXpV2Gw2MWXKFHHmzBlZ\nMuXl5Yn8/HwRHBxsH2suR2FhoQgLCxM1NTWipKREqFQqUVtb65BM3377rTh16pRQq9Xi6NGj9vH2\nZJK9EH7v4YcfFrm5ucLf31/88MMPQojrpdHUSiRHqKysFKNGjRJff/217JnOnz8voqKixO7du8VD\nDz0khBCyZxLieiH8/PPPDcbkzGWxWISvr2+jcWd4rYQQ4vPPPxfjx4+XPdPFixeFn5+fqKioENeu\nXRMPPfSQyMnJkTXT1q1bxTPPPGP/fPny5SIlJUW2TCUlJQ3efJvLsWLFCqHX6+3fN3XqVHHw4EGH\nZLrh94XQnkyyTxn9ljOdvFZXV4fw8HAolUr7lJbcmV544QW8/vrr6NHj//7Z5M4EXD+XZMqUKRg1\nahTeeust2XOVlJTg7rvvxtNPP40RI0Zg7ty5qKysdIrXCgC2bNmCWbNmAZD3dRowYABeeukleHt7\nY/Dgwejfvz80Go2smYKDg7Fv3z5UVFSgqqoKn332GcrKypzm3665HBcuXICXl5f9+7y8vPD999/L\nkvGG9mRymkJwtpPXevTogePHj6OsrAx5eXnYs2ePrJm2b9+OgQMHIiIiAqKZdQByneR34MABHDt2\nDDt27MD69euxb98+WXPZbDbk5+djwYIFyM/PR+/evRsta5brtaqpqcG2bdvw2GOPNfqaozOZTCas\nXbsW586dw4ULF/Drr7/i/ffflzVTQEAAFi9eDK1Wiz/96U8IDw+Hi4uLrJma01IOZ8j4ey1lcopC\nuHbtGh599FE89dRTiImJAXC9fX/44QcAQHl5OQYOHChLtn79+mHatGk4evSorJn+97//ISsrC76+\nvpg1axZ2796Np556yilep0GDBgEA7r77bjzyyCM4fPiwrLm8vLzg5eWF0aNHAwBmzpyJ/Px8eHp6\nyv5a7dixAyNHjsTdd98NQN6/8yNHjmDcuHHw8PCAq6srZsyYgYMHD8r+Os2ZMwdHjhzB3r17ceed\nd8LPz88p/s6B5v+9hgwZgvPnz9u/r6ysDEOGDJEl4w3tySR7IQgh8MwzzyAwMBDPP/+8fTw6OhoG\ngwEAYDAY7EXhCD///LN99cDVq1eRm5uLiIgIWTOtWLEC58+fR0lJCbZs2YLJkydj8+bNsmYCgKqq\nKly5cgUAUFlZiZycHISEhMiay9PTE/fccw+Ki4sBALt27UJQUBCmT58u62sFAB999JF9ugiQ9+88\nICAAhw4dwtWrVyGEwK5duxAYGCj76/Tjjz8CAEpLS/Hpp58iLi5O9r/zG5rLER0djS1btqCmpgYl\nJSU4ffrvxTloAAAEKElEQVS0fcWdI/129qBdmTrmMEf77du3TygUChEWFibCw8NFeHi42LFjh7h4\n8aKIiooS9913n9BoNOLSpUsOy3Ty5EkREREhwsLCREhIiFi1apUQQsia6beMRqN9lZHcmc6ePSvC\nwsJEWFiYCAoKEitWrHCKXMePHxejRo0SoaGh4pFHHhEWi0X2TL/++qvw8PAQly9fto/JnSklJUUE\nBgaK4OBgMXv2bFFTUyN7pgkTJojAwEARFhYmdu/eLYSQ53V6/PHHxaBBg0TPnj2Fl5eXePvtt2+a\nIzk5WahUKuHv7y927tzpkEybNm0S//nPf4SXl5dwd3cXSqVSPPDAA+3OxBPTiIgIgBNMGRERkXNg\nIRAREQAWAhER1WMhEBERABYCERHVYyEQEREAFgJ1cWazGXFxcVCpVBg1ahTGjRuHzMzMdj3XuXPn\nGlx2uCVbt25FYGAgoqKi2rU9IkdjIVCXJYRATEwM1Go1TCYTjhw5gi1btqCsrMwh29+0aRM2btyI\nL774olXfb7PZJE5EdHMsBOqydu/eDTc3N8ybN88+5u3tjfj4eADXb4T09NNPIzQ0FCNGjIDRaARw\nfU9g4sSJGDlyJEaOHImDBw82eu7CwkKMHTsWERERCAsLw5kzZxp8/e9//zsOHDiAOXPmYPHixaiu\nrm5yW++++y6io6MRFRUFjUYjzQtB1EqucgcgkkphYSFGjBjR7NfXr18PFxcXnDx5EqdOnYJWq0Vx\ncTGUSiVyc3Ph5uaG06dPIy4uDl999VWDn33zzTexcOFCxMXFwWazNfrf/V//+lfs2bMHq1evxogR\nI7B69eomtwUAx44dQ0FBAe8rTrJjIVCX9ftL/cbHx2P//v3o1asXDh8+jAMHDiAxMREA4O/vj6FD\nh+L06dO45557EB8fjxMnTsDFxcX+xv1b48aNQ3JyMsrKyjBjxgzce++9N83S1LaKi4uhUCig0WhY\nBuQUOGVEXVZQUFCDe8yuW7cOX3zxBX766Sf72O8v5SWEwJo1azBo0CCcPHkSR44cQU1NTaPnnjVr\nFrZt24bbbrsNDz74YKP7ZTSlucuG9e7du7W/EpGkWAjUZU2ePBlWqxVvvvmmfayystL+8YQJE/DB\nBx8AAIqLi1FaWgp/f39cvnwZnp6eAID33nsPtbW1jZ777Nmz8PX1RUJCAh5++GEUFBTcNEtT2woI\nCGi2JIjkwEKgLi0zMxN79+7FsGHDMHbsWPz5z3/GqlWrAAALFixAXV0dQkND8fjjj8NgMKBXr15Y\nsGABDAYDwsPDcerUKfTp08f+fDemoTIyMhAcHIyIiAgUFhZi9uzZN83R1LZ69uzpNHf/IgIAXv6a\niIgAcA+BiIjqsRCIiAgAC4GIiOqxEIiICAALgYiI6rEQiIgIAAuBiIjqsRCIiAgA8P8BUHgHpD30\nkxcAAAAASUVORK5CYII=\n",
290 "text": [
291 "<matplotlib.figure.Figure at 0x10edeb090>"
292 ]
293 }
294 ],
295 "prompt_number": 28
296 },
297 {
298 "cell_type": "heading",
299 "level": 3,
300 "metadata": {},
301 "source": [
302 "Result for $k=3$"
303 ]
304 },
305 {
306 "cell_type": "markdown",
307 "metadata": {},
308 "source": [
309 "Likewise, for $k = 3$, we can observe different resultant clusterings from the following Python code that sets \u2018random\u2019 for initialisation and the number of run to just one."
310 ]
311 },
312 {
313 "cell_type": "code",
314 "collapsed": false,
315 "input": [
316 "import sklearn.cluster as sc\n",
317 "\n",
318 "# Run k-means algorithm on the data (k=3)\n",
319 "kmeans = sc.KMeans(n_clusters=3,init='random',n_init=1)\n",
320 "assigned_clusters = kmeans.fit(premierLeague).labels_\n",
321 "\n",
322 "# Print the assigned clusters\n",
323 "cluster1 = find(equal(assigned_clusters,0))\n",
324 "cluster2 = find(equal(assigned_clusters,1))\n",
325 "cluster3 = find(equal(assigned_clusters,2))\n",
326 "\n",
327 "print(\"Cluster 1:\" + str(premierLeague.index[cluster1]))\n",
328 "print(\"Cluster 2:\" + str(premierLeague.index[cluster2]))\n",
329 "print(\"Cluster 2:\" + str(premierLeague.index[cluster3]))\n",
330 "\n",
331 "# Plot the clustering result\n",
332 "plot(premierLeague['Goals for'][cluster1], premierLeague['Goals against'][cluster1], 'ro')\n",
333 "plot(premierLeague['Goals for'][cluster2], premierLeague['Goals against'][cluster2], 'bo')\n",
334 "plot(premierLeague['Goals for'][cluster3], premierLeague['Goals against'][cluster3], 'go')\n",
335 "xlabel('Goals for')\n",
336 "ylabel('Goals against')\n"
337 ],
338 "language": "python",
339 "metadata": {},
340 "outputs": [
341 {
342 "output_type": "stream",
343 "stream": "stdout",
344 "text": [
345 "Cluster 1:Index(['Cardiff City', 'Fulham', 'Norwich City'], dtype='object')\n",
346 "Cluster 2:Index(['Aston Villa', 'Crystal Palace', 'Hull City', 'Newcastle United', 'Southampton', 'Stoke City', 'Sunderland', 'Swansea City', 'Tottenham Hotspur', 'West Bromwich Albion', 'West Ham United'], dtype='object')\n",
347 "Cluster 2:Index(['Arsenal', 'Chelsea', 'Everton', 'Liverpool', 'Manchester City', 'Manchester United'], dtype='object')\n"
348 ]
349 },
350 {
351 "metadata": {},
352 "output_type": "pyout",
353 "prompt_number": 29,
354 "text": [
355 "<matplotlib.text.Text at 0x10f87dd10>"
356 ]
357 },
358 {
359 "metadata": {},
360 "output_type": "display_data",
361 "png": "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\n",
362 "text": [
363 "<matplotlib.figure.Figure at 0x10ed86810>"
364 ]
365 }
366 ],
367 "prompt_number": 29
368 },
369 {
370 "cell_type": "markdown",
371 "metadata": {},
372 "source": [
373 "If you run these two blocks of code several times, you may see different clusterings, which depend on the initial values chosen in the algorithm."
374 ]
375 },
376 {
377 "cell_type": "heading",
378 "level": 3,
379 "metadata": {},
380 "source": [
381 "Choosing k"
382 ]
383 },
384 {
385 "cell_type": "heading",
386 "level": 4,
387 "metadata": {},
388 "source": [
389 "Example:"
390 ]
391 },
392 {
393 "cell_type": "markdown",
394 "metadata": {},
395 "source": [
396 "Let's start by creating a data set of four clusters in Python:\n"
397 ]
398 },
399 {
400 "cell_type": "code",
401 "collapsed": false,
402 "input": [
403 "# data\n",
404 "a1 = concatenate((random.rand(20)*3+1, random.rand(20)*3+3, random.rand(20)*3+6, random.rand(20)*3+8))\n",
405 "a2 = concatenate((random.rand(20)*3+1, random.rand(20)*3+6, random.rand(20)*3+3, random.rand(20)*3+8))\n",
406 "\n",
407 "plt.plot(a1,a2,'.')"
408 ],
409 "language": "python",
410 "metadata": {},
411 "outputs": [
412 {
413 "metadata": {},
414 "output_type": "pyout",
415 "prompt_number": 30,
416 "text": [
417 "[<matplotlib.lines.Line2D at 0x10edc20d0>]"
418 ]
419 },
420 {
421 "metadata": {},
422 "output_type": "display_data",
423 "png": "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\n/aqoqNAXX3yhI0eO+KoM2NXVpRdffFFtbW06evSohoaGtGfPHreHlZDKyko1Nzef9bO6ujqVl5er\no6NDy5cvV11dnUujS9xY57dixQq1t7fr8OHDysvLU21t7YTHcDzE/b4RKCsrS8XFxZKkjIwM5efn\n68SJEy6Pyjk9PT1qamrStm3b4rrjtglOnTqlDz/8UFVVVZJiazuzZs1yeVTOmTlzptLT0zUwMKDB\nwUENDAxo3rx5bg8rIdddd53OP//8s362b98+bd26VZK0detWvfPOO24MzRFjnV95ebmmTYtFc1lZ\nmXp6eiY8huMhHqSNQF1dXTp06JDKysrcHopjHnzwQe3cuXPkReQnx48f14UXXqjKykotXbpUd911\nlwYGBtwelmMuuOACPfTQQ5o/f77mzp2rzMxM3XTTTW4Py3EnT55UOByWJIXDYZ08edLlESVPfX29\nKioqJnyM43+pfvwIPpb+/n6tW7dOu3btUkZGhtvDccT+/fs1Z84clZSU+G4WLsVaY9va2nTPPfeo\nra1N5513ntEfxf+ts7NTzzzzjLq6unTixAn19/frjTfecHtYSRUKhXybOU888YSmT5+uTZs2Tfg4\nx0N83rx56u7uHvl/d3e3srOznf41rvr777+1du1abd68WatXr3Z7OI75+OOPtW/fPl166aXauHGj\nPvjgA23ZssXtYTkmOztb2dnZWrZsmSRp3bp1amtrc3lUzvnss890zTXXaPbs2UpLS9OaNWv08ccf\nuz0sx4XDYfX29kqSfvzxR82ZM8flETmvoaFBTU1NU3oTdjzES0tL9fXXX6urq0unT5/Wm2++qVWr\nVjn9a1xjWZbuvPNOFRQU6IEHHnB7OI7asWOHuru7dfz4ce3Zs0c33nijXnvtNbeH5ZisrCzl5OSo\no6NDktTS0qLCwkKXR+WcRYsWqbW1VX/88Ycsy1JLS4sKCgrcHpbjVq1apVdffVWS9Oqrr/pqIiXF\nuvt27typvXv36pxzzpn8CXa23U+mqanJysvLs3Jzc60dO3Yk41e45sMPP7RCoZC1ZMkSq7i42Cou\nLrbee+89t4fluGg0aq1cudLtYTju888/t0pLS63LL7/cuu2226y+vj63h+SoJ5980iooKLAWL15s\nbdmyxTp9+rTbQ0rIhg0brIsuushKT0+3srOzrfr6euvnn3+2li9fbi1cuNAqLy+3fv31V7eHadu/\nz+/ll1+2FixYYM2fP38kX+6+++4Jj8FmHwAwmP9aEAAgQAhxADAYIQ4ABiPEAcBghDgAGIwQBwCD\nEeIAYDBCHAAM9n+l8MkRvMEYPgAAAABJRU5ErkJggg==\n",
424 "text": [
425 "<matplotlib.figure.Figure at 0x10f54e250>"
426 ]
427 }
428 ],
429 "prompt_number": 30
430 },
431 {
432 "cell_type": "markdown",
433 "metadata": {},
434 "source": [
435 "To demonstrate the procedure of the Silhouette method for finding an optimal value of $k$, we will use the Silhouette method, as described in the notebook \"\" for the values $k = 2, 3, 4, 5, 6, 7$ and $8$.\n",
436 "\n",
437 "The definition of silhouette is repeated here in case this notebook is being run from scratch."
438 ]
439 },
440 {
441 "cell_type": "code",
442 "collapsed": false,
443 "input": [
444 "from scipy.spatial.distance import pdist, squareform\n",
445 "from matplotlib import cm\n",
446 " \n",
447 "def silhouette(X, cIDX):\n",
448 " \"\"\"\n",
449 " Computes the silhouette score for each instance of a clustered dataset,\n",
450 " which is defined as:\n",
451 " s(i) = (b(i)-a(i)) / max{a(i),b(i)}\n",
452 " with:\n",
453 " -1 <= s(i) <= 1\n",
454 "\n",
455 " Args:\n",
456 " X : A M-by-N array of M observations in N dimensions\n",
457 " cIDX : array of len M containing cluster indices (starting from zero)\n",
458 "\n",
459 " Returns:\n",
460 " s : silhouette value of each observation\n",
461 " \"\"\"\n",
462 "\n",
463 " N = X.shape[0] # number of instances\n",
464 " K = len(np.unique(cIDX)) # number of clusters\n",
465 "\n",
466 " # compute pairwise distance matrix\n",
467 " D = squareform(pdist(X))\n",
468 "\n",
469 " # indices belonging to each cluster\n",
470 " kIndices = [np.flatnonzero(cIDX==k) for k in range(K)]\n",
471 "\n",
472 " # compute a,b,s for each instance\n",
473 " a = np.zeros(N)\n",
474 " b = np.zeros(N)\n",
475 " for i in range(N):\n",
476 " # instances in same cluster other than instance itself\n",
477 " a[i] = np.mean( [D[i][ind] for ind in kIndices[cIDX[i]] if ind!=i] )\n",
478 " # instances in other clusters, one cluster at a time\n",
479 " b[i] = np.min( [np.mean(D[i][ind]) for k,ind in enumerate(kIndices) if cIDX[i]!=k] )\n",
480 " s = (b-a)/np.maximum(a,b)\n",
481 "\n",
482 " # plot\n",
483 " order = np.lexsort((-s,cIDX))\n",
484 " indices = [np.flatnonzero(cIDX[order]==k) for k in range(K)]\n",
485 " ytick = [(np.max(ind)+np.min(ind))/2 for ind in indices]\n",
486 " ytickLabels = [\"%d\" % x for x in range(K)]\n",
487 " cmap = cm.jet( np.linspace(0,1,K) ).tolist()\n",
488 " clr = [cmap[i] for i in cIDX[order]]\n",
489 "\n",
490 " fig = plt.figure()\n",
491 " ax = fig.add_subplot(111)\n",
492 " ax.barh(range(X.shape[0]), s[order], height=1.0, edgecolor='none', color=clr)\n",
493 " ax.set_ylim(ax.get_ylim()[::-1])\n",
494 " plt.yticks(ytick, ytickLabels)\n",
495 " plt.xlabel('Silhouette Coefficient')\n",
496 " plt.ylabel('Cluster')\n",
497 " \n",
498 " return s"
499 ],
500 "language": "python",
501 "metadata": {},
502 "outputs": [],
503 "prompt_number": 31
504 },
505 {
506 "cell_type": "markdown",
507 "metadata": {},
508 "source": [
509 "The following code runs the silhouette function for each of these values of $k$, and stores the results in the variable $s$:"
510 ]
511 },
512 {
513 "cell_type": "code",
514 "collapsed": false,
515 "input": [
516 "import sklearn.cluster as sc\n",
517 "\n",
518 "# rearrange data into [nxd] format (n data instances, d attribute dimensions)\n",
519 "x = c_[a1,a2]\n",
520 "\n",
521 "# run k-means for k = 2, 3, 4, 5, 6, 7, 8\n",
522 "s=[]\n",
523 "for i in range(2,9):\n",
524 " kmeans = sc.KMeans(n_clusters=i)\n",
525 " assigned_clusters = kmeans.fit(x).labels_\n",
526 " s.append(average(silhouette(x, assigned_clusters)))\n",
527 "\n",
528 "data=pd.DataFrame(s, index=range(2, 9))"
529 ],
530 "language": "python",
531 "metadata": {},
532 "outputs": [
533 {
534 "metadata": {},
535 "output_type": "display_data",
536 "png": "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\n1X61zH79+un48eO3Pf/KK6/c8jgQCHj+F740Fd1v8ZWPl3n9ei/KU5lcWVlZWrhwoT7++GMPE1U8\n09ChQzV06FBt2rRJjz/+uPbv3+9rpokTJ2rGjBkKBAIyM89X1hXJ1LlzZ+Xm5urb3/621qxZo6FD\nh+rAgQO+Zrp69aq2b9+uDz/8UBcuXFD37t313e9+VwkJCb7mKrJy5Ur17NlTjRs39iyPVLFM06dP\nVygUUnZ2tv71r3+pX79+ysnJUcOGDUvcvtoL/+9//3upv9e8eXMdP35c3/nOd3Ts2DE98MAD1b37\nCmnZsqVyc3PDj3Nzc8P/fSxtm6+++kotW7b0NZMfKppr165dGjdunNauXevpOK4ymYpkZGTo2rVr\nys/P13333edbpm3btmnkyJGSbhxsW7NmjaKjo/WDH/zAt0w3F8OgQYM0fvx4FRQUqGnTpr5latWq\nle6//37dc889uueee/T9739fOTk5nhZ+Zf5O/eUvf/F8nFPRTJs3b9aUKVMkSfHx8WrTpo3279+v\nLl26lPyinh1xKMHkyZNtxowZZmb261//utSDtmZmhw8f9uyg7dWrV61t27Z2+PBhu3z5crkHbT/5\n5BPPD0RWJFORqVOn1thB24rk+vLLLy0+Pt4++eSTiMl06NAhKywsNDOzbdu2Wdu2bX3PdLMxY8bY\nO++843um48ePh9+nf/7zn9a6dWvfM33xxRfWt29fu3btmp0/f96Sk5Ntz549vucyMztz5ow1bdrU\nLly44GmeimaaNGmSTZs2zcxu/Fm2bNnS8vPzS33NGi38/Px869u3ryUkJFi/fv3s9OnTZmaWl5dn\ngwcPDm83cuRIa9GihdWvX99iY2Nt4cKF1Z5l9erVlpiYaPHx8TZ9+nQzM5s3b57NmzcvvM1Pf/pT\ni4+Pt9TUVNu2bVu1Z6hspmPHjllsbKw1atTIGjdubK1atbJvvvnG91xjx461pk2bWigUslAoZF27\ndvU908yZMy0pKclCoZD17NnTtmzZ4numm9VE4Vck09y5cy0pKcmCwaB17969Rv7Rrsj79Oqrr1qn\nTp0sOTnZ5syZ43mmiuZatGiRjRo1qkbyVCTTyZMn7dFHH7XU1FRLTk62JUuWlPl6XFoBABzBJ20B\nwBEUPgA4gsIHAEdQ+ADgCAofABxB4QOAIyh8VItXXnlFycnJ4UsSb926VdKNa33s27dPkhQXF6eC\n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\nrrgAAAAASUVORK5CYII=\n",
537 "text": [
538 "<matplotlib.figure.Figure at 0x10ef15a50>"
539 ]
540 },
541 {
542 "metadata": {},
543 "output_type": "display_data",
544 "png": "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\nssaOHZvAhOfEk/PGG2/UsWPHJEnHjh1Thw4dlJZW9/tpfS/8/fv3q1OnTtHbmZmZ2r9/f8zHJLqk\n4smZChqac/78+Ro+fHgiotUQb85//OMf6t69u4YNG6Y5c+YkMmLcfzeXLVumBx98UJLkeV5CM57P\nECun53lat26dQqGQhg8frrKyskTHjCvn7t27dfjwYQ0cOFA9e/bUiy++mOiYDfodOnHihNasWaNR\no0YlKl5UPDknTpyo7du366abblIoFNLs2bPrPabvl1aI9xfk4t1Jon+xkvGL3BgNyVlSUqI///nP\nevfdd31MVLt4c44cOVIjR47U22+/rfvuu08ff/yxz8n+J56MU6dO1TPPPCPP82RmSdlFx5OzsLBQ\n5eXluvrqq7Vq1SqNHDlSu3btSkC6/4knZ1VVlTZt2qR//vOfOnHihHr37q3vfOc7ysnJSUDCcxry\nO/Taa6+pb9++uvbaa31MVLt4cj799NMKh8OKRCL617/+pTvuuENbtmxR27Zta3287zv8jh07qry8\nPHq7vLw8+r9zdT3m008/VceOHf2OVm+G2nKmgnhzbt26VRMnTtTy5cvVrl27REaU1PDns1+/fjpz\n5owqKioSEU9SfBk3btyoMWPGqEuXLlqyZIkmTZqk5cuXJyxjvDnbtm2rq6++WpI0bNgwVVVV6fDh\nwymXs1OnTho8eLC++c1vqkOHDvre976X8DdfNuTv5l/+8pekjHOk+HKuW7dO3//+9yVJ2dnZ6tKl\nS/2bJt9ecfj/qqqq7JZbbrG9e/fa6dOnY75o+9577yXlRcZ4cp43bdq0pL1oG0/OTz75xLKzs+29\n995LSkaz+HLu2bPHqqurzcxs48aNdsstt6RcxguNHz/elixZksCE58ST8/PPP48+lx988IF17tw5\nJXPu2LHDbr/9djtz5owdP37cAoGAbd++PeVympkdPXrU2rdvbydOnEhovvPiyfnwww9bcXGxmZ37\nO9CxY0erqKio85i+F76Z2euvv265ubmWnZ1tTz/9tJmZzZs3z+bNmxd9zE9+8hPLzs62YDBoGzdu\nTESsBuf87LPPLDMz06655hq79tprrVOnTvbVV1+lXM4JEyZY+/btLRwOWzgctttuuy3hGePJOX36\ndMvLy7NwOGx9+/a19evXp1zGCyWr8M1i55w7d67l5eVZKBSy3r17J+0/9vE8n88++6z16NHDAoGA\nzZ49O2VzLliwwMaOHZuUfOfFyvnll1/aXXfdZcFg0AKBgC1atKje43FpBQBwBO+0BQBHUPgA4AgK\nHwAcQeEDgCMofABwBIUPAI6g8NEsfvvb3yoQCEQvd7xhwwZJ5671sXPnTklSVlaWDh8+rH379ik/\nP9/XPJ988okWL14cvb1lyxatWrWqwcfZtWuXhg8frtzcXBUVFWn06NH64osvGpXpscceUyAQ0M9/\n/nMdOnRIvXr1UlFRkd555x3deeed0Ytg1eb5559v9HVnLn4u4DCf3zcAB6xbt8569+5tX3/9tZmZ\nVVRU2IEDBy55XFZWllVUVNjevXstEAj4mqmkpMTuuuuu6O0XXnjBJk+e3KBjnDx50nJycmzFihXR\n+yKRiG3btq1RmTIyMqLvhl28eLE98MADjTpOQ138XMBdFD6abOnSpXVei71///7Rd05fWPjdu3e3\niRMnWl5eng0ePNhOnjxpZmalpaXWq1cvCwaDdvfdd9uRI0eix/nwww/N7Ny7C7Oysszs3DXDH330\nUbvtttssGAza888/b2ZmvXr1soyMDAuHwzZ9+nS7+eab7brrrrNwOGx/+9vfrLKy0u6//3779re/\nbQUFBbZs2bJLss+fP9/GjRtX68918uRJGz9+vOXn51tBQYGVlJTUm2fEiBHWqlWrS/IUFBTYyZMn\nrXPnztG3xC9cuNCCwaCFQiH70Y9+ZGY1L+exZ88eGzp0qBUVFVm/fv1s586dZmY2btw4mzJlivXp\n08duueWW6LX7L3wufve738XzrxSXKQofTVZZWWnhcNhyc3Nt0qRJtnbt2uifDRgwoNbCT0tLsy1b\ntpiZ2b333msvvfSSmZnl5+fbW2+9ZWZmTz75pE2dOvWS41xY+M8//7w99dRTZmZ26tQp69mzp+3d\nu9cikUiNXe2CBQvsoYceit7+5S9/GV3zyJEjlpuba8ePH6/xc/3sZz+zOXPm1Pozz5gxwyZMmGBm\nZjt37rSbb77ZTp06VWueffv2mZlZmzZt6sxz/rnZtm2b5ebmRsv//H/wiouLbebMmWZmNmjQINu9\ne7eZnfvAoEGDBpnZucK/9957zcysrKzMunbtamZ2yXMBd/l+eWRc/lq3bq2NGzfq7bffVklJiUaP\nHq1nnnkm+qE2tenSpYuCwaAkqaioSPv27dOxY8f03//+V/369ZMkjRs3LnolwLq88cYb+uijj/Tq\nq69KOvchEHv27LnkQyDsoksbv/HGG3rttdc0Y8YMSdLp06dVXl6ubt26XfJ9tXn33Xc1ZcoUSVK3\nbt3UuXNn7dq1q9Y8u3fvVufOnevNc/6+N998U/fee6/at28vSZdclvf48eM1rpAoSV9//bWkc5fT\nHTlypCSpe/fu0Q8RqutngHsofDSLK664Qv3791f//v2Vn5+vhQsX1lv43/jGN6Jft2rVSqdOnbrk\nMRcWVVpamqqrqyXpksfOnTtXd9xxR437IpFIjdu1XVt86dKl9V6HPS8vT2vXrq3zz+sq0tryXKyu\na52fv+5+Xaqrq9WuXbs6P/f5yiuvjJkP7uIsHTTZrl27tHv37ujt0tJSZWVlNegYZqZrrrlG7dq1\n0zvvvCNJevHFF6Mfcp2VlaUPP/xQkqK7Z0kaMmSIfv/73+vMmTPRLCdOnNA111yjr776Kvq4tm3b\n1rg9ZMiQGp+wVVuB/uAHP9C6dev0+uuvR+976623tH37dvXr10+LFi2Krvmf//xHt956a515avt5\nL+Z5ngYNGqRXXnklei37I0eO1Pietm3bqkuXLtHnwMxifkj9xT873EXho8kqKys1fvx45eXlKRQK\naefOnSouLq73ey7e4Z6/vXDhQj322GMKhULaunWrnnzySUnSo48+qj/84Q8qLCxURUVF9PEPPPCA\nevToocLCQuXn5+vBBx/U2bNnFQwG1apVK4XDYc2ePVsDBw5UWVmZCgoK9Morr+iJJ55QVVWVgsGg\nAoGApk2bdknGq666SitWrNBzzz2n3Nxc5eXlad68ebr++us1adIkVVdXKxgMasyYMVq4cKHS09Pr\nzHPxz+x53iW3JalHjx56/PHH1b9/f4XDYT3yyCOXPGbRokWaP3++wuGwAoFAjQ9kqe2YoVCoxnMB\nd3F5ZABwBDt8AHAEhQ8AjqDwAcARFD4AOILCBwBHUPgA4AgKHwAcQeEDgCP+D22lT6vOxwv0AAAA\nAElFTkSuQmCC\n",
545 "text": [
546 "<matplotlib.figure.Figure at 0x10ef15650>"
547 ]
548 },
549 {
550 "metadata": {},
551 "output_type": "display_data",
552 "png": "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\n7FhbvXp1VDNGmjM/P9/Gjx8f9WzXiyTn2bNnLSMjw4qLi83M7NSpU3GZ83qvvfaaDR8+PIoJK0WS\nc/bs2fbzn//czCqfy06dOll5eXmtj+n4Dn/Hjh3q2bOn0tLS1LJlS02ePFnr1q2rcp/169dr2rRp\nkqTc3FydO3dOJ0+edDpavXPefPPN6t+/v1q2bBnVbNeLJOeAAQOUkpIiqfL5PHLkSFzmbNOmTejz\n0tJSfeMb34i7jJL04osv6t5779XNN98c1XzXRJrTYnz+RSQ5V65cqYkTJyo1NVWSov7fPNKc11u5\ncqWmTJkSxYSVIsl566236vz585Kk8+fPq3PnzkpOrv0SaY4X/tGjR9W1a9fQ7dTUVB09ejTsfaJd\nUpHkjAf1zbl06VKNGTMmGtGqiDTnq6++qr59+2r06NFauHBhNCNG/Hdz3bp1euihhyRJHo8nqhmv\nZQiX0+PxaPv27fL7/RozZoz27t0b7ZgR5Tx48KDOnDmjoUOHqn///nr55ZejHbNev0MXL17U5s2b\nNXHixGjFC4kk54MPPqg9e/botttuk9/v14IFC+p8TMevlhnpL8iNu5No/2LF4he5IeqTMz8/X3/+\n85/1zjvvOJioZpHmnDBhgiZMmKC3335bU6dO1aeffupwsq9EkvHRRx/V888/L4/HIzOLyS46kpz9\n+vVTcXGxWrdurY0bN2rChAk6cOBAFNJ9JZKc5eXl+uijj/TPf/5TFy9e1IABA/Sd73xHvXr1ikLC\nSvX5HXrttdc0aNAgdejQwcFENYsk53PPPadAIKBgMKh//etfuvvuu7V79261a9euxvs7vsPv0qWL\niouLQ7eLi4tD/ztX232OHDmiLl26OB2tzgw15YwHkeYsLCzUgw8+qPXr16tjx47RjCip/s/n4MGD\ndeXKFZWUlEQjnqTIMu7cuVOTJ09W9+7dtWbNGs2cOVPr16+PWsZIc7Zr106tW7eWJI0ePVrl5eU6\nc+ZM3OXs2rWrRowYoa9//evq3Lmz7rrrrqi/+LI+fzf/+te/xmScI0WWc/v27fre974nSUpPT1f3\n7t3r3jQ5dsThf8rLy61Hjx52+PBh+/LLL8MetH333XdjcpAxkpzXzJ49O2YHbSPJ+dlnn1l6erq9\n++67McloFlnOQ4cOWUVFhZmZ7dy503r06BF3Ga83ffp0W7NmTRQTVook54kTJ0LP5fvvv2/dunWL\ny5z79u2z4cOH25UrV+zChQvm9Xptz549cZfTzOzcuXPWqVMnu3jxYlTzXRNJzscee8zmzJljZpV/\nB7p06WIlJSW1PqbjhW9mtmHDBuvdu7elp6fbc889Z2ZmixcvtsWLF4fu8+Mf/9jS09PN5/PZzp07\noxGr3jmPHz9uqamp1r59e+vQoYN17drVvvjii7jLOWPGDOvUqZMFAgELBAJ25513Rj1jJDnnzp1r\nmZmZFggEbNCgQbZjx464y3i9WBW+WficixYtsszMTPP7/TZgwICY/WMfyfP529/+1jIyMszr9dqC\nBQviNueyZctsypQpMcl3Tbicp06dsnHjxpnP5zOv12srVqyo8/G4tAIAuASvtAUAl6DwAcAlKHwA\ncAkKHwBcgsIHAJeg8AHAJSh8NIlf//rX8nq9ocsdf/DBB5Iqr/Wxf/9+SVJaWprOnDmjoqIiZWVl\nOZrns88+06pVq0K3d+/erY0bN9b7cQ4cOKAxY8aod+/eysnJ0aRJk/T55583KNOTTz4pr9ern/3s\nZzp9+rRyc3OVk5Ojbdu2aezYsaGLYNVkyZIlDb7uzI3PBVzM4dcNwAW2b99uAwYMsMuXL5uZWUlJ\niR07dqza/dLS0qykpMQOHz5sXq/X0Uz5+fk2bty40O2XXnrJHn744Xo9xqVLl6xXr172+uuvh74W\nDAbtk08+aVCmlJSU0KthV61aZQ888ECDHqe+bnwu4F4UPhpt7dq1tV6LfciQIaFXTl9f+H379rUH\nH3zQMjMzbcSIEXbp0iUzMysoKLDc3Fzz+Xx2zz332NmzZ0OP8+GHH5pZ5asL09LSzKzymuFPPPGE\n3Xnnnebz+WzJkiVmZpabm2spKSkWCARs7ty5dvvtt9vNN99sgUDA/v73v1tpaandf//99u1vf9uy\ns7Nt3bp11bIvXbrUpk2bVuPPdenSJZs+fbplZWVZdna25efn15ln/PjxlpSUVC1Pdna2Xbp0ybp1\n6xZ6Sfzy5cvN5/OZ3++3H/7wh2ZW9XIehw4dslGjRllOTo4NHjzY9u/fb2Zm06ZNs1mzZtnAgQOt\nR48eoWv3X/9c/O53v4vkPymaKQofjVZaWmqBQMB69+5tM2fOtDfffDP0Z3l5eTUWfnJysu3evdvM\nzO677z77y1/+YmZmWVlZ9tZbb5mZ2TPPPGOPPvpotce5vvCXLFlizz77rJmZlZWVWf/+/e3w4cMW\nDAar7GqXLVtmjzzySOj2U089FVrz7Nmz1rt3b7tw4UKVn+unP/2pLVy4sMafed68eTZjxgwzM9u/\nf7/dfvvtVlZWVmOeoqIiMzNr27ZtrXmuPTeffPKJ9e7dO1T+1/7BmzNnjs2fP9/MzIYNG2YHDx40\ns8o3DBo2bJiZVRb+fffdZ2Zme/futZ49e5qZVXsu4F6OXx4ZzV+bNm20c+dOvf3228rPz9ekSZP0\n/PPPh97Upibdu3eXz+eTJOXk5KioqEjnz5/Xf//7Xw0ePFiSNG3atNCVAGuzZcsWffzxx1q9erWk\nyjeBOHToULU3gbAbLm28ZcsWvfbaa5o3b54k6csvv1RxcbH69OlT7ftq8s4772jWrFmSpD59+qhb\nt246cOBAjXkOHjyobt261Znn2te2bt2q++67T506dZKkapflvXDhQpUrJErS5cuXJVVeTnfChAmS\npL59+4beRKi2nwHuQ+GjSbRo0UJDhgzRkCFDlJWVpeXLl9dZ+F/72tdCnyclJamsrKzafa4vquTk\nZFVUVEhStfsuWrRId999d5WvBYPBKrdrurb42rVr67wOe2Zmpt58881a/7y2Iq0pz41qu9b5tevu\n16aiokIdO3as9X2fb7rpprD54F6cpYNGO3DggA4ePBi6XVBQoLS0tHo9hpmpffv26tixo7Zt2yZJ\nevnll0Nvcp2WlqYPP/xQkkK7Z0kaOXKkfv/73+vKlSuhLBcvXlT79u31xRdfhO7Xrl27KrdHjhxZ\n5R22airQ73//+9q+fbs2bNgQ+tpbb72lPXv2aPDgwVqxYkVozf/85z+64447as1T0897I4/Ho2HD\nhumVV14JXcv+7NmzVb6nXbt26t69e+g5MLOwb1J/488O96Lw0WilpaWaPn26MjMz5ff7tX//fs2Z\nM6fO77lxh3vt9vLly/Xkk0/K7/ersLBQzzzzjCTpiSee0B/+8Af169dPJSUlofs/8MADysjIUL9+\n/ZSVlaWHHnpIV69elc/nU1JSkgKBgBYsWKChQ4dq7969ys7O1iuvvKJf/OIXKi8vl8/nk9fr1ezZ\ns6tlbNWqlV5//XW9+OKL6t27tzIzM7V48WJ985vf1MyZM1VRUSGfz6fJkydr+fLlatmyZa15bvyZ\nPR5PtduSlJGRoaefflpDhgxRIBDQ448/Xu0+K1as0NKlSxUIBOT1equ8IUtNj+n3+6s8F3AvLo8M\nAC7BDh8AXILCBwCXoPABwCUofABwCQofAFyCwgcAl6DwAcAlKHwAcIn/B9xk4Conqy+MAAAAAElF\nTkSuQmCC\n",
553 "text": [
554 "<matplotlib.figure.Figure at 0x10ef1f9d0>"
555 ]
556 },
557 {
558 "metadata": {},
559 "output_type": "display_data",
560 "png": "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\nAElFTkSuQmCC\n",
561 "text": [
562 "<matplotlib.figure.Figure at 0x10f8e8f10>"
563 ]
564 },
565 {
566 "metadata": {},
567 "output_type": "display_data",
568 "png": "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\nQcEHAJeI6PbIV/L7/dq5c2e0lgeAZsnn84W1T1lUCz4AIHIY6QCAS1DwAcAlIlLw165dqz59+ig5\nOVmzZ8+u8ZipU6cqOTlZPp9P27dvj0Ssq9SXc8+ePerfv79at26tefPmRSFhlfpyLl26VD6fTxkZ\nGfrmN7+pXbt2RSFl/TlXrFghn8+nzMxMZWdn65133olCytB+PyVp8+bNio+P1/LlyyOYrkp9GQOB\ngBISEpSZmanMzEw988wzEc8ohfZcBgIBZWZmKi0tLWqXQNaXc+7cucHnMj09XfHx8Tp58mTM5Tx+\n/LjuuOMO+f1+paWlafHixXWf0Bx24cIFS0pKsgMHDti5c+fM5/NZQUFBtWPefPNNu/POO83M7MMP\nP7R+/fo5HSusnF988YVt3rzZnnzySZs7d27EM4aac8OGDXby5EkzM3vrrbdi9vksKysL3t61a5cl\nJSVFOmZIOS8dN2jQILv77rvttddei7mM+fn5Nnz48IjmulIoOU+cOGF9+/a1oqIiMzM7duxYTOa8\n3KpVq+z222+PYMIqoeScPn26/fznPzezqueyc+fOdv78+VrP6XiHv2nTJvXq1Uter1etWrXS6NGj\ntWLFimrHrFy5UuPGjZMk9evXTydPntTRo0edjtbgnNddd51ycnLUqlWriGa7XCg5+/fvr4SEBElV\nz+fBgwdjMmfbtm2Dt8vKyvS1r30t0jFDyilJzz//vO677z5dd911MZvRonz9RSg5X3nlFY0cOVKJ\niYmSFNP/zS955ZVX9MADD0QwYZVQct5www0qLS2VJJWWlqpLly6Kj6/9/bSOF/zi4mJ17949eD8x\nMVHFxcX1HhPpIhVKzljQ0JyLFi3SXXfdFYlo1YSa84033lBKSoruvPNOPffcc5GMKCn0388VK1bo\n4YcfliR5PJ6Yy+jxeLRhwwb5fD7dddddKigoiGhGKbSc+/bt05dffqlBgwYpJydHL730UqRjNuhv\nqLy8XG+//bZGjhwZqXhBoeScNGmSPv74Y914443y+XyaP39+ned0fGuFUP84ruxOIv1HFen1wtWQ\nnPn5+frTn/6k9evXO5ioZqHmHDFihEaMGKH3339fY8aM0aeffupwsupCyfnoo49q1qxZ8ng8MrOI\nd9KhZMzKylJRUZHatGmjt956SyNGjNDevXsjkO5/Qsl5/vx5bdu2Tf/4xz9UXl6u/v376xvf+IaS\n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\nIcsAAAAASUVORK5CYII=\n",
569 "text": [
570 "<matplotlib.figure.Figure at 0x10eff6650>"
571 ]
572 },
573 {
574 "metadata": {},
575 "output_type": "display_data",
576 "png": "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\nxrN88AAAAABJRU5ErkJggg==\n",
577 "text": [
578 "<matplotlib.figure.Figure at 0x10f5d8d90>"
579 ]
580 },
581 {
582 "metadata": {},
583 "output_type": "display_data",
584 "png": "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\n",
585 "text": [
586 "<matplotlib.figure.Figure at 0x10f37cb50>"
587 ]
588 }
589 ],
590 "prompt_number": 32
591 },
592 {
593 "cell_type": "markdown",
594 "metadata": {},
595 "source": [
596 "We can then plot the values of $s$ as a bar chart:"
597 ]
598 },
599 {
600 "cell_type": "code",
601 "collapsed": false,
602 "input": [
603 "ax=data.plot(kind='bar', title='Silhouette coefficients for a range of values k')\n",
604 "\n",
605 "ax.set_xlabel('k')\n",
606 "ax.set_ylabel('Average silhouette coefficient')"
607 ],
608 "language": "python",
609 "metadata": {},
610 "outputs": [
611 {
612 "metadata": {},
613 "output_type": "pyout",
614 "prompt_number": 33,
615 "text": [
616 "<matplotlib.text.Text at 0x10eb821d0>"
617 ]
618 },
619 {
620 "metadata": {},
621 "output_type": "display_data",
622 "png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEUCAYAAAAstV3AAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVPX6B/DPIKCyr24gTooKpoKBu+lYIWq4p+K+i12t\n7KX9zMobZUV01W5erIBccsMtC1dc0q+5hOSW1zAlFUQ0lUBWFRm+vz+8TAzMMDNnljMHnvfrxSvP\nzJnnfOY0PMw8c+aMjHPOQQghpN6wETsAIYQQy6LGTwgh9Qw1fkIIqWeo8RNCSD1DjZ8QQuoZavyE\nEFLPUOM3wqZNmxAeHq5atrGxwfXr1wEAU6dOxZIlS8SKZvWuXLmC4OBguLi4IC4uDo8ePcKQIUPg\n5uaGMWPGYPPmzWr7VpuYmBjMmjXLAolr9/3336Nly5ZwdnbGr7/+KnYcyTDXflu3bh2ef/55k9XT\nh0KhwOrVqy26TaGo8etw4sQJ9OrVC25ubvD09ESfPn1w5swZAMCECRNw4MABjbeTyWSQyWSWjApA\n84Ov6h8ka/HZZ5/hxRdfRGFhIebNm4ft27fj3r17yMvLw7Zt2zB+/Hit+7aqxYsXIzEx0eg8mZmZ\nsLGxQUVFhaDbL1y4EF9++SWKiooQFBRkdJ76oi7tN7F+54WwFTuANSssLERERATi4+MxZswYPH78\nGMePH0fDhg3FjqaVtgeetX1OLysrC7169VJbbteuHWxsxH0uImQ/cc5x8+ZNdOjQQdA2KyoqTHq/\nlUolGjRoYLJ65mLsfiNG4ESrX375hbu5uWm9fu3atbxPnz6qZZlMxq9du8Y553zq1Kl87ty5/OWX\nX+bOzs68e/fuqus45/zkyZM8NDSUu7q68q5du/JTp06prmvVqhU/fPiwavn999/nEydOVC3//PPP\nvGfPntzNzY0HBQVxxhjnnPN33nmHN2jQgDdq1Ig7OTnxefPm8b59+3KZTMYdHR25k5MT37ZtG+ec\n8927d/OgoCDu5ubGe/XqxS9evKj1fl66dIm/9NJL3MPDgzdt2pR/8sknnHPOHz16xN944w3eokUL\n3qJFCz5//nz++PFj1e20baN///5qOceNG8ft7e25nZ0dd3Jy4qtXr66xb7Vl0HffcM55v379+JIl\nS3jv3r25s7MzHzBgAM/NzeWcc96yZUsuk8m4k5MTd3Jy4qmpqTwjI4P37duXu7q6ci8vLz527Nga\n++bRo0fc0dFRtY/9/f0555ynp6fzfv36cTc3N/7ss8/yXbt2qW4zZcoUPmfOHD5o0CDu6OjIf/zx\nxxp116xZwwMDA7mzszNv3bo1j4+P1/r/Z+3atbxXr178zTff5J6ennzJkiX82rVrvH///tzT05N7\neXnxCRMm8AcPHqhu06pVK75s2TLeuXNn7urqyseOHcsfPXqkuj42NpY3b96c+/j48MTERLXH9qNH\nj/iCBQu4n58fb9q0KZ8zZw5/+PChxmwVFRV86dKlvFWrVrxJkyZ88uTJvKCgQOt+q2rOnDl84cKF\napcNHTqUf/7555xzzmNiYnibNm24s7Mz79ChA//+++/V9knl4+fGjRtcJpNxpVKpur5fv378m2++\nUS2vXr2aBwYGcnd3dx4eHs6zsrJU182fP583adKEu7i48E6dOvFLly5pvK8KhYKvXr2ac8757du3\neadOnfiyZcs0ris2avy1KCws5J6ennzKlCl8//79PC8vT+362hr/lClTuKenJ//ll194eXk5nzBh\nAo+MjOScc/7XX39xNzc3vnHjRq5UKnlSUhJ3d3dX1ZfL5WrNIDo6WtXcbt26xT09Pfn+/fs555wf\nOnSIe3p6qhpY1Qefplycc37u3DnepEkTnpaWxisqKvi3337L5XK5WtOuug+aNWvGV6xYwR8/fsyL\nior46dOnOeecL1myhPfs2ZPfv3+f379/n/fq1YsvWbKk1m2UlZVpzBkdHc0nTZqkcd/WlsGQfdOv\nXz/u7+/PMzIy+MOHD7lCoeBvv/0255zzzMzMGs0hMjJS9Qfm8ePH/OTJkzX2j6Z9XFZWxtu0acNj\nYmL4kydP+JEjR7izszO/cuUK5/zpY8PV1VX1x75qw620d+9efv36dc4558eOHeMODg783LlzGre9\ndu1abmtry+Pi4rhSqeQPHz7kf/zxBz98+DAvKyvj9+/f53379uXz589X3UYul/Pu3bvzO3fu8Ly8\nPB4YGMi//vprzjnn+/fv582aNePp6em8tLSUT5gwQe3+zZ8/nw8bNozn5+fzoqIiPmTIEL548WKN\n2VavXs39/f35jRs3eHFxMR85cqTa/+fqj82qfvrpJ96yZUvVcl5eHm/cuDG/c+cO55zz7du3q/69\ndetW7ujoyP/880/VPqmt8Vd9/P3www/c39+f//7771ypVPKPPvqI9+rVi3POeUpKCg8JCeEFBQWc\nc85///131Tarq6x5/fp13q5dO56YmKhxPWtAM/5aODs748SJE5DJZJg1axaaNGmCYcOG4d69ezpv\nK5PJMHLkSISGhqJBgwaYMGECLly4AADYu3cv2rdvjwkTJsDGxgaRkZEICAjA7t27NdbiVcYPGzdu\nxODBgzFw4EAAwEsvvYTQ0FDs3btX4/qaJCQkICoqCl27doVMJsPkyZPRsGFDpKam1lh3z549aNGi\nBd58803Y29vDyckJ3bp1AwBs3rwZ//znP+Hl5QUvLy+8//772LBhg97bqJqTP30SojFvbRkM2Tcy\nmQzTpk2Dv78/GjVqhDFjxqj+n2jatr29PTIzM5GTkwN7e3u10VRtUlNTUVJSgrfffhu2trbo378/\nIiIikJSUpFpn+PDh6NmzJwBoHB0OHjwYzzzzDACgb9++GDBgAI4fP651my1atMDcuXNhY2ODRo0a\noU2bNnjxxRdhZ2cHLy8vvPnmmzh27JjabV5//XU0a9YM7u7uGDJkiGpfbNu2DdOnT0dgYCAaN26M\nDz74QHUbzjkSExOxYsUKuLm5wcnJCYsXL8aWLVs05tq0aRMWLFgAuVwOR0dHxMTEYMuWLXq9l9Kn\nTx/IZDLV/d6xYwd69eqFZs2aAQBeeeUV1b/HjBmDtm3b4vTp0zrrVvf1119j8eLFaN++PWxsbLB4\n8WJcuHABN2/ehL29PYqKinD58mVUVFSgffv2qm1q8ttvv+GFF17Ahx9+iJkzZxqcxVKo8esQEBCA\ntWvXIjs7G5cuXcLt27cxf/58vW7btGlT1b8bN26M4uJiAMDt27fh5+entm6rVq2Qk5Ojs2ZWVha2\nb98Od3d31c/Jkyfx559/qtbR9QZTVlYWli9frlbj1q1buHPnTo11s7Oz0bp1a411bt++jVatWqmW\n/fz8cPv27Vq3UXm9Pjn1yVD9funaN1V/aav+P9Hks88+A+cc3bp1Q8eOHbF27Vq98t6+fRstW7ZU\nu6xVq1aq+y6TyWpcX93+/fvRo0cPeHp6wt3dHfv27cNff/2ldf3q9e7evYvIyEj4+vrC1dUVkyZN\nqnH76vuipKQEAHDnzh21er6+vqp/379/H6WlpQgJCVHt40GDBiE3N1djrjt37tR4jJSXl+Pu3bu1\n3n/g6X6KjIxU/cHcvHkzJkyYoLp+/fr16NKliyrHpUuXat1H2mRlZeGNN95Q1fH09ATw9P9j//79\nMW/ePMydOxdNmzZFVFQUioqKNNbhnGPTpk3w9fXFqFGjDM5hSdT4DdC+fXtMmTIFly5dMqqOj48P\nsrKy1C7LysqCj48PAMDR0VH1SwgAf/75p6pJ+vn5YdKkScjPz1f9FBUV4f/+7/8A6NdM/fz88O67\n76rVKC4uxtixYzWuq+2IoBYtWiAzM1O1fPPmTdV9MGQbunLXlqH6erXtm9po2n7Tpk2RkJCAnJwc\nxMfH4x//+IdeOVq0aIHs7Gy1VxFV///q8vjxY4waNQr/93//h3v37iE/Px+DBw+u9ZVc9fzvvPMO\nGjRogEuXLqGgoAAbNmzQ+4il5s2bIzs7W7Vc9d9eXl5o3Lgx0tPTVfv4wYMHKCws1FhL02PE1tZW\n7UlRbcaNG4cdO3YgKysLaWlpqoaalZWF2bNnY9WqVcjLy0N+fj46duyocR85OjoCAEpLS1WXVX0y\n4Ofnh4SEBLXHTUlJCXr06AEAeO2113DmzBmkp6fj6tWr+Ne//qUxq0wmwwcffABPT0+MHz9e8BFi\nlkCNvxZXrlzBihUrVM/Es7OzkZSUpHqJXpvafkkHDRqEq1evIikpCeXl5di6dSt+//13REREAACC\ng4OxZcsWlJeX48yZM/juu+9Ut504cSJ2796NgwcPQqlU4tGjR2CMqTI2bdoU165dU9te9ctmzZqF\nr7/+GmlpaeCco6SkBHv37tX47DciIgJ37tzBF198gcePH6OoqAhpaWkAnv5SfvTRR8jNzUVubi4+\n/PBDTJw4Ue9tVB/1aPPyyy9rzVCVrn1T23a8vb1hY2Ojtp+2b9+OW7duAQDc3Nwgk8n0OvqmR48e\ncHBwwGeffYYnT56AMYY9e/YgMjJS530FgLKyMpSVlcHLyws2NjbYv38/Dh48qHO7VRUXF8PR0REu\nLi7IycnR2qyqqsw1ZswYrF27Fr///jtKS0uxdOlS1To2NjaYNWsW5s+fj/v37wMAcnJytOYbN24c\nPv/8c2RmZqK4uBjvvPMOIiMj9T6KKTg4GF5eXpg5cyYGDhwIFxcXAEBJSQlkMhm8vLxQUVGBtWvX\nan1C5u3tDR8fH2zYsAFKpRJr1qxR+/88Z84cfPLJJ0hPTwcAFBQUYPv27QCAM2fO4PTp03jy5Akc\nHBzQqFGjWo+YsrOzw/bt21FSUoLJkydb3dF0lajx18LZ2RmnT59G9+7d4eTkhJ49e6Jz585Yvnw5\ngJrH7Vb/d/VnYZXLnp6e2LNnD5YvXw4vLy8sW7YMe/bsgYeHBwBg6dKluHbtGtzd3REdHa328tbX\n1xfJycn45JNP0KRJE/j5+WH58uWqB9gbb7yBHTt2wMPDQzWSio6OxpQpU+Du7o4dO3YgJCQEiYmJ\nmDdvHjw8PNC2bVusX79e4z5wcnLCoUOHsHv3bjRv3hzt2rUDYwwA8N577yE0NBSdO3dG586dERoa\nivfeew8AtG5D3/1VddnZ2Vlrhqrr6do3tW3TwcEB7777Lnr37g0PDw+cPn0aZ86cQY8ePeDs7Ixh\nw4Zh5cqVkMvlGvdT1bp2dnbYvXs39u/fD29vb8ybNw8bNmxAu3btNN7X6pydnbFy5UqMGTMGHh4e\nSEpKwrBhw7Sur6ne+++/j3PnzsHV1RVDhgzBqFGjat1m1RoDBw7E66+/jv79+6Ndu3Y13ouIjY2F\nv78/evToAVdXV4SFheHq1asa606fPh2TJk1C37590bp1azg4OOA///mPxv2mzfjx43HkyBGMHz9e\ndVmHDh2wYMEC9OzZE82aNcOlS5fQp08frfskMTER//rXv+Dl5YX09HT07t1bdd3w4cOxaNEiREZG\nwtXVFZ06dVJ9hqSwsBCzZ8+Gh4cH5HI5vLy88NZbb9Wa187ODjt37sTdu3cxY8YMq2z+Mm7GVCkp\nKZg/fz6USiVmzpyJRYsWqV2/bNkybNq0CQBQXl6Oy5cvIzc3F25ubuaKRAgx0OXLl9GpUyeUlZWJ\n/jkLYhpma/xKpRLt27fH4cOH4ePjg65duyIpKQmBgYEa19+zZw/+/e9/4/Dhw+aIQwgxwPfff4/B\ngwejtLQUU6ZMga2tLXbu3Cl2LGIiZvvznZaWBn9/f8jlctjZ2SEyMhLJycla19+8eTPGjRtnrjiE\nEAMkJCSgadOm8Pf3h52dHb766iuxIxETMtspG3JycmocEqbtGNvS0lIcOHAAX375pbniEEIMsH//\nfrEjEDMyW+M35GRFu3fvRp8+fbTO9v39/WscqUIIIaR2QUFBqg/mVWW2UY+Pj0+NY4GrfhCkqi1b\nttQ65rl27Zrqk51S+nn//fdFz0C5pfEj1eyU27pzazvVtdkaf2hoKDIyMpCZmYmysjJs3boVQ4cO\nrbFeQUEBfvrpp1oPVyOEEGI6Zhv12NraIi4uDuHh4VAqlZgxYwYCAwMRHx8PAIiKigIA/PDDDwgP\nD0fjxo3NFUU0VT+xKCWU2/Kkmp1yW5apcpv1fPyDBg3CoEGD1C6rbPiVpkyZgilTppgzhmiCg4PF\njiAI5bY8qWan3JZlqtxm/QCXqchkMkggJiGEWBVtvZO+gYsQUq95eHggPz9f7BhGcXd3R15ent7r\n0+evzajyfDJSQ7ktT6rZ60Lu/Px80Y/WMfbH0D9c1PgJIaSeoRk/IaReqwv9Rdt90HY5PeMnhJB6\nhhq/GdWF+aeUSDU3IN3slFuaqPETQkg9QzN+Qki9Vr2/uLh4oKjIfId3Oju7o7BQv0Mv8/LyMGPG\nDBw6dAheXl6IiYnReF4zQ2f8dBw/IYRU8bTpm++JZlGR/mcunjt3Lho1aoR79+7h/PnzePnllxEU\nFIQOHToYlYFGPWYk1Tki5bY8qWan3OZTUlKCnTt3YunSpXBwcEDv3r0xbNgwbNiwweja1PgJIcQK\nXb16Fba2tvD391ddFhQUhN9++83o2tT4zUihUIgdQRDKbXlSzU65zae4uBguLi5qlzk7O6OoqMjo\n2tT4CSHECjk5OaGwsFDtsoKCAjg7Oxtdmxq/GUlhjqgJ5bY8qWan3ObTrl07lJeX448//lBd9uuv\nv6Jjx45G16bGTwghVsjR0REjR47EP//5T5SWluLEiRPYvXs3Jk2aZHRtOo6fEFKvWfNx/Pn5+Zg+\nfbrqOP5PP/0UkZGRNdYz9Dh+avyEkHqtLvQXOkmbFZHCHFETym15Us1OuaWJGj8hhNQzNOohVs2c\n81ZDZq2k7qoL/YVm/KROkclkMN95U+hxRepGf6EZvxWR6hxRqrkBJnYAwaS6zym3NJm18aekpCAg\nIABt27ZFbGysxnUYY+jSpQs6duwoiY9RE0KI1Jlt1KNUKtG+fXscPnwYPj4+6Nq1K5KSkhAYGKha\n58GDB+jduzcOHDgAX19f5ObmwsvLq2bIOvBSjAhDox5ibh4eHsjPN99x+5bg7u6OvLya71dZ/Hz8\naWlp8Pf3h1wuBwBERkYiOTlZrfFv3rwZo0aNgq+vLwBobPqEEGJOmhpmXWe2UU9OTg5atmypWvb1\n9UVOTo7aOhkZGcjLy0P//v0RGhpqkvNMWxOpzhGlmptm/JZHuS3LVLnN9oz/6Uv02j158gTnzp3D\njz/+iNLSUvTs2RM9evRA27Zta6w7depU1asHNzc3BAcHq94TqNwZ1rZcyVry6Lt84cIFq8rzd0PX\ntQwd12teX+z7xxjDhQsXrGZ/14flurq/GWNYt24dAKj6pSZmm/GnpqYiOjoaKSkpAICYmBjY2Nhg\n0aJFqnViY2Px8OFDREdHAwBmzpyJgQMH4pVXXlEPSTP+eotm/IQIZ/HDOUNDQ5GRkYHMzEyUlZVh\n69atGDp0qNo6w4YNw4kTJ6BUKlFaWorTp08b/V2ShBBCame2xm9ra4u4uDiEh4ejQ4cOGDt2LAID\nAxEfH4/4+HgAQEBAAAYOHIjOnTuje/fumDVrVp1q/JUvwaRGqrlpxm95lNuyTJXbbDN+ABg0aBAG\nDRqkdllUVJTa8sKFC7Fw4UJzxiCEEFIFnbKBWDWa8RMinOAZ/4kTJ2pcdvLkSdOkIoQQYnE6G/9r\nr71W47J58+aZJUxdU9/niJbHxA4gmFT3OeW2LLPP+H/++WecOnUK9+/fx4oVK1QvF4qKilBRUWGS\njRNCCLE8rTP+Y8eO4ejRo4iPj8ecOXNUlzs7O2PIkCEaP2RltpA046+3aMZPiHCCz8efmZlZ6yfA\nLIEaf/1FjZ8Q4QS/ufv48WPMmjULYWFh6N+/P/r3748XXnjBLCHrmvo+R7Q8JnYAwaS6zym3ZVns\nOP7Ro0fj1VdfxcyZM9GgQQMA+p2HhxBCiHXSOeoJCQnB2bNnLZVHIxr11F9SHfXQdwUTayB4xh8d\nHQ1vb2+MHDkSDRs2VF3u4eFh+pRaUOOvv6Ta+KWam9Qtgmf869atw7Jly9CrVy+EhISofohu9X2O\naHlM7ABGYGIHEESqj5X6nlvnjD8zM9MkGyKEEGIddI56SkpKsGLFCty8eROJiYnIyMjAlStXEBER\nYamMNOqpx6Q6MpFqblK3CB71TJs2Dfb29jh16hQAoEWLFnj33XdNn5AQQohF6Gz8165dw6JFi2Bv\nbw8AcHR0NHuouqK+zxEtj4kdwAhM7ACCSPWxUt9z62z8DRs2xMOHD1XL165dUzu6hxBCiLTonPEf\nPHgQH3/8MdLT0xEWFoaTJ09i3bp16N+/v6Uy0ozfBKR6XLlUZ+VSzU3qFsHH8QNAbm4uUlNTAQA9\nevSAl5eX6RPWghq/8aTaiCi3xur0+0D0YvCbu5cvXwYAnD17Fjdv3kTz5s3RvHlz3Lx5E+fOnTNf\n0jpEqnNEqc6bpZsbkGp2qT7G63turcfxr1ixAomJiViwYIHGc/McPXrUJAEIIYRYFn3nbj0h1dED\n5dZYnX4fiF4EH8e/atUq5Of//aZgfn4+vvzyS9OmI4QQYjE6G39CQgLc3d1Vy+7u7khISDBrqLpC\nqnNEqc6bpZsbkGp2qT7G63tunY2/oqJC7Tt2lUolnjx5olfxlJQUBAQEoG3btoiNja1xPWMMrq6u\n6NKlC7p06YKPPvrIgOiEEEKE0DnjX7hwIW7evImoqChwzhEfHw8/Pz8sX7681sJKpRLt27fH4cOH\n4ePjg65duyIpKQmBgYGqdRhjWLFiBXbt2lV7SJrxG02qM2fKrbE6/T4QvWjrnTrPzhkbG4uEhAR8\n9dVXAICwsDDMnDlT5wbT0tLg7++v+r7eyMhIJCcnqzV+APQAJoQQC9M56mnQoAFeffVV7NixAzt2\n7EBUVJTqKxhrk5OTg5YtW6qWfX19kZOTo7aOTCbDqVOnEBQUhMGDByM9PV3AXbBeUp0jSnXeLN3c\ngFSzS/UxXt9za33GP3r0aGzfvh0dO3ascRy/TCbDxYsXay2sz/fyPvfcc8jOzoaDgwP279+P4cOH\n4+rVqxrXnTp1qurVg5ubG4KDg6FQKAD8vTOsbbmSteX5u8kotCxf0HF99eWn2zBXft3br1yGjus1\nry/+/mZ4us915a1cNu/+rg/LFy5csKo8plpmjGHdunUAoOqXmmid8d++fRstWrRAVlaWxnFMbUUB\nIDU1FdHR0UhJSQEAxMTEwMbGBosWLdJ6m2eeeQZnz56t8bWONOM3nlRnzpRbY3X6fSB6Mfg4/sov\nWnnvvfcgl8tr/OgSGhqKjIwMZGZmoqysDFu3bsXQoUPV1rl7964qVFpaGjjnFv0uX0KIOhcXD8hk\nMrP8uLjQ77a10Drqefz4MTZt2oSTJ09i586dan81ZDIZRo4cWXthW1vExcUhPDwcSqUSM2bMQGBg\nIOLj4wEAUVFR2LFjB7766ivY2trCwcEBW7ZsMdHdsg5VX45LC0PVsYJ0MEgzN2At2Z+ewdWQVxMM\n+uYuKtI9/rUUqf5umiq31sb/9ddfY9OmTSgoKMDu3btrXK+r8QPAoEGDMGjQILXLoqKiVP+eO3cu\n5s6da0heQgghRtI649++fTtGjx6NhIQEzJ4929K51NCM33hSnTlTbo3VKTfRi8Hn4+/SpQvOnz+v\n+q+YqPEbT6q/0JRbY3XKTfRi8Ju7np6eCAsLw40bNzBkyBC1n+pv0hLNah7WJxVM7AACMbEDGIGJ\nHUAgJnYAQaT6u2mq3Fpn/Pv27cO5c+cwceJELFy4sMabu/WVVL/CkBBCKuk8V8/9+/fh7e2NkpIS\nODo6WiqXGmsa9Uj1pTDl1lidclevLNHcRDPB5+PPyMhAhw4dEBAQAAC4cOEC/vGPf5g+ISGEEIvQ\n2fjnz5+PlJQU1ResBwcH49ixY2YPVjcwsQMIxMQOIBATO4ARmNgBBGJiBxCEZvx68PPzU7+RrV43\nI4QQizDne29A3Xv/TWcH9/Pzw8mTJwEAZWVlWLlyZY1TKxNtFGIHEEghdgCBFGIHMIJC7AACKcQO\nAEDIJ44NrW8dB7SY6tPGer25+8Ybb+Dw4cPgnGPAgAFYuXIlPD09TRJAH/TmrgkqU25N1Sl39cqU\nW9sWrKYHGcLgD3BZE+k2fgbDnhFZyy8GA+U2juGNiEH/7JS7RmWz5gaspfEbeq4ewUf1ZGdnY8SI\nEfD29oa3tzdGjRqFW7duGRSWEEKI9dD5jP+ll17ChAkTMHHiRADApk2bsGnTJhw6dMgiAQEpP+M3\nuLoVPSMyqDrlrl6ZcmuqLtHcgLU84zeU4FFPUFAQfv31V52XmRM1fhNUptyaqlPu6pUpt7YtWE0P\nMoTgUY+npyc2bNgApVKJ8vJybNy4UXVMP9GFiR1AICZ2AIGY2AGMwMQOIBATO4BATOwAgpjqOH6d\njX/NmjXYtm0bmjVrhubNm2P79u1Yu3atSTZOCCHE8uioHgPRS2GN1Sl39cqUW1N1ieYG6t2oZ/Lk\nyXjw4IFqOT8/H9OnTzdtOkIIIRajs/FfvHgRbm5uqmV3d3ecO3fOrKHqDiZ2AIGY2AEEYmIHMAIT\nO4BATOwAAjGxAwhisRk/5xx5eX+foyIvLw9KpdIkGyeEEGJ5Omf869evx8cff4wxY8aAc47t27fj\n3XffxeTJky2VkWb8pqhMuTVVp9zVK1NubVuwmh5kCKNO2fDbb7/hyJEjkMlkeOGFF9ChQwezhNSG\nGr8JKlNuTdUpd/XKlFvbFqymBxmCztVjIvXj3DEMlNs4dM4bjdUlmhuwlsZvsXP1GCMlJQUBAQFo\n27YtYmNjta73yy+/wNbWFjt37jRnHEIIITDjM36lUon27dvj8OHD8PHxQdeuXZGUlFTjXP5KpRJh\nYWFwcHDAtGnTMGrUqJohJfuM3+DqVvSMyKDqlLt6ZcqtqbpEcwPW8ozfUEY948/MzMThw4cBAKWl\npSgsLNR5m7S0NPj7+0Mul8POzg6RkZFITk6usd5//vMfvPLKK/D29tYnCiGEECPpbPwJCQkYPXo0\noqKiAAAmebutAAAcvElEQVS3bt3CiBEjdBbOyclBy5YtVcu+vr7IycmpsU5ycjJeffVVAJV/tesS\nJnYAgZjYAQRiYgcwAhM7gEBM7AACMbEDqLi4eEAmk5nlRxudX724atUqpKWloUePHgCAdu3a4d69\nezrvjD5NfP78+fj0009VL0dqeyk1depUyOVyAICbmxuCg4NVb3JUfqjBUst/P2h0LUPH9ZrXN1d+\n/fNc0DNv5bL6m060v4XkuaBH3spla9nfhi7/nd2Uec2/v82b/+nXRh7VM0/VLNquX/e/ZTmAD6CJ\nzhl/t27dkJaWhi5duuD8+fMoLy/Hc889h4sXL9Z2M6SmpiI6OhopKSkAgJiYGNjY2GDRokWqdVq3\nbq1q9rm5uXBwcEBiYiKGDh2qHpJm/MZXptyaqlPu6pUpt7YtSDS75tw6n/H369cPH3/8MUpLS3Ho\n0CF8+eWXGDJkiM7NhYaGIiMjA5mZmWjRogW2bt2KpKQktXWuX7+u+ve0adMwZMiQGk2fEEKIaemc\n8cfGxsLb2xudOnVCfHw8Bg8ejI8++khnYVtbW8TFxSE8PBwdOnTA2LFjERgYiPj4eMTHx5skvPVj\nYgcQiIkdQCAmdgAjMLEDCMTEDiAQEzuAQMw0ZbgO//73v/W6zJz0iGkxADjA9fw5asC65r2flNua\ncxuanXJbNrc1ZTdNbp0z/srZflXBwcG4cOGClluYHs34TVCZcmuqTrmrV6bc2rYg0ewGzviTkpKw\nefNm3LhxQ22mX1RUBE9PT/NkJIQQYnZaG3+vXr3QvHlz5ObmYuHChaq/Gi4uLujcubPFAkobg2Hn\nA7EWDJTb0hikmZ2BclsSgylya238rVq1QqtWrfD888+jX79+atctWrSo1nPvEEIIsV6CZvydOnXC\nf//7X7MGq4pm/CaoTLk1Vafc1StTbm1bkGh2A2f8X331Fb788ktcu3YNnTp1Ul1eVFSE3r17mycj\nIYQQs9P6jL+goAD5+fl4++23ERsbq/qr4ezsbPE3d6X7jJ/BWs75Tbk1VreS3ED9OK+9VHMD1pOd\nwRS5tX6Ay9XVFXK5HFu2bMHNmzdx9OhRyOVyVFRU4MaNGwZsmBBCiDXROeOPjo7G2bNnceXKFVy9\nehU5OTkYPXo0Tp06ZamMEn7Gb3B1K3lWYXB1yl29MuXWVF2iuQHpZhd4Pv7vv/8eycnJcHR0BAD4\n+PiguLjY9PkIIYRYhM7G37BhQ9jY/L1aSUmJWQPVLUzsAAIxsQMIxMQOYAQmdgCBmNgBBGJiBxCI\nmaSKzsZf+SUsDx48QEJCAl588UXMnDnTJBsnhBBieXp95+7Bgwdx8OBBAEB4eDjCwsLMHqwqmvGb\noDLl1lSdclevTLm1bUGi2TXnNtuXrZsSNX4TVKbcmqpT7uqVKbe2LUg0u8A3d52cnODs7AxnZ2fV\nvN/FxcUsEeseJnYAgZjYAQRiYgcwAhM7gEBM7AACMbEDCMRMUkXnN3BVPYKnoqICu3btQmpqqkk2\nTgghxPIEjXrofPz0UrhadcpdvTLl1lRdorkB6WYX+J273333nerfFRUVOHv2LBo3bmzabIQQQixG\nZ+PfvXv3//4iPf0eXblcjuTkZLMHqxsY6vM5vy2PQZq5AelmZ6DclsRg1vPxV1q3bp3RGyGEEGI9\ndB7Vk52djREjRsDb2xve3t4YNWoUbt26ZYlsdYBC7AACKcQOIJBC7ABGUIgdQCCF2AEEUogdQCCF\nSarobPzTpk3D0KFDcfv2bdy+fRtDhgzBtGnTTLJxQgghlqez8d+/fx/Tpk2DnZ0d7OzsMHXqVNy7\nd88S2eoAJnYAgZjYAQRiYgcwAhM7gEBM7AACMbEDCMRMUkVn4/f09MSGDRugVCpRXl6OjRs3wsvL\nS6/iKSkpCAgIQNu2bTV+R29ycjKCgoLQpUsXhISE4MiRI4bfA0IIIYbhOty4cYNHRERwLy8v7uXl\nxYcOHcqzsrJ03YyXl5fzNm3a8Bs3bvCysjIeFBTE09PT1dYpLi5W/fvixYu8TZs2GmvpEdNiAHCA\nm+nHfPeTclNuyl0fs2vOrfOoHrlcjt27dxv8ByUtLQ3+/v6Qy+UAgMjISCQnJyMwMFC1TuU5/oGn\nnxDW95UEIYQQ4XQ2/nv37iExMRGZmZkoLy8H8PSTZmvWrKn1djk5OWjZsqVq2dfXF6dPn66x3g8/\n/IDFixfjzp07qjOA1h0M0jx6gIFyWxqDNLMzUG5LYrDIcfzDhg1D3759ERYWpvpClsoPdNVGn3UA\nYPjw4Rg+fDiOHz+OSZMm4cqVKxrXmzp1qurVg5ubG4KDg6FQKAAAjDEAsNjy32+w6FqGjus1r2+u\n/PrnuaDj+urLT7dB+1t92bA8F/TIW7lsLfvb0OW/s5syr/n3t3nz/70NQ/NoWmYA1v1vWQ5tdJ6r\nR+h5eVJTUxEdHY2UlBQAQExMDGxsbLBo0SKtt2nTpg3S0tLg6empHpLO1WN8ZcqtqTrlrl6Zcmvb\ngkSzCzwtc0REBPbu3Wvw5kJDQ5GRkYHMzEyUlZVh69atGDp0qNo6165dU4U6d+4cANRo+oQQQkxL\n66jHyclJNa755JNPYG9vDzs7OwBP/0IVFhbWXtjWFnFxcQgPD4dSqcSMGTMQGBiI+Ph4AEBUVBS+\n++47rF+/HnZ2dnBycsKWLVtMdb+sBEN9niNaHoM0cwPSzc5AuS2JwRS56Ru4DGTYyzIGw/4nWcvL\nSQbKbRzDX74z6J+dcteobNbcgPVkZzBFbq2Nv3L0os1zzz1nwMaNI93Gb3B1K3lwGVydclevTLk1\nVZdobkC62Q1s/AqFotYjc44ePWq6bDpQ4zdBZcqtqTrlrl6ZcmvbgkSz05etm0T9GD0wUG7j0MhE\nY3WJ5gasJzuDKXJrfXP3yJEjeOGFF/Ddd99pfOY/cuRIAzZOCCHEWmht/MeOHcMLL7yg9g1cVVHj\n14dC7AACKcQOIJBC7ABGUIgdQCCF2AEEUogdQCCFSarQqMdANAPVWJ1yV69MuTVVl2huQLrZBX6A\n64svvkBhYSE455gxYwaee+45HDhwwCwR6x4mdgCBmNgBBGJiBzACEzuAQEzsAAIxsQMIxExSRWfj\nX716NVxcXHDw4EHk5eVh/fr1ePvtt02ycUIIIZans/FXvkzYu3cvJk2ahI4dO5o9VN2hEDuAQAqx\nAwikEDuAERRiBxBIIXYAgRRiBxBIYZIqOht/SEgIBgwYgH379mHgwIEoLCxUnaWTEEKI9Oh8c1ep\nVOLChQto06YN3Nzc8NdffyEnJwedO3e2VEYJv7nLUJ+PFTaF+pEbqB/Hw0s1N2A92RnMehx/pQYN\nGiAkJES17OnpSWfQJIQQCaPDOQ1Eh7tprE65q1em3JqqSzQ3IN3sAg/nJIQQUrfo1fiPHz+OtWvX\nAgDu37+PGzdumDVU3cHEDiAQEzuAQEzsAEZgYgcQiIkdQCAmdgCBmEmq6Gz80dHR+OyzzxATEwMA\nKCsrw8SJE02ycUIIIZanc8YfFBSE8+fPIyQkBOfPnwcAdO7cGRcvXrRIQIBm/CapTLk1Vafc1StT\nbm1bkGh2gTP+hg0bqh23X1JSYtpchBBCLEpn4x89ejSioqLw4MEDJCQk4MUXX8TMmTMtka0OYGIH\nEIiJHUAgJnYAIzCxAwjExA4gEBM7gEDMJFV0Hsf/1ltv4eDBg3B2dsbVq1exdOlShIWFmWTjhBBC\nLI+O4zcQzUA1Vqfc1StTbk3VJZobkG52gTN+Z2fnGj++vr4YMWIErl+/bpaohBBCzEdn43/jjTew\nbNky5OTkICcnB8uXL8eECRMwduxYTJ8+3RIZJYyJHUAgJnYAgZjYAYzAxA4gEBM7gEBM7AACMZNU\n0dn4d+3ahaioKLi4uMDFxQWzZ8/GgQMHEBkZifz8fJ0bSElJQUBAANq2bYvY2Nga12/atAlBQUHo\n3LkzevfubdHDRAkhpD7S2fgdHBywdetWVFRUoKKiAtu2bUOjRo0AVM6mtFMqlZg3bx5SUlKQnp6O\npKQkXL58WW2d1q1b46effsLFixexZMkSzJ4924i7Y20UYgcQSCF2AIEUYgcwgkLsAAIpxA4gkELs\nAAIpTFJFZ+PftGkTNmzYgCZNmqBJkyZYv349Nm7ciIcPHyIuLq7W26alpcHf3x9yuRx2dnaIjIxE\ncnKy2jo9e/aEq6srAKB79+64deuWEXeHEEKILjobf5s2bbBnzx7k5uYiNzcXe/bsgb+/Pxo3bow+\nffrUetucnBy0bNlStezr64ucnByt669evRqDBw82IL61Y2IHEIiJHUAgJnYAIzCxAwjExA4gEBM7\ngEDMJFV0Hsf/8OFDrF69Gunp6Xj06JHq8jVr1ugsrmsUVNXRo0exZs0anDx5UuP1U6dOhVwuBwC4\nubkhODgYCoUCAMAYAwCLLf+983UtQ8f1mtc3V37981zQM2/l8tNt0P5WXzYszwU98lYuW8v+NnT5\n7+ymzGv+/W3e/H9vw9A8mpYZgHX/W5ZDG53H8b/yyisIDAzEpk2b8P7772Pjxo0IDAzEypUra7sZ\nACA1NRXR0dFISUkBAMTExMDGxgaLFi1SW+/ixYsYOXIkUlJS4O/vXzMkHcdvfGXKrak65a5emXJr\n24JEs2vJzXUICgrinHPeqVMnzjnnZWVlvFu3brpuxjnn/MmTJ7x169b8xo0b/PHjxzwoKIinp6er\nrZOVlcXbtGnDf/75Z6119IhpMU//D3Ez/ZjvflJuyk2562N2zbl1zvjt7e0BAK6urvjvf/+LBw8e\n4P79+3r9rbG1tUVcXBzCw8PRoUMHjB07FoGBgYiPj0d8fDwA4MMPP0R+fj5effVVdOnSBd26ddOr\ntjQwsQMIxMQOIBATO4ARmNgBBGJiBxCIiR1AIGaaMrr+GiUmJvK//vqLM8a4XC7nXl5e/KuvvjL5\nX73a6BHTYmDQX+ejEn1WQbktm9vQ7JTbsrmtKbtpctc646+oqMD27dsxduxY0/yVEYhm/CaoTLk1\nVafc1StTbm1bkGh2AefqsbGxwWeffWamQIQQQsSgc8YfFhaGZcuWITs7G3l5eaofog8mdgCBmNgB\nBGJiBzACEzuAQEzsAAIxsQMIxExSRedx/Fu2bIFMJsOqVavULqcvXCeEEGmi8/EbiGagGqtT7uqV\nKbem6hLNDUg3u8Dz8ZeUlGDp0qWYNWsWACAjIwN79uwxfT5CCCEWobPxT5s2Dfb29jh16hQAoEWL\nFnj33XfNHqxuYGIHEIiJHUAgJnYAIzCxAwjExA4gEBM7gEDMJFV0Nv5r165h0aJFqg9yOTo6mmTD\nhBBCxKGz8Tds2BAPHz5ULV+7dg0NGzY0a6i6QyF2AIEUYgcQSCF2ACMoxA4gkELsAAIpxA4gkMIk\nVXQe1RMdHY2BAwfi1q1bGD9+PE6ePIl169aZZOOEEEIsT6+jenJzc5Gamgrg6ZeleHt7mz1YVdI9\nqofBsL/Q1nLkAAPlNo7hR2ow6J+dcteobNbcgPVkZzBFbp3P+IcMGYJx48Zh2LBhNN8nhJA6QOcz\nfsYYtm7din379qFr166IjIxERESE6nt3LUG6z/gNrm4lzyoMrk65q1em3JqqSzQ3IN3smnPr/QGu\n8vJyHD16FImJiUhJSUFhYaHJI2pDjd8ElSm3puqUu3plyq1tCxLNLvADXMDTr1/87rvv8PXXX+OX\nX37BlClTTB6vbmJiBxCIiR1AICZ2ACMwsQMIxMQOIBATO4BAzCRVdM74x4wZg9OnT2PgwIGYN28e\n+vXrBxsbvf5eEEIIsUI6Rz0pKSkICwtDgwYNAADHjx/Hli1bapy0zZxo1GOCypRbU3XKXb0y5da2\nBYlmF3hUz8CBA3Hu3DkkJSVh27ZteOaZZzBq1CizRCSEEGJ+Wmc2V65cQXR0NAIDAzF//nz4+fmB\ncw7GGF577TVLZpQwJnYAgZjYAQRiYgcwAhM7gEBM7AACMbEDCMRMUkXrM/7AwEBERETgwIED8PPz\nAwCsWLHCJBslhBAiHq3P+Hfu3InGjRujb9++mDNnDn788UermbNLh0LsAAIpxA4gkELsAEZQiB1A\nIIXYAQRSiB1AIIVJquh8c7e4uBjJyclISkrC0aNHMXnyZIwYMQIDBgwwSQB90Ju7JqhMuTVVp9zV\nK1NubVuQaHaBx/E7OTlhwoQJ2LNnD7Kzs9GlSxd8+umnZolY9zCxAwjExA4gEBM7gBGY2AEEYmIH\nEIiJHUAgZpIqBh2Q7+HhgdmzZ+PIkSN63yYlJQUBAQFo27YtYmNja1z/+++/o2fPnmjUqBGWL19u\nSBxCCCECmPU7d5VKJdq3b4/Dhw/Dx8cHXbt2RVJSEgIDA1Xr3L9/H1lZWfjhhx/g7u6OBQsW1AxJ\nox7jK1NuTdUpd/XKlFvbFiSa3YhTNgiVlpYGf39/yOVy2NnZITIyEsnJyWrreHt7IzQ0FHZ2duaM\nQggh5H/M2vhzcnLQsmVL1bKvry9ycnLMuUkrw8QOIBATO4BATOwARmBiBxCIiR1AICZ2AIGYSaro\n/OSuMZ6+hDGNqVOnQi6XAwDc3NwQHBwMhUIB4OmpowFYbPnvna9rGTqu17y+ufLrn+eCnnkrl59u\ng/a3+rJheS7okbdy2Vr2t6HLf2c3ZV7z72/z5v97G4bm0bTMAKz737Ic2ph1xp+amoro6GikpKQA\nAGJiYmBjY4NFixbVWPeDDz6Ak5MTzfjr0BzRJJUpt6bqlLt6ZZrxa6tu+Rl/aGgoMjIykJmZibKy\nMmzduhVDhw7VuK61NHZCCKnrzNr4bW1tERcXh/DwcHTo0AFjx45FYGAg4uPjER8fDwD4888/0bJl\nS3z++ef46KOP4Ofnh+LiYnPGsiAmdgCBmNgBBGJiBzACEzuAQEzsAAIxsQMIxExSxawzfgAYNGgQ\nBg0apHZZVFSU6t/NmjVDdna2uWMQQgj5H7PO+E2FZvwmqEy5NVWn3NUrU25tW5BodhFm/IQQQqwP\nNX6zYmIHEIiJHUAgJnYAIzCxAwjExA4gEBM7gEDMJFWo8RNCSD1DM34D0QxUY3XKXb0y5dZUXaK5\nAelmpxk/IYQQUOM3MyZ2AIGY2AEEYmIHMAITO4BATOwAAjGxAwjETFKFGj8hhNQzNOM3EM1ANVan\n3NUrU25N1SWaG5BudprxE0IIATV+M2NiBxCIiR1AICZ2ACMwsQMIxMQOIBATO4BAzCRVqPETQkg9\nQzN+A9EMVGN1yl29MuXWVF2iuQHpZqcZPyGEEFDjNzMmdgCBmNgBBGJiBzACEzuAQEzsAAIxsQMI\nxExShRo/IYTUMzTjNxDNQDVWp9zVK1NuTdUlmhuQbnaa8RNCCAE1fjNjYgcQiIkdQCAmdgAjMLED\nCMTEDiAQEzuAQMwkVajxE0JIPUMzfgPRDFRjdcpdvTLl1lRdorkB6WanGT8hhBCYufGnpKQgICAA\nbdu2RWxsrMZ1Xn/9dbRt2xZBQUE4f/68OeOIgIkdQCAmdgCBmNgBjMDEDiAQEzuAQEzsAAIxk1Qx\nW+NXKpWYN28eUlJSkJ6ejqSkJFy+fFltnX379uGPP/5ARkYGEhIS8Oqrr5orjkguiB1AIMpteVLN\nTrktyzS5zdb409LS4O/vD7lcDjs7O0RGRiI5OVltnV27dmHKlCkAgO7du+PBgwe4e/euuSKJ4IHY\nAQSi3JYn1eyU27JMk9tsjT8nJwctW7ZULfv6+iInJ0fnOrdu3TJXJEIIITBj43/6TrVu1d9x1vd2\n0pApdgCBMsUOIFCm2AGMkCl2AIEyxQ4gUKbYAQTKNEkVW5NU0cDHxwfZ2dmq5ezsbPj6+ta6zq1b\nt+Dj41OjVlBQkJX9QTAky7eGVTbr/aTcNSpbTW7AkOyUW2N1A9eX6mNF/9xBQUEaLzdb4w8NDUVG\nRgYyMzPRokULbN26FUlJSWrrDB06FHFxcYiMjERqairc3NzQtGnTGrUuXJDqGzGEEGJ9zNb4bW1t\nERcXh/DwcCiVSsyYMQOBgYGIj48HAERFRWHw4MHYt28f/P394ejoiLVr15orDiGEkP+RxCd3CSGE\nmA59ctdELl++jB9//BHFxcVql6ekpIiUSD8nTpxAeno6AIAxhmXLluHHH38UOVX9cfz4cSxfvhwH\nDx4UO0qtUlNTUVBQAAAoLS3FP//5T0RERGDRokWqy63RypUr1d5HlIrHjx/j22+/xeHDhwEAmzZt\nwty5c7Fq1So8efLE6Pr0jN8EVq5ciVWrViEwMBDnz5/HF198geHDhwMAunTpYrWfSF68eDGOHj0K\npVKJ/v3746effsLLL7+MQ4cOYciQIXjrrbfEjqi3yZMnY/369WLH0Klbt25IS0sDACQmJmLVqlUY\nMWIEDh48iIiICCxevFjkhJp16NABFy9ehK2tLWbNmgVHR0e88sorOHz4MC5evIidO3eKHVEjV1dX\nODg4oE2bNhg/fjxGjx4Nb29vsWPpNH78eCiVSpSWlsLNzQ3FxcUYOXKk6g/Bt98a9sZ0DZwY7dln\nn+VFRUWcc85v3LjBQ0JC+Oeff8455zw4OFjMaLUKDAzkT5484SUlJdzJyYk/ePCAc855aWkp79Sp\nk8jptIuIiOBDhgzhERERqh8HBwfV5das6uMhJCSE37t3j3POeXFxMX/22WfFiqVTQECA6t9dunRR\nu65z586WjqO34OBgrlQq+YEDB/i0adO4l5cXDw8P5+vWreOFhYVix9OqY8eOnHPOnzx5wr29vfmT\nJ08455xXVFSorjOG2d7crU8453BycgIAyOVyMMYwatQoZGVlWc1ZRTWxt7eHra0tbG1t0aZNG7i6\nugIAGjduDBsb650C3rp1Cx06dMDMmTNhY2MDzjnOnDmDhQsXih1NJ6VSiby8PHDOoVQqVc8+HR0d\nYWtrvb+Ozz77LNasWYPp06cjKCgIv/zyC7p27YqrV6/C3t5e7Hi1srGxwYABAzBgwACUlZVh//79\nSEpKwoIFC5Cbmyt2PI0qKirw+PFjlJaW4uHDhygoKICnpycePXqEiooKo+tb72+3hDRp0kTtkFMn\nJyfs2bMHf/31Fy5evChisto1bNgQpaWlAIBz586pLn/w4IFVN/4zZ84gJCQEH3/8MVxcXKBQKNCo\nUSP069cP/fr1EzterQoLCxESEoLQ0FAUFBTgzp07AICioiKRk9Xum2++wbFjx9C6dWukp6ejV69e\neOaZZzBz5kx88803YsfTm729PYYNG4YtW7YgKytL7DhaTZw4EYGBgejRoweWL1+O559/HjNnzkTX\nrl1Vp7kxBs34TSA7Oxt2dnZo1qyZ2uWcc5w8eRJ9+vQRKVntHj16hEaNGtW4PDc3F3fu3EGnTp1E\nSKW/W7du4c0330STJk2wa9cuSb6JV6m0tBR3797FM888I3aUWhUUFODGjRsoLy+Hr69vjce8tbly\n5Qrat28vdgxBMjMz4eLiAg8PD1y7dg1nzpxBQECA1g9lGYIaP5G8PXv24NSpU/jkk0/EjkKIJFDj\nJ4SQesZ6B7mEEELMgho/IYTUM9T4CSGknqHGT4gAmZmZVn/UEyHaUOMnhJB6hho/IUa6fv06nnvu\nOZw9e1bsKIToxXo/I06IBFy5cgXjxo3Dt99+S6MfIhnU+AkR6N69exg+fDi+//57BAQEiB2HEL3R\nqIcQgdzc3NCqVSscP35c7CiEGISe8RMikL29PXbu3Inw8HA4OTlh3LhxYkciRC/U+AkRSCaTwcHB\nAXv27EFYWBicnZ0REREhdixCdKJz9RBCSD1DM35CCKlnqPETQkg9Q42fEELqGWr8hBBSz1DjJ4SQ\neoYaPyGE1DPU+AkhpJ75f43uqGjLl8N0AAAAAElFTkSuQmCC\n",
623 "text": [
624 "<matplotlib.figure.Figure at 0x10e531e50>"
625 ]
626 }
627 ],
628 "prompt_number": 33
629 },
630 {
631 "cell_type": "markdown",
632 "metadata": {},
633 "source": [
634 "So the optimal value for $k$ appears to be $k=4$."
635 ]
636 },
637 {
638 "cell_type": "heading",
639 "level": 3,
640 "metadata": {},
641 "source": [
642 "Exercise 22.8 (Wholesale data)"
643 ]
644 },
645 {
646 "cell_type": "markdown",
647 "metadata": {},
648 "source": [
649 "As a final exercise in this notebook, we will consider some data about commercial wholesale data, available from the UCI machine learning repository. The data is held in csv format, so we will use the `read_csv` function from pandas to extract it."
650 ]
651 },
652 {
653 "cell_type": "code",
654 "collapsed": false,
655 "input": [
656 "import pandas as pd \n",
657 "\n",
658 "wholesale = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/00292/Wholesale%20customers%20data.csv',\n",
659 " delimiter=',')"
660 ],
661 "language": "python",
662 "metadata": {},
663 "outputs": [],
664 "prompt_number": 34
665 },
666 {
667 "cell_type": "markdown",
668 "metadata": {},
669 "source": [
670 "Each row of the Wholesale data represents a customer\u2019s annual purchases (in monetary units) of six different product categories, along with the purchasing channel and region.\n",
671 "\n",
672 "To see the first five rows of the data and the column headings, use the command `wholesale.head()`:"
673 ]
674 },
675 {
676 "cell_type": "code",
677 "collapsed": false,
678 "input": [
679 "wholesale.head()"
680 ],
681 "language": "python",
682 "metadata": {},
683 "outputs": [
684 {
685 "html": [
686 "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
687 "<table border=\"1\" class=\"dataframe\">\n",
688 " <thead>\n",
689 " <tr style=\"text-align: right;\">\n",
690 " <th></th>\n",
691 " <th>Channel</th>\n",
692 " <th>Region</th>\n",
693 " <th>Fresh</th>\n",
694 " <th>Milk</th>\n",
695 " <th>Grocery</th>\n",
696 " <th>Frozen</th>\n",
697 " <th>Detergents_Paper</th>\n",
698 " <th>Delicassen</th>\n",
699 " </tr>\n",
700 " </thead>\n",
701 " <tbody>\n",
702 " <tr>\n",
703 " <th>0</th>\n",
704 " <td> 2</td>\n",
705 " <td> 3</td>\n",
706 " <td> 12669</td>\n",
707 " <td> 9656</td>\n",
708 " <td> 7561</td>\n",
709 " <td> 214</td>\n",
710 " <td> 2674</td>\n",
711 " <td> 1338</td>\n",
712 " </tr>\n",
713 " <tr>\n",
714 " <th>1</th>\n",
715 " <td> 2</td>\n",
716 " <td> 3</td>\n",
717 " <td> 7057</td>\n",
718 " <td> 9810</td>\n",
719 " <td> 9568</td>\n",
720 " <td> 1762</td>\n",
721 " <td> 3293</td>\n",
722 " <td> 1776</td>\n",
723 " </tr>\n",
724 " <tr>\n",
725 " <th>2</th>\n",
726 " <td> 2</td>\n",
727 " <td> 3</td>\n",
728 " <td> 6353</td>\n",
729 " <td> 8808</td>\n",
730 " <td> 7684</td>\n",
731 " <td> 2405</td>\n",
732 " <td> 3516</td>\n",
733 " <td> 7844</td>\n",
734 " </tr>\n",
735 " <tr>\n",
736 " <th>3</th>\n",
737 " <td> 1</td>\n",
738 " <td> 3</td>\n",
739 " <td> 13265</td>\n",
740 " <td> 1196</td>\n",
741 " <td> 4221</td>\n",
742 " <td> 6404</td>\n",
743 " <td> 507</td>\n",
744 " <td> 1788</td>\n",
745 " </tr>\n",
746 " <tr>\n",
747 " <th>4</th>\n",
748 " <td> 2</td>\n",
749 " <td> 3</td>\n",
750 " <td> 22615</td>\n",
751 " <td> 5410</td>\n",
752 " <td> 7198</td>\n",
753 " <td> 3915</td>\n",
754 " <td> 1777</td>\n",
755 " <td> 5185</td>\n",
756 " </tr>\n",
757 " </tbody>\n",
758 "</table>\n",
759 "</div>"
760 ],
761 "metadata": {},
762 "output_type": "pyout",
763 "prompt_number": 35,
764 "text": [
765 " Channel Region Fresh Milk Grocery Frozen Detergents_Paper Delicassen\n",
766 "0 2 3 12669 9656 7561 214 2674 1338\n",
767 "1 2 3 7057 9810 9568 1762 3293 1776\n",
768 "2 2 3 6353 8808 7684 2405 3516 7844\n",
769 "3 1 3 13265 1196 4221 6404 507 1788\n",
770 "4 2 3 22615 5410 7198 3915 1777 5185"
771 ]
772 }
773 ],
774 "prompt_number": 35
775 },
776 {
777 "cell_type": "markdown",
778 "metadata": {},
779 "source": [
780 "For the `Channel` column, `1` represents a purchase made in a hotel, a restaurant or a caf\u00e9 and `2` represents a purchase made through a retail outlet. For the `Region` column, `1` represents Lisbon, `2` represents Porto, and `3` represents Other. "
781 ]
782 },
783 {
784 "cell_type": "markdown",
785 "metadata": {},
786 "source": [
787 "Suppose a senior manager of this wholesale company wants to group customers who are in Lisbon based on their purchasing statistics. What is a suitable (optimal) number of clusters of Lisbon customers? (Use the Silhouette method.)"
788 ]
789 },
790 {
791 "cell_type": "heading",
792 "level": 4,
793 "metadata": {},
794 "source": [
795 "Lisbon:"
796 ]
797 },
798 {
799 "cell_type": "markdown",
800 "metadata": {},
801 "source": [
802 "As before, we will run the clustering algorithm on a range of values of $k$, and use the silhouette function to determine which value of $k$ gives the most successful cluster analysis."
803 ]
804 },
805 {
806 "cell_type": "code",
807 "collapsed": false,
808 "input": [
809 "import sklearn.cluster as sc\n",
810 "\n",
811 "# convert data into array\n",
812 "x = array(wholesale)\n",
813 "\n",
814 "# run k-means for k = 2, 3, 4, 5, 6, 7, 8\n",
815 "s = zeros(6)\n",
816 "c = 0\n",
817 "for i in range(2,8):\n",
818 " kmeans = sc.KMeans(n_clusters=i)\n",
819 " x_lisbon = x[find(equal(x[:,1],1)),:] # consider only Lisbon data\n",
820 " assigned_clusters = kmeans.fit(x_lisbon).labels_\n",
821 " s[c] = average(silhouette(x_lisbon, assigned_clusters))\n",
822 " c = c + 1\n",
823 " "
824 ],
825 "language": "python",
826 "metadata": {},
827 "outputs": [
828 {
829 "metadata": {},
830 "output_type": "display_data",
831 "png": "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\nYII=\n",
832 "text": [
833 "<matplotlib.figure.Figure at 0x10f528e50>"
834 ]
835 },
836 {
837 "metadata": {},
838 "output_type": "display_data",
839 "png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEKCAYAAAARnO4WAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGEJJREFUeJzt3XtwlPXd/vFrJVgtYBAPoAQJxAQhye6GgCkUJMBwFDpY\nrUBnKCjyh1YttjK2wxTyPPUAI0wFmRbaQWEs0qlKQZCDrSagRkUhgoicWrCRkxKgGM6Qz+8PftmH\nJLvJJuTObvJ9v2acyW42931l0Yuvn70PPjMzAQCavKtiHQAA0DAofABwBIUPAI6g8AHAERQ+ADiC\nwgcARyTEcufBYFBbtmyJZQQAaHQCgYA+++yzWv+cL5bH4ft8PsXbaQA+X66k/rGOEUa+4i8XmaLT\nuDKZTW/YKJfJy8tTXl5ezPYfTjxmqmt3xnSFDyA+xLLk0XCY4QOAIyj8KpJjHSCC5FgHCCM51gHC\nSI51gDCSYx0gjORYBwgrNzc31hGqiMdMdcUMvxKf739iHQHwFOObxq+u3ckKHwAcQeEDgCM4Sgdo\nohjdoDJW+ADgCAofABzBSAdo5BjdIFqs8AHAEZ4W/tq1a3XHHXcoNTVVM2fO9HJXAIAaeHbi1cWL\nF9WlSxf985//VPv27dWzZ08tXbpUXbt2/b+dc+IVHMHYBfUp7k682rhxo26//XYlJyerefPmGjNm\njFasWOHV7gAANfDsQ9v9+/erQ4cOocdJSUn6+OOPvdodEJdY2SOeeLbC9/l8Xm0aAFAHnq3w27dv\nr+Li4tDj4uJiJSUlVXnd5TcWyM3NbVJXpgOA+lBQUKCCgoIr3o5nH9peuHBBXbp00TvvvKNbb71V\nd955Jx/aolFhHIN4FXd3vEpISNC8efM0ZMgQXbx4URMnTqxQ9gCAhsX18CthhY9yrPARr+JuhQ93\nUIxA48ClFQDAERQ+ADiCkQ7CYkwDND2s8AHAERQ+ADiCwgcAR1D4AOAIPrRtxPhgFUBtsMIHAEdQ\n+ADgCEY6McAoBkAssMIHAEdQ+ADgCEY61WD0AqApYYUPAI6g8AHAEdzxqpJpmhrrCADi3P/qmZju\nv67dyQofABxB4QNALcR6dX8lKHwAcASFDwCOoPABIEqNeZwjUfgA4AwKHwAcQeEDQBQa+zhHovAB\nwBkUPgA4gsIHAEdQ+ADgCAofABxB4QNADZrCEToShQ8AzqDwAaAaTWV1L1H4AOAMCh8AHEHhA0AE\nTWmcI1H4AOAMCh8AHJEQ6wAAEG+a2iinHCt8AHAEhQ8AjqDwAcARFD4AOILCBwBHcJQOAKjpHplz\nOVb4AOAICh+A81xY3UsUPgA4g8IHAEdQ+ADgCAofABxB4QOAIyh8AE5z5QgdicIHAGdQ+ADgCC6t\nAMApLo1wKmOFDwCOoPABwBGMdAA4weVRTjlW+ADgCAofABxB4QOAIyh8AHAEH9oCaHL4gDY8VvgA\n4AgKHwAcQeEDaFIY50RG4QOAIyh8AHAER+kAaHQY29QNK3wAcASFDwCOqLbwL168qN///vcNlQUA\n4KFqC79Zs2Z69dVXGyoLAMBDNX5o26dPHz366KMaPXq0WrRoEXq+e/fungYDgHD4wLbuaiz8oqIi\n+Xw+TZs2rcLz+fn5noUCANS/Ggu/oKCgAWIAALxW41E6hw4d0sSJEzV06FBJ0vbt27Vw4ULPgwEA\n6leNhT9hwgQNHjxYBw4ckCSlpqZy5A4ANEI1Fv6RI0c0evRoNWvWTJLUvHlzJSRwgi4ANDY1Fn7L\nli1VUlISevzRRx8pMTExqo0/+OCDatu2rTIzM+ueEABQL2os/NmzZ2vkyJH697//rd69e2vcuHGa\nO3duVBt/4IEHtHbt2isOCQC4cjXOZtLT07V+/Xrt3LlTZqYuXbqorKwsqo337dtX+/btu9KMAIB6\nUGPh9+7dW5s3b1ZGRkboue7du2vz5s2eBgOAcpxsVT8iFv7Bgwd14MABnTp1Sps3b5aZyefz6cSJ\nEzp16lS9BcjLywt9nZubq9zc3HrbNgA0BQUFBfVyTpTPzCzcNxYvXqxFixbp008/VY8ePULPt2rV\nShMmTNCPf/zjqHawb98+jRw5Up9//nnVnft8irD7mJmmqbGOAOAyrO6rqmt3Rlzhjx8/XuPHj9cb\nb7yhe++994rCAQBir8ajdIqLi3XixAmZmSZOnKju3btr3bp1UW187Nix6t27t3bt2qUOHTro5Zdf\nvuLAAIC6iTjSKef3+7V161atW7dO8+fP1+9+9zuNGzdORUVFV75zRjoAqsE4J7y6dmeNK/zyjb71\n1lsaN25chaN1AACNR42Fn52drcGDB2v16tUaMmSITpw4oauu4s6IANDY1DjSKSsrU1FRkVJSUtS6\ndWuVlJRo//798vv9V75zRjoAxOimtur9KJ1y7733nnw+n7Zu3VqnYACA+FBj4T///PPy+XySpDNn\nzmjjxo3Kzs7Wu+++63k4AED9qbHwV61aVeFxcXGxfvGLX3gWCIBbGOc0nFp/+pqUlKQvv/zSiywA\nAA/VuMJ/7LHHQl+XlZXps88+U3Z2tqehAAD1r8bCv7zcExISNHbsWPXp08fTUACaJsY3sVVj4U+Y\nMKEBYgAAvBax8Ku7LSGHaQKoDVb28SFi4S9btkyHDx9WUlJSheeLi4t1yy23eB4MAFC/Ih6lM3ny\nZCUmJio5ObnCP4mJiXriiScaMiMAoB5EXOEfPnw47FjH7/dr7969noYCEN8Y0TROEVf4x48fj/hD\nZ86c8SQMAMA7EQu/R48e+tOf/lTl+T//+c8chw8AjVDEkc4LL7yge+65R0uWLAkV/KZNm3T27Fn9\n/e9/b7CAAID6EbHw27Vrp8LCQuXn52vbtm3y+XwaMWKEBgwY0JD5AAD1pNoTr3w+nwYMGEDJA0AT\nUOOZtgBQjqNzGjfuVQgAjqDwAcARjHQAVMDYpulihQ8AjmCFDziGFby7WOEDgCMofABwBIUPOIRx\njtsofABwBIUPAI7gKB2gCWBUg2iwwgcAR1D4AOAIRjpAI8UYB7XFCh8AHMEKH4hDrN7hBVb4AOAI\nCh8AHMFIB4gTjHHgNVb4AOAICh8AHMFIBxDjFLiBFT4AOILCBwBHMNKBcxjfwFWs8AHAERQ+ADiC\nkQ6aHEY2QHis8AHAEazw0SixigdqjxU+ADiCwgcARzDSQdxjfAPUD1b4AOAICh8AHMFIB3GF8Q3g\nHVb4AOAICh8AHMFIBzHB6AZoeKzwAcARFD4AOIKRDuod4xogPrHCBwBHsMLHFWNFDzQOrPABwBEU\nPgA4wmdmFrOd+3yK4e7D+h+fL9YRgCsyPc7+m0L9q2t3ssIHAEdQ+ADgCI7SARoBxjSoD6zwAcAR\nFD4AOIKRDhAnGNvAa6zwAcARFD4AOIKRDuAxRjWIF6zwAcARrPDRpLCaBiJjhQ8AjvC08IuLi9W/\nf3+lp6crIyNDc+fO9XJ3AIBqeHq1zEOHDunQoUMKBoMqLS1Vdna2li9frq5du17aOVfLxBVihAMX\nxeXVMtu1a6dgMChJatmypbp27aoDBw54uUsAQAQNNsPft2+fioqKlJOT01C7BABcpkGO0iktLdV9\n992nOXPmqGXLlhW+l5eXF/o6NzdXubm5DREJjQDjGuCSgoICFRQUXPF2PL/j1fnz5zVixAgNGzZM\nkydPrrhzZvioBoUPhBeXM3wz08SJE9WtW7cqZQ8AaFiervDff/993XXXXfL7/fL9/5Xzc889p6FD\nh17aOSv8Jo0VOuCNunanpzP8Pn36qKyszMtdAACixKUVUG9Y0QPxjUsrAIAjKHwAcAQjnTjDWASA\nV1jhA4AjKHwAcAQjnTjAGAdAQ2CFDwCOoPABwBFNYqRTn5dDYLwCoKlihQ8AjqDwAcARcTvS4aqV\nAFC/WOEDgCM8v+NVtTuPw+vhA0C8i8s7XgEA4geFDwCOoPABwBEUPgA4gsKvpKCgINYRworHXGSK\nDpmiF4+54jFTXVH4lcTrH2485iJTdMgUvXjMFY+Z6orCBwBHUPgA4IiYnngVDAa1ZcuWWO0eABql\nQCCgzz77rNY/F9PCBwA0HEY6AOAICh8AHNGghX/06FENGjRIaWlpGjx4sI4fPx72dQ8++KDatm2r\nzMxMz7KsXbtWd9xxh1JTUzVz5sywr3n88ceVmpqqQCCgoqIiz7JEm2nHjh3q1auXrrnmGs2ePdvz\nPNHmWrJkiQKBgPx+v374wx9q69atMc+0YsUKBQIBZWVlKTs7W++++27MM5X75JNPlJCQoGXLlsU8\nU0FBgRITE5WVlaWsrCw9/fTTMc9UnisrK0sZGRnKzc31PFM0uWbNmhV6nzIzM5WQkBCxwxoq05Ej\nRzR06FAFg0FlZGRo0aJF1W/QGtCUKVNs5syZZmY2Y8YMe+qpp8K+bsOGDbZ582bLyMjwJMeFCxcs\nJSXF9u7da+fOnbNAIGDbt2+v8Jq33nrLhg0bZmZmH330keXk5HiSpTaZvvnmG/vkk09s6tSpNmvW\nLE/z1CZXYWGhHT9+3MzM1qxZExfvVWlpaejrrVu3WkpKSswzlb+uf//+dvfdd9vrr78e80z5+fk2\ncuRIT3PUNtOxY8esW7duVlxcbGZm3377bVzkutzKlStt4MCBMc80ffp0+/Wvf21ml96nNm3a2Pnz\n5yNus0FX+G+++abGjx8vSRo/fryWL18e9nV9+/bV9ddf71mOjRs36vbbb1dycrKaN2+uMWPGaMWK\nFRGz5uTk6Pjx4zp8+HBMM910003q0aOHmjdv7lmOuuTq1auXEhMTJV16r77++uuYZ2rRokXo69LS\nUt14440xzyRJL774ou677z7ddNNNnuapTSZrwOM2osn06quv6t5771VSUpIkef5nF22uyhnHjh0b\n80y33HKLTpw4IUk6ceKEbrjhBiUkRL6vVYMW/uHDh9W2bVtJUtu2bT0t0Ors379fHTp0CD1OSkrS\n/v37a3yNl0UWTaZYqG2uhQsXavjw4XGRafny5eratauGDRumuXPnxjzT/v37tWLFCj388MOSLl3T\nPNaZfD6fCgsLFQgENHz4cG3fvj3mmXbv3q2jR4+qf//+6tGjh1555RVPM0Wbq9ypU6e0bt063Xvv\nvTHPNGnSJH3xxRe69dZbFQgENGfOnGq3We+3OBw0aJAOHTpU5flnnnmmwmOfz+f5v/CRRLvfyisf\nL/PG6r2oSW1y5efn66WXXtIHH3zgYaLoM40aNUqjRo3Se++9p3Hjxmnnzp0xzTR58mTNmDEjdPMK\nr1fW0WTq3r27iouL9f3vf19r1qzRqFGjtGvXrphmOn/+vDZv3qx33nlHp06dUq9evfSDH/xAqamp\nMc1VbuXKlerTp49at27tWR4pukzPPvusgsGgCgoK9K9//UuDBg3Sli1b1KpVq7Cvr/fC/8c//hHx\ne23bttWhQ4fUrl07HTx4UDfffHN97z4q7du3V3FxcehxcXFx6H8fI73m66+/Vvv27WOaKRaizbV1\n61ZNmjRJa9eu9XQcV5tM5fr27asLFy6opKREN9xwQ8wybdq0SWPGjJF06cO2NWvWqHnz5vrRj34U\ns0yXF8OwYcP0yCOP6OjRo2rTpk3MMnXo0EE33nijrr32Wl177bW66667tGXLFk8Lvzb/Tv31r3/1\nfJwTbabCwkJNnTpVkpSSkqJOnTpp586d6tGjR/iNevaJQxhTpkyxGTNmmJnZc889F/FDWzOzvXv3\nevah7fnz561z5862d+9eO3v2bI0f2n744YeefxAZTaZy06dPb7APbaPJ9dVXX1lKSop9+OGHcZNp\nz549VlZWZmZmmzZtss6dO8c80+UmTJhgb7zxRswzHTp0KPQ+ffzxx9axY8eYZ/ryyy9t4MCBduHC\nBTt58qRlZGTYF198EfNcZmbHjx+3Nm3a2KlTpzzNE22mJ554wvLy8szs0p9l+/btraSkJOI2G7Tw\nS0pKbODAgZaammqDBg2yY8eOmZnZ/v37bfjw4aHXjRkzxm655Ra7+uqrLSkpyV566aV6z7J69WpL\nS0uzlJQUe/bZZ83MbP78+TZ//vzQa37+859bSkqK+f1+27RpU71nqG2mgwcPWlJSkl133XXWunVr\n69Chg3333XcxzzVx4kRr06aNBYNBCwaD1rNnz5hnmjlzpqWnp1swGLQ+ffrYxo0bY57pcg1R+NFk\nmjdvnqWnp1sgELBevXo1yF/a0bxPzz//vHXr1s0yMjJszpw5nmeKNteiRYts7NixDZInmkzffvut\njRgxwvx+v2VkZNiSJUuq3R6XVgAAR3CmLQA4gsIHAEdQ+ADgCAofABxB4QOAIyh8AHAEhY968cwz\nzygjIyN0SeJPPvlE0qVrfezYsUOSlJycrKNHj2rfvn2eXvpakr766istXbo09HjLli1as2ZNrbez\na9cuDR8+XGlpacrOztbo0aP1zTff1CnTlClTlJGRoaeeekpHjhxRTk6OsrOz9f777+vuu+8OXQQr\nnAULFtT5mjKV3ws4zOPzBuCAwsJC69Wrl507d87MLp1gd+DAgSqvS05OtpKSEk/Poi6Xn59vI0aM\nCD1++eWX7dFHH63VNk6fPm2pqam2atWq0HMFBQW2bdu2OmVKTEwMndW6dOlSe+ihh+q0ndqq/F7A\nXRQ+rtiyZcsiXlO9X79+obOULy/8rl272qRJkyw9Pd0GDx5sp0+fNjOzoqIiy8nJMb/fb/fcc0/o\nbOx+/frZp59+amaXzi5MTk42s0vXDH/yySetZ8+e5vf7bcGCBWZmlpOTY4mJiRYMBm3mzJl22223\n2U033WTBYND+9re/WWlpqT3wwAN25513WlZWlq1YsaJK9oULF9r48ePD/l6nT5+2CRMmWGZmpmVl\nZVl+fn61eUaOHGnNmjWrkicrK8tOnz5tHTt2DJ0Sv3jxYvP7/RYIBOxnP/uZmVW8nMaePXts6NCh\nlp2dbX379rUdO3aYmdn48ePt8ccft969e1vnzp1D19u//L144YUXovkjRRNF4eOKlZaWWjAYtLS0\nNHvkkUds/fr1oe/l5uaGLfyEhATbsmWLmZndf//99pe//MXMzDIzM23Dhg1mZjZt2jSbPHlyle1c\nXvgLFiywp59+2szMzpw5Yz169LC9e/daQUFBhVXtokWL7LHHHgs9/s1vfhPa57FjxywtLc1OnjxZ\n4ff65S9/aXPnzg37O8+aNcsmTpxoZmY7duyw2267zc6cORM2z759+8zMrGXLlhHzlL8327Zts7S0\ntFD5l/+Fl5eXZ7NnzzYzswEDBtju3bvN7NLNeQYMGGBmlwr//vvvNzOz7du32+23325mVuW9gLvq\n/WqZcE+LFi20adMmvffee8rPz9fo0aM1Y8aM0A1kwunUqZP8fr8kKTs7W/v27dOJEyf03//+V337\n9pV06SY5P/nJT6rd99tvv63PP/9cr7/+uqRLN4HYs2dPlZtAWKXLEb/99ttauXKlZs2aJUk6e/as\niouL1aVLlyo/F84HH3ygxx9/XJLUpUsXdezYUbt27QqbZ/fu3erYsWO1ecqfe/fdd3X//feHrlZZ\n+RK8J0+eVGFhYYX35dy5c5IuXU531KhRkqSuXbuG7jcR6XeAeyh81IurrrpK/fr1U79+/ZSZmanF\nixdXW/jf+973Ql83a9ZMZ86cqfKay4sqISFBZWVlklTltfPmzdOgQYMqPFdQUFDhcbhriy9btqza\nS+6mp6dr/fr1Eb8fqUjD5aks0rXOy6+VH0lZWZmuv/76iPdYvvrqq2vMB3dxlA6u2K5du7R79+7Q\n46KiIiUnJ9dqG2am6667Ttdff73ef/99SdIrr7wSuoF1cnKyPv30U0kKrZ4laciQIfrDH/6gCxcu\nhLKcOnVK1113nb777rvQ61q1alXh8ZAhQyrcBStcgf70pz9VYWGhVq9eHXpuw4YN+uKLL9S3b18t\nWbIktM///Oc/uuOOOyLmCff7Vubz+TRgwAC99tprOnr0qCTp2LFjFX6mVatW6tSpU+g9MLMabxpf\n+XeHuyh8XLHS0lJNmDBB6enpCgQC2rFjh/Ly8qr9mcor3PLHixcv1pQpUxQIBLR161ZNmzZNkvTk\nk0/qj3/8o7p3766SkpLQ6x966CF169ZN3bt3V2Zmph5++GFdvHhRfr9fzZo1UzAY1Jw5c9S/f39t\n375dWVlZeu211/Tb3/5W58+fl9/vV0ZGhqZPn14l4zXXXKNVq1bpxRdfVFpamtLT0zV//nzdfPPN\neuSRR1RWVia/368xY8Zo8eLFat68ecQ8lX/nynd8K/+6W7dumjp1qvr166dgMKhf/epXVV6zZMkS\nLVy4UMFgUBkZGXrzzTfDvq/lXwcCgQrvBdzF5ZEBwBGs8AHAERQ+ADiCwgcAR1D4AOAICh8AHEHh\nA4AjKHwAcASFDwCO+H9XOz6QgVj4sQAAAABJRU5ErkJggg==\n",
840 "text": [
841 "<matplotlib.figure.Figure at 0x10f528ad0>"
842 ]
843 },
844 {
845 "metadata": {},
846 "output_type": "display_data",
847 "png": "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\nr18/O3DggJmZjR8/3qZMmWJ9+vSxbt26Ba+3f/N78bvf/a4qv1I0UAQ+aq2goMD8fr8lJCTY5MmT\nbd26dcGvZWZmlhn4UVFRtnv3bjMzGzVqlP3lL38xM7OUlBRbv369mZk9//zzNnXq1FL7uTnwFyxY\nYC+++KKZmV26dMl69eplR48etUAgUKyrXbRokT355JPB588991xwzTNnzlhCQoKdP3++2M/161//\n2ubNm1fmzzx79mybOHGimZkdOHDA7rzzTrt06VKZ9Rw7dszMzFq0aFFuPTfem71791pCQkIw/G/8\nhZeVlWVz5swxM7OBAwfa4cOHzez6zXkGDhxoZtcDf9SoUWZmtn//frv77rvNzEq9F3CvOr9aJtyn\nefPm2r59uzZs2KDs7GyNHj1aM2fODN5Apix33XWXvF6vJCk9PV3Hjh3TuXPn9N///lf9+vWTdP0m\nOT/5yU8qXHvNmjX68ssv9f7770u6fhOII0eOlLoJhJW4HPGaNWv08ccfa/bs2ZKky5cvKycnR927\ndy/1fWX57LPPNGXKFElS9+7d1bVrVx06dKjMeg4fPqyuXbtWWM+N19auXatRo0YFr1ZZ8hK858+f\n16ZNm4q9L1euXJF0/XK6I0aMkCT17NkzeL+J8n4GuA+BjzrRqFEj9e/fX/3791dKSooWL15cYeD/\n4Ac/CD5u3LixLl26VGqbm4MqKipKRUVFklRq2zfeeEODBw8u9logECj2vKxriy9durTCS+4mJSVp\n3bp15X69vCAtq56SyrvW+Y1r5ZenqKhIbdq0Kfcey02bNq20PrgXZ+mg1g4dOqTDhw8Hn+/cuVOx\nsbHV2oeZqVWrVmrTpo02btwoSXr77beDN7COjY3Vtm3bJCnYPUvS0KFD9fvf/15Xr14N1nLhwgW1\natVK33//fXC7li1bFns+dOjQYnfBKitAf/rTn2rTpk1asWJF8LX169dr37596tevn5YsWRJc8z//\n+Y969OhRbj1l/bwleTweDRw4UO+9955Onz4tSTpz5kyx72nZsqXuuuuu4HtgZpXeNL7kzw73IvBR\nawUFBZowYYKSkpLk8/l04MABZWVlVfg9JTvcG88XL16sadOmyefzac+ePXr++eclSc8884z+8Ic/\nKC0tTfn5+cHtH3/8cSUmJiotLU0pKSl64okndO3aNXm9XjVu3Fh+v19z587VgAEDtH//fqWmpuq9\n997Tb3/7WxUWFsrr9So5OVkzZswoVeMtt9yiTz75RK+//roSEhKUlJSk+fPnq0OHDpo8ebKKiork\n9Xo1ZswYLV68WE2aNCm3npI/c8k7vt14nJiYqOnTp6t///7y+/16+umnS22zZMkSLVy4UH6/X8nJ\nyfroo4/KfF9vPPb5fMXeC7gXl0cGAJegwwcAlyDwAcAlCHwAcAkCHwBcgsAHAJcg8AHAJQh8AHAJ\nAh8AXOL/AAANIS3SQBo1AAAAAElFTkSuQmCC\n",
848 "text": [
849 "<matplotlib.figure.Figure at 0x10edca450>"
850 ]
851 },
852 {
853 "metadata": {},
854 "output_type": "display_data",
855 "png": "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\n1+u1V155xczM8vLyLDk52fx+v82cOdOuu+4669ixo/n9fvv73/9u5eXlds8999jNN99sOTk5tmTJ\nkhq1z5s3zyZMmBD25zp58qRNnDjRsrOzLScnxwoKCuqsZ9SoUdayZcsa9eTk5NjJkyetW7duoY/E\nL1iwwLxer/l8Prv77rvNrPqlNL766isbPny45ebmWv/+/W337t1mZjZhwgR75JFH7JZbbrHrr78+\ndL3989+LP/zhD5H8StFMEfi4aOXl5eb3+y09Pd0efPBBW7NmTehrgUAgbOAnJSXZtm3bzMzsrrvu\nsjfeeMPMzLKzs23t2rVmZvbUU0/Z5MmTa+zn/MB/5ZVX7JlnnjEzs4qKCuvTp4/t27fPgsFgta52\n/vz59vDDD4eeP/nkk6E1jx07Zunp6fb9999X+7l+/etf25w5c8L+zLNmzbJJkyaZmdnu3bvtuuuu\ns4qKirD17N+/38zMWrduXWs9596bHTt2WHp6eij8z/3By8/PtxdffNHMzAYNGmR79+41s7M35xk0\naJCZnQ38u+66y8zMdu3aZTfccIOZWY33Au4V9atlwn2uuOIKbdq0SevWrVNBQYHGjBmjGTNmhG4g\nE0737t3l9XolSbm5udq/f7/Kysr03//+V/3795d09iY5P//5z+tce9WqVfr888/19ttvSzp7E4iv\nvvqqxk0g7ILLEa9atUpLly7VrFmzJEk//PCDioqK1LNnzxrfF86GDRv0yCOPSJJ69uypbt26ac+e\nPWHr2bt3r7p161ZnPedeW716te66667Q1SovvATv999/r8LCwmrvy6lTpySdvZzu6NGjJUm9evUK\n3W+itp8B7kPgIypatGihAQMGaMCAAcrOztaCBQvqDPwf/ehHocctW7ZURUVFjW3OD6qkpCRVVVVJ\nUo1tX375ZQ0ZMqTaa8FgsNrzcNcWX7x4cZ2X283MzNSaNWtq/XptQRqungvVdq3zc9fKr01VVZXa\nt29f6z2WL7nkknrrg3txlg4u2p49e7R3797Q8y1btig1NbVB+zAztW3bVu3bt9f69eslSa+//nro\n5tWpqan67LPPJCnUPUvSsGHD9Mc//lFnzpwJ1XLixAm1bdtW3333XWi7Nm3aVHs+bNiwanfBCheg\nv/jFL1RYWKjly5eHXlu7dq127typ/v37a+HChaE1//Of/+jGG2+stZ5wP++FPB6PBg0apLfeektH\njx6VJB07dqza97Rp00bdu3cPvQdmVu9N4y/82eFeBD4uWnl5uSZOnKjMzEz5fD7t3r1b+fn5dX7P\nhR3uuecLFizQ1KlT5fP5tH37dj311FOSpMcee0x/+tOf1Lt3b5WWloa2v++++5SRkaHevXsrOztb\nDzzwgCorK+X1etWyZUv5/X7Nnj1bAwcO1K5du5STk6O33npLv/nNb3T69Gl5vV5lZWVp+vTpNWq8\n9NJLtWzZMr300ktKT09XZmam5s6dq06dOunBBx9UVVWVvF6vxo4dqwULFqhVq1a11nPhz3zhHd/O\nPc7IyNC0adM0YMAA+f1+PfroozW2WbhwoebNmye/36+srCy99957Yd/Xc499Pl+19wLuxeWRAcAl\n6PABwCUIfABwCQIfAFyCwAcAlyDwAcAlCHwAcAkCHwBcgsAHAJf4X2rSOTeMrsz+AAAAAElFTkSu\nQmCC\n",
856 "text": [
857 "<matplotlib.figure.Figure at 0x10f6c1f50>"
858 ]
859 },
860 {
861 "metadata": {},
862 "output_type": "display_data",
863 "png": "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\nSkqysrIyRz9FfUphYaFde+214cfPPvus3Xbbbc16jaNHj1pKSoqtXr06/FwoFLJPP/20RTUlJCSE\nP9W6fPlyu+mmm1r0Os115nsB7yLw0WorVqxo8Jrqw4cPD39K+fTAHzRokN18882Wnp5uY8aMsaNH\nj5qZ2ZYtWywvL8/8fr9NmjQp/Gns4cOH28cff2xmJz9dmJSUZGYnrxl+11132RVXXGF+v9+efPJJ\nMzPLy8uzhIQECwaDtnDhQrv00kutZ8+eFgwG7V//+pdVVFTYDTfcYFdeeaVlZWXZypUr69T+9NNP\n24wZM+r9uY4ePWozZ860zMxMy8rKssLCwkbrmTBhgsXFxdWpJysry44ePWr9+vULfyR+6dKl5vf7\nLRAI2G9+8xszq30pjS+//NKuvvpqy8nJsWHDhtmOHTvMzGzGjBl2xx132JAhQ+yyyy4LX2//9Pfi\nL3/5SyS/peigCHy0WkVFhQWDQUtNTbVbb73V3nnnnfCv5efn1xv48fHxtm3bNjMzu/766+0f//iH\nmZllZmbau+++a2Zm9957r82ePbvO65we+E8++aTdf//9ZmZWVVVlubm5tnv3bguFQrW62iVLltjt\nt98efnzPPfeE1zx06JClpqbakSNHav1cv//97+3RRx+t92detGiRzZo1y8zMduzYYZdeeqlVVVXV\nW8+ePXvMzKxLly4N1nPqvfn0008tNTU1HP6n/sIrKCiwRx55xMzMRo4cabt27TKzkzfnGTlypJmd\nDPzrr7/ezMyKiors8ssvNzOr817Au9r8apnwnvPOO0+bNm3Se++9p8LCQk2ZMkULFiwI30CmPv37\n95ff75ck5eTkaM+ePSovL9f333+vYcOGSTp5k5xf/vKXja79xhtv6JNPPtFLL70k6eRNIL788ss6\nN4GwMy5H/MYbb2jVqlVatGiRJOnHH39UcXGxBgwYUOf76vP+++/rjjvukCQNGDBA/fr1086dO+ut\nZ9euXerXr1+j9Zx67u2339b1118fvlrlmZfgPXLkiDZs2FDrfTl27Jikk5fTnThxoiRp0KBB4ftN\nNPQzwHsIfLSJs846S8OHD9fw4cOVmZmppUuXNhr4P/nJT8Jfx8XFqaqqqs4xpwdVfHy8ampqJKnO\nsY8//rhGjx5d67lQKFTrcX3XFl+xYkWjl9tNT0/XO++80+CvNxSk9dVzpoaudX7qWvkNqamp0fnn\nn9/gPZbPPvvsJuuDd7FLB622c+dO7dq1K/x4y5YtSkpKatZrmJm6deum888/X+vXr5ckPf/88+Gb\nVyclJenjjz+WpHD3LEljx47VX//6V504cSJcS2Vlpbp166YffvghfFzXrl1rPR47dmytu2DVF6C/\n+tWvtGHDBq1Zsyb83LvvvqvPPvtMw4YN07Jly8Jr/u9//9PAgQMbrKe+n/dMPp9PI0eO1IsvvqiD\nBw9Kkg4dOlTre7p27ar+/fuH3wMza/Km8Wf+7PAuAh+tVlFRoZkzZyo9PV2BQEA7duxQQUFBo99z\nZod76vHSpUs1d+5cBQIBbd++Xffee68k6a677tLf/vY3ZWdnq6ysLHz8TTfdpLS0NGVnZyszM1O3\n3HKLqqur5ff7FRcXp2AwqMWLF2vEiBEqKipSVlaWXnzxRf3pT3/S8ePH5ff7lZGRofnz59epsXPn\nzlq9erUee+wxpaamKj09XU888YQuuugi3XrrraqpqZHf79fUqVO1dOlSderUqcF6zvyZz7zj26mv\n09LSNG/ePA0fPlzBYFB33nlnnWOWLVump59+WsFgUBkZGXr11VfrfV9PfR0IBGq9F/AuLo8MAB5B\nhw8AHkHgA4BHEPgA4BEEPgB4BIEPAB5B4AOARxD4AOARBD4AeMT/AwJax3HGBj+JAAAAAElFTkSu\nQmCC\n",
864 "text": [
865 "<matplotlib.figure.Figure at 0x10fae6850>"
866 ]
867 },
868 {
869 "metadata": {},
870 "output_type": "display_data",
871 "png": "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\nSsnJycrNzdX48eP11VdfhVTTzJkzlZ6ervvvv1979+5Vfn6+cnNztWbNGl133XWBm2A15Mknnwz5\nPjBnfi/gYg5fNwAXKCoqsoEDB9rx48fN7OQFaDt37qy3XUJCgu3bt89KSkosPT3d0ZoKCwvrXKX9\n7LPP2t13392ifRw9etSSkpJsxYoVgff8fr998sknIdXUpUsXq62tNTOzxYsX25QpU0LaT0ud+b2A\nexH4CNvSpUsbvSJ68ODBgStvTw/8lJQUmzp1qqWlpdnw4cPt6NGjZmZWXFxs+fn5lpmZaWPGjAlc\nrTx48GD76KOPzOzk1YUJCQlmdvKe4ffdd59deeWVlpmZaU8++aSZmeXn51uXLl3M6/Xa3Llz7ZJL\nLrHu3bub1+u1f/7zn3bo0CG744477Nvf/rZlZ2fbsmXL6tX+9NNP28SJExuc19GjR23SpEmWkZFh\n2dnZVlhY2GQ9o0ePtri4uHr1ZGdn29GjR61///6BS+IXLlxomZmZlpWVZbfffruZnbzv+fz5883M\n7PPPP7eRI0dabm6uDRo0yLZu3WpmZhMnTrRp06bZVVddZZdddlng3vanfy/+/Oc/B/MjRTtF4CNs\nhw4dMq/Xa8nJyXbXXXfZ22+/Hficz+drMPDj4+Nt48aNZmZ244032t///nczM8vIyLB33nnHzMwe\neOCBwD2HTt/P6YH/5JNP2h/+8AczM6uqqrK8vDwrKSmpdx+m5557zu65557A61/96leBMQ8cOGDJ\nycl2+PDhOvP6+c9/bo8++miDc54/f75NnjzZzMy2bt1ql1xyiVVVVTVYT2lpqZmZderUqdF6Tn1v\nPvnkE0tOTg6E/6n/8AoKCuyRRx4xM7OhQ4fa9u3bzezkA2eGDh1qZicD/8YbbzQzsy1bttjll19u\nZrF3Tyo4p9Xvlgn3Oe+887Ru3Tq9++67Kiws1Pjx4zVnzpzAQ1EacumllyozM1OSlJubq9LSUlVW\nVurrr7/WoEGDJJ18iMyPf/zjJsd+44039PHHH2vJkiWSTj4E4vPPP6/3EAg749a/b7zxhl599VXN\nnz9fknTs2DGVlZXpiiuuqPd1DXnvvfc0bdo0SdIVV1yh/v37a9u2bQ3Ws337dvXv37/Jek6999Zb\nb+nGG29Ut27dJEkXXHBBnW0OHz6soqKiOt+X48ePSzp5O91Td19NSUkJPI+hsTnAfQh8tIoOHTpo\n8ODBGjx4sDIyMrRw4cImA/9b3/pW4OO4uDhVVVXV2+b0oIqPj1dtba0k1dv28ccf17Bhw+q8d+az\nFBq6t/jSpUubvE1uWlqa3n777UY/31iQNlTPmRq71/mp+9I3pra2Vl27dm30ucFnnXVWs/XBvThL\nB2Hbtm2btm/fHnhdXFyshISEFu3DzHT++eera9euWrNmjSTphRdeCDx0OiEhQR999JEkBVbPkjRi\nxAj95S9/UXV1daCWI0eO6Pzzz9c333wT2K5z5851Xo8YMaLOA+QbCtCbb75ZRUVFWrlyZeC9d955\nR5s3b9agQYO0aNGiwJj/+9//NGDAgEbraWi+Z/J4PBo6dKheeukl7d+/X5J04MCBOl/TuXNnXXrp\npYHvgZk1+1D1M+cO9yLwEbZDhw5p0qRJSktLU1ZWlrZu3aqCgoImv+bMFe6p1wsXLtTMmTOVlZWl\nTZs26YEHHpAk3XffffrrX/+qnJwc7du3L7D9lClTlJqaqpycHGVkZOjOO+9UTU2NMjMzFRcXJ6/X\nqwULFmjIkCHasmWLsrOz9dJLL+k3v/mNTpw4oczMTKWnp2v27Nn1ajz77LO1YsUKPfbYY0pOTlZa\nWpqeeOIJ9ejRQ3fddZdqa2uVmZmpCRMmaOHCherYsWOj9Zw55zOfiHbq49TUVM2aNUuDBw+W1+vV\nL37xi3rbLFq0SE8//bS8Xq/S09O1fPnyBr+vpz7Oysqq872Ae3F7ZABwCVb4AOASBD4AuASBDwAu\nQeADgEsQ+ADgEgQ+ALgEgQ8ALkHgA4BL/B+cSiTKI5zKZgAAAABJRU5ErkJggg==\n",
872 "text": [
873 "<matplotlib.figure.Figure at 0x10ed8e5d0>"
874 ]
875 }
876 ],
877 "prompt_number": 36
878 },
879 {
880 "cell_type": "markdown",
881 "metadata": {},
882 "source": [
883 "Again, we make a bar plot of $s$ to evaluate the final results:"
884 ]
885 },
886 {
887 "cell_type": "code",
888 "collapsed": false,
889 "input": [
890 "# display result on a bar chart\n",
891 "bar(range(2,8), s)\n",
892 "ylabel('Average Silhouette')\n",
893 "xlabel('k')"
894 ],
895 "language": "python",
896 "metadata": {},
897 "outputs": [
898 {
899 "metadata": {},
900 "output_type": "pyout",
901 "prompt_number": 37,
902 "text": [
903 "<matplotlib.text.Text at 0x10fd31510>"
904 ]
905 },
906 {
907 "metadata": {},
908 "output_type": "display_data",
909 "png": "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\n",
910 "text": [
911 "<matplotlib.figure.Figure at 0x10faa67d0>"
912 ]
913 }
914 ],
915 "prompt_number": 37
916 },
917 {
918 "cell_type": "markdown",
919 "metadata": {},
920 "source": [
921 "In this case, the optimum value appears to be $k=3$."
922 ]
923 }
924 ],
925 "metadata": {}
926 }
927 ]
928 }