Bez popisu

Data Mining.ipynb 217KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "markdown",
  5. "metadata": {},
  6. "source": [
  7. "# Data Mining\n",
  8. "\n",
  9. "## Similarity Measures"
  10. ]
  11. },
  12. {
  13. "cell_type": "markdown",
  14. "metadata": {},
  15. "source": [
  16. "### Euclidean Score"
  17. ]
  18. },
  19. {
  20. "cell_type": "code",
  21. "execution_count": 2,
  22. "metadata": {
  23. "collapsed": true
  24. },
  25. "outputs": [],
  26. "source": [
  27. "%matplotlib inline\n",
  28. "\n",
  29. "import pandas as pd\n",
  30. "import matplotlib.pyplot as plt\n",
  31. "import seaborn as sns\n",
  32. "import numpy as np"
  33. ]
  34. },
  35. {
  36. "cell_type": "code",
  37. "execution_count": 12,
  38. "metadata": {
  39. "collapsed": true
  40. },
  41. "outputs": [],
  42. "source": [
  43. "#Function to compute Euclidean Distance. \n",
  44. "def euclidean(v1, v2):\n",
  45. " \n",
  46. " #Convert 1-D Python lists to numpy vectors\n",
  47. " v1 = np.array(v1)\n",
  48. " v2 = np.array(v2)\n",
  49. " \n",
  50. " #Compute vector which is the element wise square of the difference\n",
  51. " diff = np.power(np.array(v1)- np.array(v2), 2)\n",
  52. " \n",
  53. " #Perform summation of the elements of the above vector\n",
  54. " sigma_val = np.sum(diff)\n",
  55. " \n",
  56. " #Compute square root and return final Euclidean score\n",
  57. " euclid_score = np.sqrt(sigma_val)\n",
  58. " \n",
  59. " return euclid_score\n"
  60. ]
  61. },
  62. {
  63. "cell_type": "code",
  64. "execution_count": 15,
  65. "metadata": {
  66. "collapsed": true
  67. },
  68. "outputs": [],
  69. "source": [
  70. "#Define 3 users with ratings for 5 movies\n",
  71. "u1 = [5,1,2,4,5]\n",
  72. "u2 = [1,5,4,2,1]\n",
  73. "u3 = [5,2,2,4,4]"
  74. ]
  75. },
  76. {
  77. "cell_type": "code",
  78. "execution_count": 16,
  79. "metadata": {},
  80. "outputs": [
  81. {
  82. "data": {
  83. "text/plain": [
  84. "7.4833147735478827"
  85. ]
  86. },
  87. "execution_count": 16,
  88. "metadata": {},
  89. "output_type": "execute_result"
  90. }
  91. ],
  92. "source": [
  93. "euclidean(u1, u2)"
  94. ]
  95. },
  96. {
  97. "cell_type": "code",
  98. "execution_count": 17,
  99. "metadata": {},
  100. "outputs": [
  101. {
  102. "data": {
  103. "text/plain": [
  104. "1.4142135623730951"
  105. ]
  106. },
  107. "execution_count": 17,
  108. "metadata": {},
  109. "output_type": "execute_result"
  110. }
  111. ],
  112. "source": [
  113. "euclidean(u1, u3)"
  114. ]
  115. },
  116. {
  117. "cell_type": "markdown",
  118. "metadata": {
  119. "collapsed": true
  120. },
  121. "source": [
  122. "### Pearson Correlation"
  123. ]
  124. },
  125. {
  126. "cell_type": "code",
  127. "execution_count": 18,
  128. "metadata": {},
  129. "outputs": [
  130. {
  131. "data": {
  132. "text/plain": [
  133. "2.2360679774997898"
  134. ]
  135. },
  136. "execution_count": 18,
  137. "metadata": {},
  138. "output_type": "execute_result"
  139. }
  140. ],
  141. "source": [
  142. "alice = [1,1,3,2,4]\n",
  143. "bob = [2,2,4,3,5]\n",
  144. "\n",
  145. "euclidean(alice, bob)"
  146. ]
  147. },
  148. {
  149. "cell_type": "code",
  150. "execution_count": 19,
  151. "metadata": {},
  152. "outputs": [
  153. {
  154. "data": {
  155. "text/plain": [
  156. "6.324555320336759"
  157. ]
  158. },
  159. "execution_count": 19,
  160. "metadata": {},
  161. "output_type": "execute_result"
  162. }
  163. ],
  164. "source": [
  165. "eve = [5,5,3,4,2]\n",
  166. "\n",
  167. "euclidean(eve, alice)"
  168. ]
  169. },
  170. {
  171. "cell_type": "code",
  172. "execution_count": 20,
  173. "metadata": {},
  174. "outputs": [
  175. {
  176. "data": {
  177. "text/plain": [
  178. "(1.0, 0.0)"
  179. ]
  180. },
  181. "execution_count": 20,
  182. "metadata": {},
  183. "output_type": "execute_result"
  184. }
  185. ],
  186. "source": [
  187. "from scipy.stats import pearsonr\n",
  188. "\n",
  189. "pearsonr(alice, bob)"
  190. ]
  191. },
  192. {
  193. "cell_type": "code",
  194. "execution_count": 21,
  195. "metadata": {},
  196. "outputs": [
  197. {
  198. "data": {
  199. "text/plain": [
  200. "(-1.0, 0.0)"
  201. ]
  202. },
  203. "execution_count": 21,
  204. "metadata": {},
  205. "output_type": "execute_result"
  206. }
  207. ],
  208. "source": [
  209. "pearsonr(alice, eve)"
  210. ]
  211. },
  212. {
  213. "cell_type": "markdown",
  214. "metadata": {},
  215. "source": [
  216. "## Clustering\n",
  217. "\n",
  218. "### K-Means"
  219. ]
  220. },
  221. {
  222. "cell_type": "code",
  223. "execution_count": 31,
  224. "metadata": {},
  225. "outputs": [
  226. {
  227. "data": {
  228. "image/png": "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\n",
  229. "text/plain": [
  230. "<matplotlib.figure.Figure at 0x10ee97518>"
  231. ]
  232. },
  233. "metadata": {},
  234. "output_type": "display_data"
  235. }
  236. ],
  237. "source": [
  238. "#Import the function that enables us to plot clusters\n",
  239. "from sklearn.datasets.samples_generator import make_blobs\n",
  240. "\n",
  241. "#Get points such that they form 3 visually separable clusters\n",
  242. "X, y = make_blobs(n_samples=300, centers=3,\n",
  243. " cluster_std=0.50, random_state=0)\n",
  244. "\n",
  245. "\n",
  246. "#Plot the points on a scatterplot\n",
  247. "plt.scatter(X[:, 0], X[:, 1], s=50);"
  248. ]
  249. },
  250. {
  251. "cell_type": "code",
  252. "execution_count": 38,
  253. "metadata": {},
  254. "outputs": [
  255. {
  256. "data": {
  257. "text/plain": [
  258. "<matplotlib.collections.PathCollection at 0x10e3a1cf8>"
  259. ]
  260. },
  261. "execution_count": 38,
  262. "metadata": {},
  263. "output_type": "execute_result"
  264. },
  265. {
  266. "data": {
  267. "image/png": "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\nRU5ErkJggg==\n",
  268. "text/plain": [
  269. "<matplotlib.figure.Figure at 0x10fdcd208>"
  270. ]
  271. },
  272. "metadata": {},
  273. "output_type": "display_data"
  274. }
  275. ],
  276. "source": [
  277. "#Import the K-Means Class\n",
  278. "from sklearn.cluster import KMeans\n",
  279. "\n",
  280. "#Initializr the K-Means object. Set number of clusters to 3, \n",
  281. "#centroid initilalization as 'random' and maximum iterations to 10\n",
  282. "kmeans = KMeans(n_clusters=3, init='random', max_iter=10)\n",
  283. "\n",
  284. "#Compute the K-Means clustering \n",
  285. "kmeans.fit(X)\n",
  286. "\n",
  287. "#Predict the classes for every point\n",
  288. "y_pred = kmeans.predict(X)\n",
  289. "\n",
  290. "#Plot the data points again but with different colors for different classes\n",
  291. "plt.scatter(X[:, 0], X[:, 1], c=y_pred, s=50)\n",
  292. "\n",
  293. "#Get the list of the final centroids\n",
  294. "centroids = kmeans.cluster_centers_\n",
  295. "\n",
  296. "#Plot the centroids onto the same scatterplot.\n",
  297. "plt.scatter(centroids[:, 0], centroids[:, 1], c='black', s=100, marker='X')"
  298. ]
  299. },
  300. {
  301. "cell_type": "code",
  302. "execution_count": 41,
  303. "metadata": {},
  304. "outputs": [
  305. {
  306. "data": {
  307. "text/plain": [
  308. "<matplotlib.axes._subplots.AxesSubplot at 0x10ee83b38>"
  309. ]
  310. },
  311. "execution_count": 41,
  312. "metadata": {},
  313. "output_type": "execute_result"
  314. },
  315. {
  316. "data": {
  317. "image/png": "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\nnSEAAAAASUVORK5CYII=\n",
  318. "text/plain": [
  319. "<matplotlib.figure.Figure at 0x10ecd9048>"
  320. ]
  321. },
  322. "metadata": {},
  323. "output_type": "display_data"
  324. }
  325. ],
  326. "source": [
  327. "#List that will hold the sum of square values for different cluster sizes\n",
  328. "ss = []\n",
  329. "\n",
  330. "#We will compute SS for cluster sizes between 1 and 8.\n",
  331. "for i in range(1,9):\n",
  332. " \n",
  333. " #Initlialize the KMeans object and call the fit method to compute clusters \n",
  334. " kmeans = KMeans(n_clusters=i, random_state=0, max_iter=10, init='random').fit(X)\n",
  335. " \n",
  336. " #Append the value of SS for a particular iteration into the ss list\n",
  337. " ss.append(kmeans.inertia_)\n",
  338. "\n",
  339. "#Plot the Elbow Plot of SS v/s K\n",
  340. "sns.pointplot(x=[j for j in range(1,9)], y=ss)"
  341. ]
  342. },
  343. {
  344. "cell_type": "code",
  345. "execution_count": 43,
  346. "metadata": {},
  347. "outputs": [
  348. {
  349. "data": {
  350. "image/png": "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\n",
  351. "text/plain": [
  352. "<matplotlib.figure.Figure at 0x10e155c88>"
  353. ]
  354. },
  355. "metadata": {},
  356. "output_type": "display_data"
  357. }
  358. ],
  359. "source": [
  360. "#Import the half moon function from scikit-learn\n",
  361. "from sklearn.datasets import make_moons\n",
  362. "\n",
  363. "#Get access to points using the make_moons function\n",
  364. "X_m, y_m = make_moons(200, noise=.05, random_state=0)\n",
  365. "\n",
  366. "#Plot the two half moon clusters\n",
  367. "plt.scatter(X_m[:, 0], X_m[:, 1], s=50);"
  368. ]
  369. },
  370. {
  371. "cell_type": "code",
  372. "execution_count": 44,
  373. "metadata": {},
  374. "outputs": [
  375. {
  376. "data": {
  377. "text/plain": [
  378. "<matplotlib.collections.PathCollection at 0x110fe9a90>"
  379. ]
  380. },
  381. "execution_count": 44,
  382. "metadata": {},
  383. "output_type": "execute_result"
  384. },
  385. {
  386. "data": {
  387. "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAD8CAYAAABzTgP2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd8VFX2wL/nTZ80kgAKomADxbUD1rWtBXtZG7p2xbbu\n2tFVV9eytt3V9eeuioq911URe8cGYhcLFhSQlgRSps87vz/eEBLyZpKQmQlJ7vfzGSXv3vfemWTm\nnndPFVXFYDAYDIZlWN0tgMFgMBhWLYxiMBgMBkMrjGIwGAwGQyuMYjAYDAZDK4xiMBgMBkMrjGIw\nGAwGQyuMYjAYDAZDK4xiMBgMBkMrjGIwGAwGQyu83S3AytC/f38dNmxYd4thMBgMPYqPPvposaoO\naG9ej1QMw4YNY/r06d0thsFgMPQoRGR2R+YZU5LBYDAYWmEUg8FgMBhaYRSDwWAwGFphFIPBYDAY\nWmEUg8FgMBhaYRSDwWAwGFrRI8NVDb0fTS9CmyZC7HnAhsAuSMmpiHdId4tmMPR6jGIwdDtqL0Uj\nD2SUgIB/R4g8CjQCKWdS9Ek09gJUP4p41+1GaQ2G3o9RDIZuRdML0ZqDwF4KxJ2Dqe8Ae4WZadBG\ntP5ypOqeIktpMPQtjI/B0K1owzVg19CsFIC2SqF5NiSmoRorgmQGQ9/FKAZDt6GahtiLQLqTJyYL\nIo/BYHAwisHQjaTotFLwDAYpLYg0BoPBwfgY+jiamoM2TYLEe2CVIuFxENwXEZ8zbjeh0ecg9RlY\nqyPhgxDPGnm5t0gA9QyB9M8dPCOAlE1ARLp8b9U0YOXlWgZDb8Mohj6MJj5F647JmGaSjn936bcQ\neQqqJkHqe7T2qMx4BPChTRPRsouwSg53v6amIfE+2IvBOxzxbZhbiNKzYekFwIp+Ax+Or6HFjsIq\nB+96K/t2HfliL6MN/4L0D4APDe2DlJ2PWFVduq7B0JswiqGPoqro0rNBIyuMRCH5GRp9GhpvAl3a\nYixj22/4OxoYhaywSGviE7TuFJodyWqj3vWRqolZF14rtBe2vRQarwNaPr0HQJe0nmwvRmvGwcDX\nEQk5t0h+icZeBtJIYGfwbZ51F2BHHoX6K1muhBIQfQaNvwf9n0OsMtfzDIa+hlEMfZXUd85TvStR\naLodtDHLeBJtehCp+GvzEU3XoHXHgTatcJ+ZaO2JSP8ns4pilYzDDu4Kya8QqxS1G2Hpn2nrf1Ag\nBtHn0dAB6JKzIf4GjiJSNHIv+DaDyomIBDJyzYP0r6i1OjRcQ9udSQrsWjTyEFI6PquMBkNfIi+K\nQUQmAfsAC1X1Ny7jAvwb2AvHJnGsqs7IjB0DXJyZeqWqmiD1YqD15Pzz2/U4C7EbaUj/hCY/Rxvv\ngNQ3oCnQhMvcpGOSSn6B+Np8NND4e2j95Rk/g6Le4c7i7notQCNocoaT9xB/nVYLvUYhMcMxFZUc\njy45C5Kfg/idsazvJw6xZ8EoBoMByN+O4W7gZuDeLON7AutnXlsBtwBbiUgVcCkwCudb+5GIPKOq\ndXmSy5AN74jsiy8W+DaF5AdZxn2AoDVHAgmy5x20IPk1rKAYNP4BWncyrRb31FeZBDcPzVnPrQUH\nqz9E7qTt0z9AHKKPoNEXQRfgOE7iLvNWZLnS0OR3jrLzDATfKERM8J6hb5GXT7yqvgXU5piyP3Cv\nOrwP9BORQcAewMuqWptRBi8DY/MhkyE3YpVB6EBa2/WXoVB6Jlir4f4RsSDxAc7C3AGlIBZY1W3v\n0vB33Bf3JI7CccODhH6fSYrLgsZB6+h4KGwAgvugdh12zeFoze/R+kvQupPRRTugyc86eB2DoXdQ\nrEehNYBfWvw8J3Ms2/E2iMh4EZkuItMXLVpUMEF7C6oJND2/nSzhNO6KwQOxZ5HKO8EaBFLiHCMM\nBCF8GJ3bbHogsN0K8kUh9W2ud+B+uOR4xLsWWLn6mQsQ7aBsXrD6IeFxaO1JkPwMiDm+Em0CeyFa\neyxq53ruMRh6Fz1mj6yqE1V1lKqOGjAg16LQt1GNYy+9HF0wGl20O7pgNPbSi1A7ssK8NESfwf2J\nP+WYauxFyIBXkH43IqVnIeV/RQa+i3jWxN3MsyIekBDS72ZE/CuMrcxHzwN2g/PPkhOBkMucIHhH\nOnNd8YJUZu7vg+CeSPWTkJ6TUVQu70uTaOSRlZDXYOiZFCsqaS6wZoufh2SOzQV2WuH4G0WSqdeh\nqmjdeEjMoFXtoej/0NS3UPVocyinJqa1ntP2amjtsciAF5DAjhDYcfmIbzOyL7wrUPUY4hve5rBI\nAPVtAsmPO3YdANIQfxH4KxI+Ck1+kSmpkQQUJAC+0VB6FtSOw92U5EH6Pw9WKeBr9h9o/E3cd08A\ncUi4y6nJbx2l4l2rbfhu6gdHoaTngm8TJHywyZcw9AiKtWN4BjhaHLYGlqrqr8CLwO4iUikilcDu\nmWOGlSH5GSQ+oe2Cn3Acuon3AVC7DupO6cAF02jk/raHfZuAdziOEzoH4keSn2QfLzm1AzK0uajz\nX7Gw+l2PVD+OlP4JSk5Hqu7HqroDy78RhMfRdkcRBP+2aM3B6MLt0boT0MQMZ8iqdHwhrliOI7oF\nmp6HvXh/51pLz0MXH4S9+CA0PR8Au+ledPEBELkP4i9B483oot+hWRSMwbAqka9w1Ydwnvz7i8gc\nnEgjH4Cq3go8jxOqOgsnXPW4zFitiFwBTMtc6nJVNcbclSUxlay7AI2g8beQwDZo5DE65DQmAfEP\nYYW8LxGBqjudcNDE1OzX0nhOJ7EEtkcpAZqyzmmNF4J7tL6Gbzj4hrd51peyC8C/Ndp0p/PE7lkb\n7HmQeJfm31FiKlr7EVpxHRLchezhrH4kvDzT245PzSjWZYl8GT9OaiZaewTa71Zo+AetHesxUJwo\nrIFTm0uOGAyrInlRDKo6rp1xBU7PMjYJmJQPOQxenE2g20JtwbLFKPkx7tFAbqe5mz7EKkeq7sRu\nmgQNN+CqkCQE3g2yXlrEi5b9CRpupH1nsQVSipR0LNdARCC4MxLcGQCNPIE2XO4iZwzqL0b9k7Pr\nBe+w5hwMu+EGaLoT96ipNNh10PBPmrPE25CE+DuQkctgWBXpMc5nQwcI7kZ2278fCWYiga1BOea1\nQMJISU6d7xTdkzBt7fMWWP0gsEM75x8Lpac5SkRKnWtZAxw/gXdk5rpeCOyB9H8K8azWvtwuaPSx\nTJKbG+mMcsoS3pr6wWk1mvwGmu4ieygtTiRT+sfs19I02As6LrjB0A2Ykhi9CPGujYZ+D9GnaP0E\nHoLgbohvpDMvfBgafZyccf4SgsBuTpvNXPeUEFQ/4IR6ah0goDZ4BiNVdyCSWwGJCFJ6MlpyDCRn\nOg5k7waOU7j0VFRtQLpeBTVn2K5kdlHZnPFeSH6Scdi31wsiAJ61IP2r+/XE6nIhQIOh0BjF0MuQ\n8ktR32+gaaKzOHkGQviEVjZy8Y1AS0+FxltYnrmcqWbqGQKeoUj4SAjs1KEFWbzrwYDXIPkRpOeh\nnrUQ36adWsxFguDf3OV4+5tatRshNhlNz0O8a0NwrHO9lvh3yhmOijUwU3HVjQianpvxl3Qgaa7s\nXKg93MU05XF2a74t27+GwdCNGMXQyxARJHwwhA9udVw1iWq62elplZ6KBnZwoo7S8zLhlEcgnkEr\neecYGnsFoo+ANqHWILT0dCR0SEF7Hmh8KrrkdFAFoqiEnQqqVXc3+wU0PQ9iT+CeexGC8BGIfzN0\nySdk9b003uyUCI+9ihM/4YYfyi7E8m2AVk5E604F7EzZcnEinyonmh4QhlUeoxh6OZr8DK2/ujlf\nQH1bIOUXIr6NEd9GSMXVXb+Hppy6SanvaDaf2L9C/VVoajZSfl6X7+F6X7sOXXJaa99Bpoy41h6X\nif7xOwu0nSVbPrQ/UnYeoI5PxJ6f5Wb1QMoxdbkV5JNyqLwLy7+x86N/DDrgLVhyKiSmAX4nOa/m\ngEwU1O+68tYNhoJinM+9GE1+jtYc5Zh4sJ1Xcjpa8wcnOSxfxF/NmGFWtKlHIXIPms5W3rtraOTp\nzE7BjRTEXnEcxqmfyBqppU2IWI4vxNs2Ea8VjbdA1UNO6OsyZzkB8I1BBrzcrBSWz/9nJq8kjePz\naQJtQJechSa/6tybNRiKiFEMPRhVRZMz0djraGp22/H6q3EPA42i9dfkT47oZJeGPxnEC4m383av\nVqS/J6vpR2NOKe/0L5DVAW5DqoVfwbcpOb8S2ojQiPSfglQ9jPT7F9J/Mlb1/YhV2Xqq3QiRx7LI\nl0Abb8l+H4OhmzGmpB6Kpn7KmEjmAR6nno9vU6TyJsSqQjUFyRnZL5CcnvE5dLC0RW5puji+knjW\nAYK4Lr4SzDjS13JCRF2xwLvO8lPCh6NN/8lxQy+k5yK+TcC3IbC8bakmpqNN92TKX4wE/7ZO3ohr\nyW8bkp+2//4Mhm7C7Bh6IGpH0JrDHfONRjOd1uKQnIHWHoc2m1dyLchdW6xVFdUYqooE98zkMrhN\nTIF/+y7dKxsSPiDHqCcTojscvMNw/6j7kZLjll/PM6Cd8FwbPMPaHm34N1p7glP6IvUFRJ+ApRNy\nh8ha/XLcx2DoXoxi6InEnsssOisu7ilIz87sFDzAihVNWyAlK7VbULWxG29HF26NLtgMXbi5U2/I\ns6bL/UIQHoesUGcoX4hVhVT+x7kPy8JTw06GdOWdze09pfJWsFbPlA8nI2cAyia06SrnOMoDLnfz\ngHdtxLdhq6NO0tudOCa7ZX+PNI6/JdtOJQShcdiRx7EX7Ye9YAz2or2wmx5up0y6wVAcjCmpB+Ik\nWmWx6WvKKabnHUHO0tiZ3syaXgyx51C7zlkkAzsjkv1jofUXQ3Qyzb4LjTghqt4REDoYok8CSSc0\ns+QUJHzUyrzFDiOB38LAt5z3kJqDeNeF4F6ItXwHI55BMOAViL+OJj9z/AHBvV2zqMW7Hlrxd1j6\nFycZTeOOo9nq7yiYFXASBbMlvS1TVjbNjnkJg3dTaJoEttPOFID0Emi4FI3cA9WPIVbpyv5KDIYu\nYxRDAdHULLThZqdwm/ghdABSciLSVTOCVYWzI3B7IvWCVZGpi5QrXj6AHXnEifkHII5KCUgFVD+I\neAa7vJ+fIfosbaOP4pCehZT9Ccr/ipM0FyhavL5YFRA+Mue7FfE6pqXgbu1ezwrtiwZ2gNgUp/aR\nbyPwb++ebGcvJvvOIA2lpzvKOvEWSJmTdR57DZLv03bHp5D+EW28CSn/S7tyGgyFwpiSCoQmPkUX\n/x7iL4AuAXshNN2NLj4AtZd06doSOpjsJa9tCOzumFH82+D+J/Y6ztH6q3AW+WVVQpvAnp/pw+xC\n/M3sQmkEjb2YCf0M9vgkLrEqkPDhSOmpSGCH7BnYvlG4NwwCxIv4t8IqOwOr+jGsqkkQ2Blik8nu\n47EdH4XB0I0YxVAgdOlfcMwtLePnE2AvRpvucOaoOgok8iAam5LTvqz2UuzGSdh1Z6CRhyG0v2Pi\naH5OtoAgVFzVbIaQ8r9mYu1bbgx9juPTCuBeDM6G9M9Z4uyF3LuQnq0MVgYJ7e8kvbV5717wDAXf\nCmU+tIl2Hf/a0TLkBkNhMKakAqDp+U4MvSsJiD6NlhyP1h4P6Z+conPLHMH9bkACO2WuswDsGqct\n55KTM6UVYjhmJB+E9gF7iRMi6d0AKTkO8S0vcy3eodD/ObTpdoi97JwX2hspOR6tPZnsPRk8Tvx/\npuheM4EdoeFa91MkvLx6ax9CrFKofrBFdrXlmI58v0Eqb267c5IKnB1GjmJ83nULKLHB0D5GMRQC\njZE7USqB1p2SKSGRWSAyD5Fa9ye08k5ovMFxIos/E47akrTzij6HVN2H+DfNeivxrI6UXwLll7QW\nwbsOpD7HXTmkM1FGK1zLuyYaOgiiT9M6cS4A3o0c81QfRLzrQf9MqGp6AXjXQVrkR7SaKxZaeiI0\n3oR7cIAPKT2zoPIaDO1hTEmFwLOmk2DligXe30Dya9yfGlNQd2Im5DThohRaknBvvdkBpOQY3MNZ\nLbCGNJfobnNe+WVQdo5TjRRAyqDkWKTqrg5VQu2tiIhTfyq4a1al0Dy3ZLxT7bXtCHg2QJMfo6lZ\nBZHTYOgIffebXEBEPFB2NsvDFVsSgMD2Oco0pHCcwR1pvWk7lVFXRkbfSCi70JFnmYKQErAGIpW3\nZT9PBKvkaKyB7yCrzcRa7SOssnMQyZEzYWiNPR+S77kMKKQ/h6a70MUHYjf8u+iiGQxgTEkFwwof\n5iztDf/KmJZs8KyFVFwFpNrxL3ZEKYDTYOYz7IU7Quj3SMnxnYp/t0rGocFdnByAdA3i3wQCv+tw\nP+L8lNPoe2jTPaA5usAtMxVGJqH+rZHAVsUSzWAAjGIoKFb4MDR0cKaQW6C514Gq7Zhguhx9okDc\nKXHddDsamwzVT3RKOYhnNSg5oQ/GE3UjiXdpvxMcoDE0crdRDIaikxdTkoiMFZFvRGSWiFzgMn6D\niHySeX0rIktajKVbjD2TD3lWJUQ8iHdYqwY4IlYmi3Zlslv9uIeFxp3uaZEHV1JSQ9GQ8g5OVEjP\nKagoBoMbXd4xiGNP+A+wGzAHmCYiz6hqcyC8qp7VYv4ZQMvg7qiqbtZVOXoa4huJVj8ENQeSs3RF\nM0EIH+P4JpruwD0HIe4kR5WOz6+whi6hyc/Rxtsg+TlY1eDbBJJf4F4SvSVWprSJwVBc8mFKGgPM\nUtUfAETkYWB/IFsnknHApXm4b49HrAoUD9kVg8cpf+Ed4WTg+kejyS/QyL3ZbdSmCNsqhR2d4lRa\nJQ6oY/ZLzQLCOH/3XCYlP1JyfDHENBhakQ/FsAbwS4uf5wCuRlERGQqsDbzW4nBQRKbjfEuuUdWn\n8yBTz8BaDTyDIf2jy6AXQodhVaygQ73DyZ4564XADnkW0rCyqMah/i+07RcRy7xW/Pp5cMyEPsCG\n8suzhg0bDIWk2OGqhwOPq7bqnDJUVUcBRwA3iohr2qeIjBeR6SIyfdGiLP17exgigpT/jbZhrR6n\n4FrpKS7n+KHkdFzr80gAKTmpEKIaVob4VHKXCVlxpyg4O4kokIbEm04WvcFQZPKhGOYCLdNkh2SO\nuXE48FDLA6o6N/P/H4A3aO1/aDlvoqqOUtVRAwYM6KrMqwwS2Bqpug/8WwE+p/5RcD+k//9cy0ID\nSMkJUHaW48SUME7m8YZI1QOId62iym/IQUfqIrUiBdQv/3fsBbTmINSuzb9sBkMO8mFKmgasLyJr\n4yiEw3Ge/lshIhsAlcB7LY5VAhFVjYtIf2A74Lo8yNSjEP+m0O82ZyFIz0Y8azrhrNnmiyAlx6Lh\nIzOhsGHEs3oRJTZ0CN/mTt2klSYNdj3adC9SZspkGIpHlxWDqqZE5I/AizhG0kmq+qWIXA5MV9Vl\nIaiHAw/r8r6T4DTNvU1EbJzdyzUto5l6Mpr8xqmCmp4Dvo2R8GFZdwCa+BitO8EppkcEJQwNV0Hl\nRMQ/Ous9RHytehYbVi3EOwQN7ATxN2jbw6KjJJwy3UYxGIqItF6newajRo3S6dOnd7cYWbGbJkHD\njTghpTbgB/Eg/Sa2SVZSO4Iu2t69JpKUIAPeNt28ejCqCbT+MqfBkfgyFXItnM9GtgY/K+AZijXg\n5TaHf/56Lj9+Npt+q1Ww8W83xLJMhRtDbkTko4xPNycm8znPaGpWRim0jERJgIIuOQ0Gvte6rlD8\nhcxOwe1ittPfOXx4IUU2FBARP1Lxd7RsAqR+dMKPJYzW/gHsBU5rVHy456UA+CG4d6sjDXWNXHbg\n9XwzbRYerwdFCZUGuezJ89lwq/UL/ZYMfQDziJFnNPII2WPT7eYuaJr6Ho29jsY/Jmv/ZqJoyi2U\n1dDTEKsC8W+GeNdCPP2h4nqQfiz/CvpxLLEt8YBVjpQc3eroRXtfzRdTvyYeTRBpiBJtiFH76xIm\n7H4FdQu61h3QYACjGPJPei5ZTQSaRlM/Yi8+GF18ILr0HIg9SdaQRgkh3mEFEtTQXWjqZ6g7Cuxl\nn5VE5uUBqaQ5lyE4Fql+ErGqms9989F3mfn+t9jptrvMdDLFc7e1NTkZDJ3FmJLyhGoKjTwBiU+y\nTxILIvdnOn2lOxDJKBDcJ49SGlYFtOkOUDdndALwwsDpiJS06W+RTqX550m3Zr1uIpbki6lf51dY\nQ5/EKIY8oJpG606GxHSy17/xOKYDewnZnY5+INHcy1n63YpY2cNWDT2U+Ntk/wxYSPpHxLdJm5EP\np3yMncrtsK4eVNl1+Qx9HqMY8kH8VUh8RHalEALvmuDfHiJ3Zb+OfwvwjnTMR8F9TDRSbyVrdz9w\nFIZLVjuw4KdF2Hb2bablsdjn5N26JpvBgPEx5AWNPEZ2B3IAys5Eqp9FPGs4P7viA//WWOUXIOHD\njVLozYQOxr27H46Pwbue69CgdVfD68/eHGnDrdZn5DamGquh6xjFkA9y9WUWH+IZjIhAcC+yOxYs\nJLhfIaQzrGJIyRHODrLVQ4IFBJGKa53Piguj9tiUUKn7bsIX8HHxo2fnXVZD38QohnwQ2JGsT4Ca\nBF+m3YQ2gW8jl0lBZ1fhHVIoCQ2rECIhpOoxKD0NPEOcHg2B3ZHqx3J2a/N4PFz70iX0G1BOqMz5\nvAXCAQLhAJc+cS79B1dlPddg6Awm8zkPqF2HLtoDdCmtdwRBCO6J1e9aNPklWntkJhplmQNRgBBU\n/hcrsG3R5Tb0TJKJJO8+PY2fZ86lenAlOx66DSUVJd0tlqEHYDKfi4hYlVD9CLrkXEh9myl9kILw\nIUiZ0+lUl16YyXJtieKUV54GRjEYOojP72PHQ83nxVA4jGLIE+JdG+n/BJqeB3YdeIY2O5A1Pd8p\nh+BKHCJ3oaH9EO/axRPYYDAYsmB8DHlGPIMR30ato4o04vRqzoZG0MX7o7HXCy+gwWAwtINRDMXA\nsxbtb85i6NKzUNOz2WAwdDNGMRQBES+UnpHJaM45M1O732DIL7Ztk24na9pgWIbxMRQJCR+NkoaG\n68lVZA+7rqhyGXoPC2Yv4sMpHyMijNlzMwauNYB538/n1nPu4cPnZ2CnlfW3XJvx1x3Npju5hU0b\nDA4mXLUTaGo2pH4Az2DE1zrDVNUGjTkVUbMkKAHYjXdA479x7eglIaTqfsS3cZ4l7z7UrgfE1Hwq\nILZtc/MZd/LiXa8jlvPZU1vZ4ZBtePeZaUTrY7T8nvsCPv729PmM3mOz7hLZ0E2YcNU8onYtWvdH\nSH7RHIqqniFI5S1gVaEN/4Dok0ASpAItHY+Ej21THVNTs8Aqp23dfQAfeNbvNUpB4++jDVc6ihRQ\n7wik/BLEv0U3S9b7ePr/pvDSPW+SiLXuA/LqA2+jLrWVkvEklx14HZNm3shqQwcWS0xDD8LsGNpB\nVdGa/SD1PdCysbuAlIGsBvZsWnfgCkHoIKyKS51r2A1o3WmQ/NSJTlIbZ8fgW97u0bcJUnmzkxPR\nw9HENLT2BFp3sQMIItX3u1YONXQMVeXLd7/h55lz6b9GFVvsujFHrHUKdQuWdvpawdIAt0y/jiHD\nBxdAUkNXiEXifP3Bd4glbLj1cPwBX16ua3YM+SI5DdK/0FopgNOrs955tSEK0cfQ0pMRz+rokj9C\n8mOWtfhsRdkExD8a8a5TEPG7A62/irZKASCGNlyPVN1XbJF6BYvm1HDBHley8JfFoIpYFj6/l4ba\nHLW6chBrjHPznyZxzQsX51lSQ1d44sbnuPuSh7E8jsXBTttsuvNGlFeVMWL0uuz6hx0Knumel6gk\nERkrIt+IyCwRucBl/FgRWSQin2ReJ7YYO0ZEvsu8jsmHPHkl+Rlotn68ORAPxN9xWnMmZuDe09eG\n1I+9SyloHFI5msUkptETd6ndjapy/q5/Y86384g1xog1xYk2RKmvaejS7/OT174gEVuJz7ehILx8\n35vcdfHDxJriROqjROqjxJrifPDcDF6+903umPAARw49jW8/+r6gcnRZMYiIB/gPsCcwEhgnIiNd\npj6iqptlXndkzq0CLgW2AsYAl4rIqmVLkQrH3NP5E51X6usc5ychmaPjW48ku+PdwURIrwyfvfkV\nNfPqXFt6LnM4ryzJxIq7YUN3oKrcffHDxCNu3f0cYpE4TfURLtrr7wUNP87Ht3QMMEtVf1DVBPAw\nsH8Hz90DeFlVa1W1DngZGJsHmfJHcPeMT6CTaAoCOziVM7OW2hawepfzT8QPvmwmTIHAjjmjtgzu\n/PDZbFJJ94XAzcHcUVYbNoCS8vBKn2/IH7GmGDW/1nZobiKWZMYrnxVMlnwohjWAX1r8PCdzbEV+\nLyKficjjIrJmJ88tKKpR7IZ/Yi8YjT1/BPaiXbEjT6GqiFUB5VeQtay2KyEIH4V4BoBvyxyJbUEk\nfGQe3sGqhZRfDBKm9e7BAilBys53PUeTX2MvORd70W7YNYej0clOCLABgKpBlVmb9Hh8HtbdbBje\nQFuXoT/oZ/W13R8+AmE/J19/dF7lNKw8voAPsTq2JKfTaRb9UlMwWYq1r38WGKaqm+DsCu7p7AVE\nZLyITBeR6YsWLcqbYKoptPYoaLp7edns9M/QcBnaeJNz78DWUHEdeIZmk47mEFRrMJT9pXkBFPEg\n/f6bWSj9LeaHIHxozvr7PRXxbYBUPw6B3+E0owlk+g086VooUGOvojWHQuw5SM+G5Ax06V/QJWcZ\nf0SGbfbdMutOy+P1cOH9f2L3o3fCF/BRUhEmVBaivLqUM28bz22f/INz7jiVfgMr8If8BEsCVK7W\nj7PvOJVt9x9d5HdiyIbX52Xb/Ufj8ba/LFuWxZARhYsm63K4qohsA1ymqntkfr4QQFWvzjLfA9Sq\naoWIjAN2UtWTM2O3AW+o6kO57pnPcFWNvYguneBSEhvAD551If0DiNcxKYk344yOL58jYaT6CfAM\nyfrl1fRCNPIQJKaDZwASHof4zZdSNYEu3Nq9C56EkX43IYEdii/YKsiMVz/n0gOuJZ2yScaTeLwW\nXp+XE689kgP+uBcASxYtZeYHs3jjobd599mPwFbSaZut9t6CP/33JJqWRrDTNkOGD8Lq4NOpoXjU\n/FrH6aNodoA6AAAgAElEQVQn0FDblDUowLKEQeuuxl1f39Rps2xHw1XzoRi8wLfA74C5wDTgCFX9\nssWcQar6a+bfBwITVHXrjPP5I2BZ1tMMYEtVzWloy6disOvOgPiLnTgjAN6NMruLNAT3QMLHIJ7+\neZGnr6HxN9ElZ2VvjxrYHavy5uIKtQqzeF4tkye+zHfTf2D1dQay7ym7M3Tkmq3mXP2Hm5j69AfE\nI8sXFq/Pw8C1+nP7FzfkLSbeUBga6hqZPPEVXn3gbRb9spimpZmHVoFAyE+/gRX847XLWH1Y5/2T\nRctjUNWUiPwReBHHnjJJVb8UkcuB6ar6DPAnEdkPJxmgFjg2c26tiFyBo0wALm9PKeSfznr245D6\nAhk41fE/GLqG3Qi5Hk7sJcWTpQfQf3AVx1x2WNbxX39YwDtPvt8mCzqVTFO3YClvP/4+vzvyt4UW\n09AFyipL2efk3Zh828skoi12DerkNJx52ykrpRQ6Q172kqr6vKoOV9V1VfWqzLG/ZpQCqnqhqm6k\nqpuq6s6q+nWLcyep6nqZ1135kKczSHDPjP2/Myf5Ifl5YQTqI6im0PR81LsebZMHlxGAwHbFFKvH\n8/FrX2R1YEYbY0x9+sMiS2RYGZ7892Rqfq1rE0qcjKe4YfytBfe9GSNjcA+wBgErbq9z2e4UpDNR\nSoZlqCp24x3owm3QRbtDzUEgpSx3zC9DQAJIOPvTsaEtPr8XK0degz9ozEg9gVfue5NkPOk6Vr+o\nnjnfzivo/ft8SQwRv9OvueFqiD4LpJ3wUt92kHgT99IOPvCZypQrgzb8E6L3gUZbHKzDUcx+kICT\nA+IZ7DieraruErVHMmavzbPmOwRLg/zuD44jf/bMOfzv/6bw4xc/M2TEYA48Yy/W2SRb1J2hK/zy\nzVxqf13CmhsMpmr1juXvJuPZkw7FI21MhfmmzysGwHlilXKcRLSgY/NOvg3WALAXsVw5CBBAKq52\nmu/gRNUQfwPS88G7Lvi3aVNV1eCg9lKI3EPbkuM2IFBykhMabFUh3vW6QcKeT0X/co6+7BDuv+KJ\nVhm0gbCf32w3gi1324RXH3ybG066lVQyRTpl89V73/L6g+9wyg3Hss/43bpR+t7FnO9+5YpD/snc\nWb/i9XlJxJJstdcWnH/P6YRKczftGrPXFrx412ukU21zeTweD0NHDimU2IAxJQGgTbdB5GEgCTQ5\nL404SiF4AFhrAf3Av71THTT4O+e8xAx04bbo0glow3XoktPRRb9DUz9347tZhUnMyFEeJAbxtxH/\nGKMUusjhEw7kwvv/xHqbr02wJMBqQwdw7OWHc+I1f+Dpm6Zw/XH/IR5NNC86dtomHk1wy5l3sWhO\n4ZKm+hJN9RH+vN1F/Pj5z8QjCZqWRkjGk3wwZQaXHXR9u+ePHruZa0xGIBzg2CsOw+sr7DN9n98x\nqCah6Q4g6jIag8SHIAo0QeI9tL4eyv8GnsFo3QmgTS0ulgCNobVHw4DXzM5hRdqrOSUr+hkMK8t2\nB4xhuwPGAE59ncsP/gd3XfIwdtomna20hiqv3P8W4y44sJii9kpevvdNEtFEGydxMpbky6nf8NOX\nvzBsozVdz33hrte4+Yw725Q68Qd9nHrDMex9UuF3dWblsheSPSoGsH/IlN1OOvOSn6K1R6CNtzmt\nONue4OQ4JKYWRt6ejH80jtnIjSB41kQbb0Xjb5tyGHnkhvG38ukbX5KIJkjlKJiXjKeonW/Cg/PB\njJc/I9aUpRieCF+9963rUOOSJv7v9DuJR9oqFbGE4Vuum29RXTGKQcocZ2dn0ChE7sfdMY3TeCdV\n2LK4PRGRAJRdQtu6Ux4gDvEpaOON6JI/oYt3R9Pzu0HK3kV9TQPvPPlBh5yVHp+HDUYbM14+KO9f\nljUr2fIIJRXuIfLv/m9a1pIYiViSF+96PW8y5qLPKwaxysG/Fe7tNrOhuPZsbr6or9dVTc0XVvj3\nTktU36Y4CqIEZxehmUgl2zHPpeeideO7VdbewJxv5+HrYKZzOplmnU1NZFI+GHv8LgRC7qZRO62M\n2Wtz17FIfTRnFd2X732T2vl1eZMzG31eMQBIxVVgVdK5Cqo5rwgZB7WhLRLYDqm8A7xr4ey63JJ1\n0pCajSa/KrJ0vYuqQZUd7rfg8Vq89fh7vDDpNc7Y+kJO2Ogs/nvmXSz8OX9FK/sKG207gl2O3J5g\nSaD5mFhCIOznnDtOJVTivtZsuM3w5s5tbkSbYlx6YPvO665iej5nULsejTwG8ZcyWc0r07wkAOJB\nKici/jF5la+3Ydf9EeKv4/husiAlSPmVSGjvosnVGzl583P54dPZHZpbPbiSxiWR5lBXr8+LL+jl\nn6//jfW36D2dBouBqvLeM9N58t+TWTy3hvU2X5vDzj+g3d/jWTtcwpfvfpO1z0Yg5Oc/069l6Iad\nD1ktWhG97qAQiqElTmG9l8nuKHXDA+FjkdKTTFJWO6i9FF24He7tTlsgYaTybsRvkgm7wttPvs/l\nh/wze7+oDI7JSV2Tq9baYA3u/OrGwghoaEVTfYQjh566vHjeCoTLQ0y49wy23a/z1Zk7qhiMKckF\nKT0Dp49AZ04KImVnGaXQEexFHWiXKmD1z/giDF1h499uiNefOzJ92Xi2jNsFPy8qeBkGg0NJeZhR\nu2+a1XmdTtmsNnRAQWUwisEF8Q1Hqu5yejEQcIrsST8IH4OrH0IyHdtMHH7HsFbL9LTIhc8xyZk2\noF2m34AKtjtgTFYntNfvZfTYzSivLs16DY/XQ+OSpqzjhvxy0Jl74w+1/XuJJaw+bADrbjqsoPfv\n8wlu2RD/FsiAKWh6LmgcPGuBxtF0DcSfx9GpXsCG4L5I6Z+7WeKeg1hlqP+3kHgtx6wg4jU27Xxx\nzh2nsnRRPTPf/xa1HUdzKpnmkPP25cAz9qLfgAqu/sNNvPHIVOx0WxNqOpUueBkGAyz8ZTH3X/E4\n7zz5AapOUx4swU7ZhEqDBEuCXP6/CQWXwyiGdhCP04JaUz+jtYeBHaE5vBKB4Fik/ArzZNtZys6H\nmtfJavi2zO4rn4RKglz/yqV8/+lPfPHO14TLQmyz3yhK+5U0zxl34YFMffrDVjWWwCnDsN9pe7Rb\n38fQNeb/tJDTRk0gUh9pLlciluD1WGx/4FZsvc+W7HjINviDhf9uGMXQQXTJn8GuY7lDWoEkxF9x\nHNXB3btRup6H5VsH27MOpN0SAX0Q3LfNUU1+jTbeAsnpICUQOgwpORIxJdA7zLqbDstqhhi20Zpc\n8cwErjnqJqINMcQSUokU+4zflROuPqK4gvZBbp9wP01LmrBbRCOpraQSKRqXNLHbUTsWTRYTldQB\nNDUbXbwvWTOdfaOwqh8smjy9BU3MQGuPo3Uugw+sSqT/M60c+Rp/D607GSeSaZlyDoJ3XaT6YSer\n2pAXbNvmu49+INoYY73N1261qzAUjj2D47KWLLE8Fs823t/ltqwmKimf2AtzR9HYC4snSy9C/Fsg\n1Y+AbxucfgyWUwI9dEymeY+DqqJLz8dRIC3t3zFIfe/knxg6jary+dszeeDKJ3jsn88y/6eFzcdr\nfq3j3Wem8fi/nmX2zDndLGnvR1VJp3K3GXbz/RQKY0rqCJ61HQe0KwLeDYoqTu8iAalPcHYMttO0\np+lmNPESVD3gRHqlZoI2ZDk/BtFHoeQPRZS55xNpiHLBHlc0l4X2+jzcfclD7HPK7nw45WNq5tYS\nbYzh8Vo89s9n2feU3Tj5H8cYX1qB+P7TnyjtV0JDbaPr+JDhgwiGi7crNjuGDiCe/hDYmbbtJwEC\nSMlJxRapV6Cq6JJznd4XrTLNo5D8Fo08mpkYJedHVd1KphtyccPJtzHr4x+JNcVRVZKJFIlYkqdv\nmsK8WfOJNjpm03TKJhFNMHniK7z7v2ndLHXvZMYrn3Hm9pfQWJc9HHjhL4uZ9fGPRZMpL4pBRMaK\nyDciMktELnAZP1tEvhKRz0TkVREZ2mIsLSKfZF7P5EOezqDp+Y79up1qqFJxDfi3wMljCDrOT4JQ\nfjniN0lYK0X6R0gvyDIYzfTJwNmRZa2A6wP/9oWQrtfSuKSJqU996JrMZtu2q8ki1hTn0ev/Vwzx\nejWNS5p489F3efWBt1k8twbbtrnu2JuJR+Jtymy3JNYY54KxV5JKrkypns7TZVOSiHiA/wC7AXOA\naSLyjKq2rH72MTBKVSMicipwHbCsy3tUVYtS88DJQXgJNIJ6N4LI3RB/J9NnOIl6hyH9/g/xtq0w\nKVYJUnUvmvwakh87NvDAzoiVPSnI0A7aCOLJXqrBnoc9f2MI/BZC+0L0Odo0VBI/UnJCoSXtVSya\nU4PP783abD4bC2abYnpd4fEbnuWuix7C43M+86lkmq322jxr6YsVScSSfPj8x2y7f+dLYXSWfPgY\nxgCzVPUHABF5GNgfaFYMqtqyiPj7QNENwnbT3dDwT5y+zSmW5yLo8izc1LdozWEw4FXEco/EEN8G\n4DM+hbzgWa8DvTDiTkgwQQjuDfEpgDjnedZC+l2PeE3iVWeoHtzxiqstGbzeoAJI0zeY+vSH3H3J\nI05fjBa9MT6c8nGr8NRcpOJJfv0h2w47v+TDlLQG8EuLn+dkjmXjBGBKi5+DIjJdRN4XkQPyIE8b\nNP4+NNyA00MhRmvF0BIbNIpGzZa5GIgVhvDRdOxjGHPyFwa8j1Q9iPR/HmvAZMQ3stBi9jrKq8oY\nPXYz1/pJlsfC41L2ORAOcPiEgnw9+wT3Xf5Ym8RBcHYBubrqtcQb8DFo3dXyLZorRXU+i8gfgFFA\ny4LiQzNxtUcAN4qIa+86ERmfUSDTFy3q3JZWm27DvaezG1GIPtWp6xtWHik726md1BHSCxB7IeLb\nEPG698s1dIxzJ53GkOGDCJU6yYEer4U/6GOznX9DxWoV+IM+xBJ8AR++oI/DJ+zPmD3dm8sY2ueX\nr7MXIHR+z+0bbwIhH1vttUU+xcpKPkxJc4GW39IhmWOtEJFdgYuAHVWXx36q6tzM/38QkTeAzYE2\nnmBVnQhMBCfBrVMSdrbNZuoL7Mj/sML7d+48Q6cRsdCSE6HherImEDZPtnKEDRs6Q1llKbd98g+m\nvfAJH7/6OTW/1vHOEx8w45XPmud4fR72PGEXDptwAAPX7N+N0vZ8yqpKqJnnXjhSbSeHwePz4A/6\nSMZTpJNpfAEviViSUGkQX8DLtS/9FY+3M50mV558KIZpwPoisjaOQjgc5+m/GRHZHLgNGKuqC1sc\nrwQiqhoXkf7AdjiO6fziGQR2Z/oHp6HhajS0D45v3VBIJHQg2nS7U46bXEk+gnqGYSLp84NlWWy1\n1xasvvZATt70nOb6PMtIJdM8e+tLDN9yHTbfdROjHLrAfqftwYNXPUk86q4c7LQSCHg48qLfs/O4\n7QmXhXjjkXdZ9Mtiho4cwvYHbVWUGknLyEtJDBHZC7gRp3HyJFW9SkQuB6ar6jMi8gqwMfBr5pSf\nVXU/EdkWR2HYOGatG1X1zvbu19mSGBp7CV16Xufi3SWMVD+OeE1z9GKg6YVo/aUQf4vsXd0EPOtD\n9WNYlinoli+uP/ZmXrr3zazjHq8Hy2ux+S6/4S8P/JmSClMio7Mk4kkm7HZ5c+5INtbdbBi3zihc\n607Twa0Fqoo2XAmRx2iutSMly5vPuxJC+j+NeNfOg8SGjqJ2E5r4CJZeCJrFl2T1R/q/4jivDV3m\n6PX+2KFoF1/Ay4jR63HDW1cUQareRzqV5n//fYHbzrk3a3kLX8DLY/PvKJjyNbWSWiAiWOWXOHV5\nwsdB6BCk/MpM450s2zOrH3iGFVNMA06+iBXcASRHXRh7MdpwVfGE6uVUrt6vQ/OS8RTfzfiBWZ8U\nLwO3N+HxetjjmJ1y+gmSiRRn/vaSoiWyZaNPKIZliG9DrPIJWBVXOQ3mS8aDa8nmIFJxuakL053Y\ntbnHo8+g7XaBM3SEQ8/bjw47bhRmvv9dQeXpzZRUlLDDwVtnb7WqsOCnRbz37EfFFWwF+pRiaEPT\nf11aTFoQ2hsJFK/2ucEFa2D7c+wlhZejD7DtfqMZs2fHwiAtr2XKcHeRP99yEgPXrM46Hm2MMfWp\nD4ooUVv6rGLQ5LcZn8OKIZI2RJ9D07+6nWYoFiUnkfMxVizH3GfoMiLClc9ewDl3nsrAof1zmjrs\ntM3W+xQnlr63EioNceh5++MPZi/l35G8hkLSdxVDbDLZo18UYi8UUxzDCkj4D+DNllAVgNChTklu\nQ14QEcYetwsP/HgLLyQe5oA/jiVYsrzMs2UJgZCfc+88zbT4zANb75vd/+vxedhy96KUj8tKn1UM\naBPZY+ZToO0kWxkKioiFVD8EgX1w0m2szCsE/jFI2XndK2Av57R/H88lj57DqN03ZejIIex0+Pb8\n+92r2Omw7bpbtF5B9aBKfn/2PgTCbR9u0qk0/zrxFh6/4Tm+mPp1zqqrhaJPhKu6obHX0KVnZ3oB\nrICEkco7EH+7UV2GIqCpn5xCepqEwG8R32+6WySDocuoKhfueRUfvfSp67jlsQiE/JT3L+Oq5y5k\n6Miul4Ex4artEdgRrEE4LSVb4gfv+uDbsjukMrgg3mFIyYlI6alGKRh6DSLCNx/Oyjpup22ijTEW\nzl7E2TtdSsylCF+h6LOKQcSDVD8Ige1xchlKcH4daUh+jtYciMbf7l4hDYYisWD2Ip677WUmT3yZ\nhT+bvgvFIluJjJaoQiKa5I2HpxZBIoc+qxgAxKrEqrwN+k8Bq4ViwIbUV2jd6diRojeVMxiKhm3b\n3HjqbRy34Z+59Zy7ueXsezh2xJ/5z5/u7Bbbdl9jxGjXYtJtiDXFmPlB8fJH+rRiaCY2BeyltO47\nDBCDhivQdpvJGAw9kydvnMwr971NMpYkHkkQj8RJxpNMmfQ6z/zXROYVmuOuHEcg1H50ndfvoXpw\nZREkcjCKASD6DE4THzdSkPyimNIYVkDteuyGf2Av3B57wSjsutPQ5MzuFqvHo6o8ct3/XBvIxCNx\nHrra9CUpNJvsMJK/PHgm/QZWECxxq8LgYFkWux1dvKTb7s2iWGXIXeo597ihkKjdgNYcCOkFOAUQ\ngfiraPxN1LsBWNVIaH8I7o5I9oQhQ1sSsQT1NQ1Zx2vm1XH9cf+hoa6RLXfbhN2O3olwmclhyDfb\n7j+arffdkh8+nc20Fz/m/ssfJ522SSfTWB4Ln9/LidceyaC1i9O9DfpwuGpL7IaboGkizQtPS6QE\nGfgBIn7Urs1kRS9AfBtmFiOTZFVI7Ib/g6bbcP3bNBMG77pI9QOIa+0rgxuqyn7lR+UsAy0iqCrB\nkgCBUIB/v3sla5jezwVlzne/8vT/Pc8Pn85mjfUHccAZe7LupsPycm1TdrsTqF2LLtoLdAmty3AH\noew8rJKjsKNTYOmEzPGYU7abAFJ9v+nZUEDshbuAPacDMwMQPhYJbAdah1qDEasSPKsb5Z2DW866\nm2dvfYlkPFsVgOWIJayz6VBu/ahw/QL6AtGmGIlogvLqsqIX6uyoYjCmJECsKuj/FFp/OcQzDUus\nAVB6NlZ4fzT1S0YptMiG1iYggtYeDwPeQMS4awpDR2O34xCZiEbuw/k72WgmU1pLT0BKTjN/owzx\naJxX73+b1x5+B7WVkoowSxfXo7bzkCiWNP+7JWorc76ex5zvfmXI+mbX0FnmfT+fm067nU/f+BKx\nhPLqMo7/+xHsfvRObeb+/PVcfvz8Z6pW78dG243Asor72TWKIYN4BiGVtzilnDUOUtqszTX6MO5+\nBgVtgMT7ENi2qPL2GQI7QPRpOubnUaBlJrsNNEHj7ai9FCm/qCAi9iQa6ho5Y+u/UDOv1tWEZFkW\ntmbvheH1e6mbv8Qohk5SO7+OP251IY1LmpqVbs28Om467Q6iDVH2P31PAOprG7jswOv5dvr3eHwe\nVJVwWZi/PX0+I0Z1LLQ1H/SZRyhNz8Vech72gs2w52+MXXuSa2SLiB+xVtjipWaRteCepiH9S2GE\nNiAlp4AE2p+YkyhEHnJ8RH2cieffx4LZi7L6FWzbdvRrFhKxJEOGG6XQWR7/13PEGmNtdmLxSJxJ\nFz1EMuGsLxfvcw0zP/iWeDRBpD5KtCFGzbxazt/1byxdXF80efuEYtD0PHTxARB7NlMbKQ6Jt9Ca\nw9GEe52SVnjXo23pjAziAU/Xa5gY3BHvUKTqQfCOxMlQX8nII/GjsbfQ5EzUrsuniD0G27Z57YG3\nSSVWLi/HF/Cx9b5bUrmaKXfeWaY+9SHJLL93O20z5c7X+Pj1z/nhs9mkEm13x6lkmudvf6XQYjbT\nJ0xJ2nCjY/Jp5VhWIIrWX4b0zx2vLaFxaNN9tN01CEgZ+LfOr8CGVohvJNL/aTS9CLUjELkPog+D\n+ByzX5vERBc0CvV/QSUImkADOyEVf0es8oLLv6qQSqRIJTsWeu0P+VDbSayy0wqq/Gb7DTjvrtML\nLGXvxOPL3uMi1hTn9gn3k4wl0SzbtUQ0wRdTvy6UeG3oE4qB+Mu0VgotSH3j2J+tiqyni3cIWnEd\nLD0/c6RFVFLVJOPULBLiGYB4gIqL0dJTIfE+2nA92PM6cHZmQdRG5//x19Hao6H6qT7TwtUX8FE9\nuJJFv9S0O1cVJs28kW8+nEVTfZSR2wxn2EZmZ7yy7HrUDjxwxeMkYu4m6Vhj7jL/liVUDephmc8i\nMlZEvhGRWSJygct4QEQeyYx/ICLDWoxdmDn+jYjskQ952qBdT2CzQmORgW8gZedCyXik/Apk4Fsm\nVLW7sBc7faFXOm8hCemfIPFePqVapRERjrr0EALh3D4bf8jPjgdvw+rDBrLjoduy14m/M0qhi+x/\n2h5UrtYve6/ndvAFfewzfrc8S5WdLisGEfEA/wH2BEYC40Rk5ArTTgDqVHU94Abg2sy5I4HDgY2A\nscB/M9fLL4Ftydom0jMYpGOaWKwqpORorLJzkdA+Jj6+G1CNYdeegNYcgjZcB+mO5Dhku1gETXyY\nP+F6AGOP24XDznfaSobLQ811erx+L+GykONH2GdLzpp4cvM5qkq0KUY6ZSoArCwlFSX8d/q17HXS\nrpRUhGlvk2p5naVZBIIlAQ48Yy9GjC7eQ2iXE9xEZBvgMlXdI/PzhQCqenWLOS9m5rwnIl5gPjAA\nuKDl3Jbzct2zswlumvwGrT3UsTO3IohU3oQEdurwtQzdi730AohOpuP5DbnwIqVnIqXj83CtnkXj\nkiYnnl6EjbYbwfefzqZpaYQRo9Zh4FoDmue9dO8b3HPJI9T8WotYFtsfOIZTbziWqtWLZ9bojVy0\nz9/58PmPXceCpQFG77E5NfNqGbBWfw44fSy/2X7DvNy3mAluawAt4zXnAFtlm6OqKRFZClRnjr+/\nwrlruN1ERMYD4wHWWmutTgkovhFQdT9a/zdIfgUIeNZAyv9ilEIPQu2GPCoFAA8Ex+bpWj2L0n4l\nbHfAmOaft/jdxm3mPP6vZ7n7rw8TjywrR2Lz9hMf8MXUr7nj839RUlFSJGl7H3uP343P3vzKNWzY\n5/dx0UNn4vHm33jSUXqM81lVJwITwdkxdPZ88W2MVD/uLC6kQPr1GadjryE9p0UkUlcJQfgoxNu5\nh4y+QiwS555LH2mhFBzSqTQNNY1Mvv1VDj13v26SrmeyaE4ND171BO889QFqK/0GlFOnS5t/xx6v\nhdfv48IH/tytSgHyoxjmAi09U0Myx9zmzMmYkiqAmg6em1fEKivk5Q2FxBoAmqOYnpRm8lRcItCs\ngeAZ5CgXz5pIyUlIsHjOvJ7GV+99i+Vxd0HGowneeGSqUQyd4NcfF3D66AuI1EebfTUNdU34gj7W\n33Idoo0xRm4znEPP25+hGw7pZmnzoximAeuLyNo4i/rhwBErzHkGOAZ4DzgYeE1VVUSeAR4UkX8B\ng4H1gb7lDTR0GPH0R/2jnRIkK0aSSQhKToGmWzJ1rFoSRCquQQLbF0vUHk97m2mz2+4ct517L01L\nmrBbZD7baZtENEH/Naq4/OkJOc4uPl2OSlKnvdkfgReBmcCjqvqliFwuIsseKe4EqkVkFnA2y53O\nXwKPAl8BLwCnq+aMLS0Iqim64baGlUAqrgNrdZDwsiNACAK7O7uAqoczCYce5+XdAKm81SiFTrLR\ntiNcC+kBBMJ+dj1qhyJL1HNRVd5/9qNWSqF5zFY+fH4G6fSqtf706bLbmpiG1l8DqS8BAf82jkPa\n5Cas0qgmIDYFjb/l9MsIHQi+zVo9xaomALu5P4OqQuwZtPFWSM8FT38IH4+Ex1GICOnewHMTX+bW\ns+9u5Wfw+r0MGFLNbZ9cT6jUNO3pCOl0mj3947L20BZLmBx5AJ+/8I2mTNntdtD4+2jdeFqV0k5M\nRWsOgeonEO863SabITcifgjt73Rua4FqDI08AdEnQGMQ3BXCRzsmqIZrIfIQkAlZTs+BhuvRxDTo\nd6Mxjbiwz/jdqBxYwaSLH+KXmXOdncIfduC4q8YZpdAJPB4P624+jFkzfnQdX3vjtYqiFDpD31UM\n9VfQSik4R0GjaMONSOVN3SGWYSVRuwmtPRxSP9O8+Df9jEYeQvv9H0QeoG2YaxTib0DyM/BvWlyB\newjbHTCG7Q4Yg6r2KeVp2zaTJ77MY/94hsVz6+i/RiWHnLs/e4/ftdO9EWbPnMNvttuAnz7/uU2t\nqkDIz/jrjsqn6HmhTyoGtZc45RBcsSHxZjHFMeQBbboTUj/RevFPgCZh6UVkryUdQ2OTEaMYctKX\nlALAv068hTcfe685z+DXHxYy8bx7+WbaLM6987QOXSMRT3Llof/io1c+A9SJ8kqmM2GpXsqryzjj\n5hPZcrdV77PXJxWDoRcSeQT3xDdtp8ie5g6BNfQ5fvziZ9545F3i0dafi1hTnDcensrBZ+/bpnZU\nLBLng+c+YsmietbbfG1GbjOcW868i49e+ZREtHXhPI/Pyx//7wT2OHbnVVbh9knFIFY/1Ls2pL51\nGbfxmKoAACAASURBVLXAv3PRZTJ0Ec3VhGeZc9kl8kPCSHCnAghk6Km889QHWXsnpJIp3n7y/VaK\n4YPJH3HluBvRtE06bePxehi0zkDmzppP0qWaaiKaYMqdrzL2uF0K9h66Sp+tFy3lfwVWrMwpzkJR\ndmZ3iGRYSTT1C1nLqi/DtzVt/95+8AwF/28LJJmhJ5JKpJxOdi6k03arRjrzvp/P3w7+B7HGGPFo\nglQiRTwS56cvfnFVCsv45euOlIrvPvquYvCPQaruBt/mOLHwHvDviFQ/hniHda9whs6R/BTIUUra\nsxpS9V8IHwqEcBREAIJ7I1UPmHBVQytGj92cYJbS5MFwgNFjN2v++a6LHyIZ73xHvKrVV+0ueH3S\nlLQM8W+BVD+SSW4T03Cnp2KVg3iz+5e9Gzq9vMsvRsvOB7sGrH6ImJBLQ1s22nYEw0ety9cffNeq\nsY4/6GP4qHXZaNsRzcc+evmzTl8/WBLgoDP3yYushcKshICIxyiFnox/a7L22yDE/7d33uFNVe8D\n/7zZactsZe+9BBkiQwUVUUHBLSqKCiKIGxW+8gOcCOJARQVEBQeKIAoCMkVQERSQjUxZUvYoXUmT\nnN8fSUvT5KaBQgecz/P06c295968J2nve887JeYuVMZGfMf6oQ5eiTpyLyrlM3+bUI0mByLCsNkv\ncP1DV2OPsWN32rDH2LnuwasZNvuFIIdxuOqokXDE2rmsczOuf6hw+zEv6MxnzfmDSl+EOv4k/r7c\nmTZgpz/JzXErHO+LP2op8+/dDpZqSPy3euWgMcTtyuDk0WSKlY7DZg9NQrunWl8O7T4c1bXKVruI\ngZ8/TsO29QosGinazGf9mKw5LxDHVUj8d+DoAuYaYL0UKTkCio+EpIH4kxmzPwS5wLMLlTq5gCTW\nFAVsdivx5UuFVQoAbbrkeo8F/P22O/ZoT6PL6xfaENXsXNA+Bs35hVhr+5VBdjI2otRJgzPSIW0q\nxD6QtWfXpr1MGTmdDUs3UzyhOF37XU/7u9qcdrarpvCjlGLJlD/4ZsQP7N95kDKVE7jr+a5cdffl\nUd28F3y1hJ8+WRjVe5nMJjo93CGvIucbWjFozm+Ui4gLY3WqLMqKeWt48daRZLgy8Hl9sCWRHWt2\nsmTKHwyZ2l8rh/OMcc9/wcwx87L8BMnHUnin91g2LN3M46N7RTzX7crg/UfHhySvZWK1W8hwe3DE\n2FEKhkzpT0KF0md9DucKrRg05zfWeoRNbPMfBJu/fLTX4+XVbm/jSg12JqanuFg5fy3LflxJm66X\nnltZNfnGvu37mfHBnKCoI/BnMM/9bBFd+l0fsWHOuiUbjeMdgAq1ytP+zjbEVyjFlXe0JrZ4jPHg\nQoh+BNKc14g4IfZh/PkLOQ/akLieAMz/YjEpx8NHKaWnpDNz3PxzKKUmv/n1u+X+VWEYPBkeFn+7\nNOL5ORVKTpxxDroPvp0bel5T5JQC6BWD5gJAYvuhsEHKGMAHyguWGv6ubuaKAHw3albEa5w8mpwP\nkmryC1eaC6/HILvZ48s1DLVhm7p4DMpm2Jw22t7cMs8yFiR6xaA57xERTHG9kTLLkPipyEXzMSVM\nR6z1Ab+9ePfGPRGv0eyai/NDVE0+0fTqi7HHhs9uNplNuWYmm8wmWt/UHKsjOFrJZBKccQ46PXzN\nWZO1INCKQXPBIGJDLLUQc7mg/V6PN9colJsevS5rWynFzLHz6F79Ua6z3sVdFXvzzYgfspq8awo/\njS6vR/VGlbGGCUP1eX1MGDKZySOnhxzzZHh477Hx3FnhYf6auxbl9SEi2Jw2rHYLjds1YPTy1yle\nulh+TOOcoRWD5oJBeXbhO/YYvv2N8O1vgO/og6iMjThjHVSuZ+xorNW0elBEyfuPjWds/885sOsQ\nPq+Po4nH+PKVKbx460jD9o2awoWIMGLeYC7r3CzscVeqi8+HTmb/zoNB+99/7BPmTVhERnoGqUmp\neDK8KKUwmYTRy4czcuGLlKtWJj+mcE7RikFzQaA8u1BHbgXXAsANeAKtXO9GudfQ9+0e2J22kPNs\nDiuPf3AqdHHnht3M+eRn0nNEL7lS3axetJ4NSzef45lozhbOOCcXX1EfmyN88prPp1j41a9Zr48f\nOsH8zxcH9cDOxJPhZcGX50+DrzwpBhEpLSLzRWRr4HepMGMuEZE/RGSDiKwVkbuyHZsgIv+KyOrA\nzyU5z9dozgbq5FugUggtz52GOvkKzTo0Zuh3z1KhVjmsditWu4WqDSsx7KdBNGhVB6/Hy9jnPqdv\n8wGGtfpdqW6WTP3jnM9Fc/ZIOZ5qGGHkcXtIOpyU9Xrrqn8NlYjH7WHlvNMvqFdYyWtU0kBgoVJq\nuIgMDLwekGNMKnC/UmqriFQAVorIXKXU8cDx55RSU/Moh0YTGdcvGPZsyNiI8iVz6fVNmbD5PY7u\nP47JJJQqe8oB+Wavj/h1yh+GkSjg9z34tJ+hSFG3ZS2ccQ7SknP2fwdnMQeNLq+f9TqmmNOwTwNA\nXMmiF5ZqRF5NSV2BiYHticDNOQcopbYopbYGtvcBB4GL8vi+Gs1pkksjn0AdJREhvnypIKVwcPch\nFodp9ZgTZ5yD1l10ElxRosV1TShdvhRmS3BPDpPZRLFScbTOVgup3mW1sDvDRzLZnFbMVgu9m/Rn\nQMdXWDrjryLtb8qrYiirlEoMbO8HykYaLCItARuwPdvu1wImpndExLDbioj0FpEVIrLi0KFDeRRb\nc8Fha4NhqqqlBmIyjiJZ9+s/WKyRm/nYHFaqNapMUx3WWqQwmUy8vfgl6rWshc1pI7ZEDPYYG7Wa\nVmfUb69isZ4yqpjNZv731ZPYY+yYzKdunVaHFY/Lw9rFG/h33W5WLVjL6/e+yxsPjC6yyiHXstsi\nsgAoF+bQIGCiUqpktrHHlFIhfobAsfLAL0APpdSybPv241cW44DtSqmXcxNal93WnC4qYzPq6F2g\ncmY3O5BSYxF766w9rjQX342axayx80lJSqVM5YvYt31/SLmMTEwmEzf2vZaHR9xn2PlLU/jZuzWR\nxO37KVutDFXqVTQct2vTXiaP+IH1v/1DXMkY9mzeFzYhzhFrZ8jUZ7n0usLjOo227Hae+jGIyGag\nvVIqMfPGr5SqG2ZccfxKYZiRP0FE2gPPKqVybW2kFYPmTFAZG1BJr0DGWkCBpTZS7AXE3iprjNuV\nwZNtBrFz/W48Gbn7CxyxdgZ+8USRz3TVnBkr56/h5dvfIvVkWtjjbW9pyYvfPZfPUhkTrWLIq/N5\nBtADGB74HZIRIiI24Hvg85xKQUTKB5SK4PdPrM+jPBqNIWJtiMR/g1JpoLyIKS5kzI8fzWX76n+J\n5nnJHmOnQZu6tLqp+TmQVlMUSD6WEvH4iUNJEY8XVvKqGIYD34pIT2AXcCeAiLQA+iilegX2XQnE\ni8gDgfMeUEqtBr4SkYvwG39XA33yKI9GkysiTkN3w6TXphkqBZPFRNX6lTi05wjF44tx8+PXc1Pf\n6zCbI/sfNOcvdVrUxJNhUDPJYaXJVY3yWaKzQ54Ug1LqCBBSFEQptQLoFdj+EvjS4Pyr8/L+Gs3Z\nxJ3uJumoUVMff6mE3iPvp0XHJvkoleZ0yHBn8Pv3f/L7D39htVu45t4raHrNxeesl0b5GmVpfm0T\nVs5fE5IPYbFZ6NK34zl533ONrq6q0QRISUrDZDIZlmNGQb2WtfJXKE3UnDyWzJNt/4/De49k5SX8\nOm05DdvU5dUfB2KxWkhLTiPpSDKlypU0bNd5urzw9VOMuP99ls9ahc1hxef1UTyhGEOm9Kd0ubCx\nOIUerRg0mgDF4+NwFnMY9mUonlCMuJKx+SyVJlre7zeexB0HgpIQ05PTWf/bJiYNm8bODXtY9uNK\nTCa/HfHaHu3o9+5DQSGp4di7ZR8nDp+kcr0KYYvjOWLsDJ36LIf/O8K/63ZTPKE4dZrXKBK9nY3I\nU1RSQaGjkjTnislv/MDnL07BnR6czGa2mBn0zVNccWsrgzOjw+vxMnv8Qr5/bxYnDp2keuMq3Dvo\nNpperfMf8kJ6qotb4x8kwxW+vIXJbEL5fCH+o5jiTobNHkTDNiHBlOzauIdXu71D4o4DWKwW3OkZ\ndOh+BY+N7nXWVhv5TbRRSbqInkaTjTuf68qNj3TA6rDijHXgiLVjc1jpOfyePCsFn8/H0FveYOyz\nn7Pnn30kHTnJmkUbGNxlOLM+1h3i8kLyseSslUA4fN5QpQCQmpTG89e+zPY1O4P2Hz90gqeuGMyu\nDXtwpbpJOZFKhiuDhZN+Y+SDH5xl6Qsf2pSk0WRDROj7zoN0+9+trFm0HrPFTLNrG5OalMaYZyey\nYs5qnMWcdO59LdfcezlWm//JMfHfA8z9bBH7dx6kTvOaXHt/O4qVCg6HXTlvDWsWbwxJlHOluvno\nqQlc1e1yYoqFaUEawJ3uZsXcNZw8lkzdS2tRrWHls/8BFBCb/9rGr98tw+v10fqmFlx8Rf3TMsWU\nLFMCk+XMnnPdaW4mDJnMK9NPlXmbOXY+7jR3iDJxp7n5/fs/ObjnMGUqJ5zR+xUFtGLQaMJQqkwJ\n2t/VFoDta3byTLshuNPdeNz+pLed63cz59OFjFw4lAVfLGH045/g8/nwuL38Nm05E4dMZsT8wdRr\nWTvrmnM/W0R6mGJt4DdV/TVnNe3uaB32+LKZKxl27ygEwefzoXyKeq1q89L3zxfJnsKZeD1eXrnr\nbVbOWxMoZ62YOWYedVrU5PWfBmFzhJZCD4fFauHqey5n9scLUb7TN4//vXAdP4z+iZQTqTRoXYeV\n80KjjDKx2i38s3yrVgwazYXM8O7vkZoUnNmanuJi29//8tVr05jy5oygm0hmvf5BN77O5P/GZTk3\n01LCKwXwV2Z1GxTp27VpL692ezukD8DGpVsYds8oXpv5whnNqzAw9e0fWTF3ddDc0lNc/LN8K5+8\nMIm+bz8Q1XUWfvUrs8YuCHvMarca+h4ycaW6GD/gSzJcGdhj7JDLasUZYWV3PqAVg0YTgX3b95O4\n40DYY65UNz9+OMewpafH5WHF3DW0utGfGd2qc3PWLt4Ytq6O1+Pl4ivrh+wH+O6dmWS4QpOoMlwZ\n/L1wPQd2HaJs1aJZsHjaqFlhG9+40zOYNXY+SimWz1qF1W6lY4/23NTnWpxxwTflvVsTeeOB0Ybv\nYbVbclUMQFb13LTkdExmkz90OUyZbRHhkqsa5nq9oox2Pms0EUg+noI5QmXV9BQXXoOaSl6Pl0N7\nj2S9bnVTi4h9oXOuSjLZ/Oc2w9wKm8PKro17Da+Z3yilWPfrJkY++AGDuw7n+/dnk5LkD/89vO8I\ns8bNZ/GUpbjS/Mrx2METhtdypbn58cO57Nu2n10b9jBx6GQebTGAlBPBZSimjZppnHuCX4E6iztO\nax4+rw+Fwh5zypRlMgn2GBvPT3wsy7d0vqJXDBpNBCrXq4jXE/6mYzIJFWqVY9+2/WHt0SazKahK\n52t3v4PPwP7tTs/g2atf5KtdH+GMDb6JJVQqzY61u8Ke5/V4KVW2RLTTOacopXir10cs/nYprlQX\nSsHfC9fz5StTSahYmh1rTs1BzMLDw7uTUKF0kPLMSfZChu40Nwd2HeabEdPpOeyerP0b/9iSi2Dw\n8vcDmDRsGmsWb0B5/d+BI9ZfPjvlRPi8FWecgy6PXsffP6/nxMEk6l1Wi24Db6Fmk2pRfBpFG71i\n0Ggi4Ix10PWx6/125xxYHTYeHfVgUG3+TEwmoWTZEjRu1wCArat2sHXlDsPVBfifbBdPXhqyv0XH\nSwxXLaXLlaRW0+rRTuec8tu05Sz+dinpKa6saB5XqoukwyeDlAKA8irGPfcFLa67JOxna0SGK4O5\nExYF7UuoWDriOXGlYmnSviFvzB/CD0cnMOXAeOZ6JjMj6QsatKljeJ4nw8sNPa9h9LLX+WLHBwz6\n+ukLQimAVgwaTa489Nrd3Ni7AzaHldgSMTiLOShVtgQvff8cTa++mJd+GICzmBNnnAOLzYwzzsFF\nVRIYMW8wIsKGpZsZeP2rhlEumaSnuNiy8lQPqwx3BoM6D+PTFyaFKBSbw0pcyVhenPZcVljnlpXb\neem2N7m7Sh/6NHuOOZ8twuvNv1aj096dFdZ/EolVP6+l/Z2tsTltmK1mzBYTNoctrLLNJOd7dO13\nPTanQfSSwJNjemd9Rs44JyUSime9vv2ZLmEVk9liokbjqlSoGa4VzfmPznzWaKIk+XgKW1buwBnn\noO6lNYMKs7nSXCydvoKjiceo0qASza9tjMlkYu+WffRt/nxUN0yr3cp9Q2/n7oG3AjD+f1/xw3uz\nQ1qKmkzCpZ2a8vxnj1E83l+i4dfvljGix/u40zKyuoY5Yu00ad+Ql6cPOGdF5LJzf63HDB31RpjM\nJuZmTGbXpr38MWMFPq+PFh2b8L8bXiPpSPiChs06NGbEvMFZr5VSvPvox8z//BfcaaeUr5iEfu8+\nSNd+N0SUYeKL3/LtG9Pxerx4PV6cxRwUKxXHqN9e5aJK8ac1n8JOvjTqKSi0YtAUFUY+9AELvlgS\n0Tmaic1hZeK20SRUKI3X6+XW0g8aNoCJr1CKb/aOA/zNhe4o2zOs89oRa+d/Xz5Jm67he1Ef3neU\nX6cuI/VkGo3a1qNxuwZnXOPn5Tvf4rdpy08rj8DqsDI7dVLI/h9G/8T4AV+GKEWb3crIn4fSoHVw\nCQulFGuXbGTWuAUc3XeMRlfWo2u/GyhVJjr/y96tiSz8cjFJR5NpfGVD2t58aa41lIoi+dWoR6PR\nRGD1z+tzVQoiYHPYePzDXiRU8NvL05PTcUcIsTy6/3jW9ppFxv2t0lNcTP9wDmWqJlC26kVB2diT\nR07n86GTAchwe7DH2KlYqxwjFw4NydqOhm4DbubPWatCbuaRaGugsK68vRWf/d/XkEPXmSymrFVS\ndkSEJu0a0qTdmYWRVqpdnh4vdTujc89HtGLQaPJISlIqy2euJCUpjQat6wQ5KJ1xEcIkBao3qkKz\nDhdzY5/rqFS7PBnuDJbNXMW+7fsj1v7J/iScZpBNncnfC9bRv/1QPG4PbW5uyTPjHuGfP7fxxUtT\ngvwe6cnp7Fy/mz5Nn+PS6y+h7c0tad6xSUQz1L7t+9n/70HKVS9DneY1eeaTvrzdawwmsylQn0hR\npnI8e7ckhpzrjHPw9LhHwl53wpDJYfMbXKlu3us3njfmD4k4Z03e0IpBo8kD879YzLt9xmEym/B6\nvYgIdS+txSszBhJTzEnn3h345H+Twj5Fl69RlrGr38wy3WxdtYOB171KhttDRrobI4OMPcbObc/c\nlPW6fqs6YRPgMlFKZZmZfv/+Tw7vPYLdaQup2QTg9fg4uPsws8Yt4OdJv1GtUWXeWDAURw4H7ZHE\nY7xy51tsXfUvVpuFDLeH2s2qM/jb/kw5MJ4/Z/9NapK/vETVBpX5bdpyPuo/gcN7jmC2mml0eX3a\ndGnBlDdnYI9xcFmnplS/uGrW9X+Z/HvYnI9Mk1F6qitEJs3ZQ/sYNJozZPNf2+h/1dCQJ1ur3ULL\nG5rx4rTncKW5ePrKIezetDdrnMlswuawMmLe4CxbeXqqi7srPULycYMewgImEawOG5d1asYLXz8Z\n1FL09e7v8fv3y6My4zhi7TiLOTmWzRxlhM1h5YZe1/DYez2z9nm9Xh6q/xQHdh4MyvEwW0yUrVaG\nTzeNMmx3unbJRl7t9g5Jh5OyzhURbE4rLTs1Y9CkpzBbzNxg7xaUw5Adi9XC5MRxYXsjaCKjy25r\nNOeYb0b8EBQFk0mGy8OfP/3NkcRj2J12Rv36Cj2H3UO1hpUpUzWBjj3a8dGqkUEO1CVT/sDjMegd\n7LTRqnNz7n7hVt5Z8jKDv30m5Mb77Kd9ufb+dlkhtbmFe0brXnanZzA3R9jrn7P/5tiB4yGJf16P\nj2MHjvPXT6vDXmvv1kQGdR7Gsf3B5yqlcKW6+XPWKiYNmwZA3Qid8uIrlDojH4gmerQpSaM5Q3as\n3YXRitvmsPLf1kTiy5fC5rBxyxOdueWJzobX2rhsC+nJ4UNa3Wluql1chQdeNnaOWm1WnvyoN72G\n38veLYm8dMdbHNp92HD88UNJWX6A3PC4PRzcfZg1izbgSnOzffW/pJ0M79dIO5nOhqX/ZNWHys6U\nN2dErFnkSnMzbdQsug++nZ7D7uV/178asgKyx9joNfzeLPObO93NpmVb8fl81G9VR5uXzhJ5Ugwi\nUhqYDFQDdgJ3KqWOhRnnBdYFXu5WSnUJ7K8OfAPEAyuB+5RS0Yc0aDQFyEWV4tm3bX/YYx63h9Ll\no+v3O3PsPOZ8+rPhcXuMPeoSz7ElYql7aS1OHk2OOM7n9WG2mLDYLCifiljDyWQ20avh0wFF4h8r\nJgkblmq2mA1NPGuXbDQsL5JJWnI66SnpXHxFfQZ/+wyj+owj+XgKIoLVbqH3yPuzyqHPHr+AMf0n\nIiII4PX66PHyXdz+9E0R30OTO3ldMQwEFiqlhovIwMDrAWHGpSmlLgmzfwTwjlLqGxEZA/QEPsqj\nTBpNvnDrk53Z/Ne2kOQ1k0moUr8ilWqXz/UaO9buYswzEyOWygC4qlvbkH3pqS6Wz1rFyaPJ1GlR\ngzrNa2Ydc8Y5DHs/ZOL1+KjbsgaXXteEdb9uYsPSLUH9kgEsdgtery9X+U5d08v+nQfDHiteOnfz\nj81pzcpEvqxzcybtHsPuf/7D5/FSpX4lzBa/CW3pjL/48KnPQvw7EwZPpnh8MTre3z4qeTXhyauP\noSswMbA9Ebg52hPFvxa8Gph6JudrNAVN6y4t6HBfO+wxNiQQWuqItVM8oTiDv+0f1TV+GP0TGW7j\niCKr3cKQKf2JKxkbtH/p9L+4o2xP3ur1IWOemcAz7YbyROsXOHnMv1Lo2KMdFptxVdhMUpPS6PFS\nN0YufJEbel6DzWHF5rBitft/x8Q5olYKmcyd8Aublm8N2X9T3+twxBqbemxOKzf16RgUHisiVK1f\nieoXV81SCgCfDfraIJzVxcTBkw1NfJroyKtiKKuUygxQ3g+UNRjnEJEVIrJMRDJv/vHAcaVU5n/F\nXqBi+NM1msKHiPDkhw8zcuGLdOrVgStub8Ujb/bg823vU76G0b9CMHs37zO081vtFvq+8wAtb2ga\ntH/3P/8x7N5RpKe4SDuZjivNjSvVxda//+XlO94CoNuAW0ioGI/VbmwUMJlN1As4eUWEJz7oxfgN\n7/DwiPvo9fq9fLRqpGE12Ei4093MHDMvZP9Vd7fl4isbBJWyzsTmtNGgVV16RPCjZKKUilhq/Eji\n0VxzOzSRydWUJCILgHCVpAZlf6GUUiJi9FdUVSn1n4jUAH4WkXWAcSH28HL0BnoDVKlS5XRO1WjO\nKfUvq039y2rnPjAM1RpVZuMfm8Pa3s0WM3VahEbnfPfOzBCTD/j9GhuXbmbf9v1UqFmOMave4Pv3\nZjP5jelhazVZ7RbufK5r0L7y1cty8+OnaguVLleS5GMGIbQGKJ/i0J5Qx7fZbOaVGQNYMmUZP340\nh8P/HSO2ZAy1m9Xg2vva0ejyelGV4xDx90Uwqj8lJn84sObMyVUxKKU6GB0TkQMiUl4plSgi5YGw\nxkWl1H+B3ztE5BegKfAdUFJELIFVQyXgvwhyjAPGgT+PITe5NZqiQNfHbmDehF/wekIL5ZWtehF1\nmtcIOWfLiu2GTlyL3d+4p0LNcsSWiKX74Du4vX8Xht09ipXz12C2mgPOWmHgl09QrWHliPLd9vRN\nAVt+Dj+KxYTyKcO6SOkG+RRms5mrurUN6zM5HTp0v5I5ny0KUZBmi4k2Xc/POkf5SV5NSTOAHoHt\nHsD0nANEpJSI2APbCUBbYKPyGwEXAbdHOl+jOZ+pWr8ST3/cB5vD5jexCDiLOUioHM9rs14I+wRd\ntqpxhJLy+oivEBwN5Yix8/L0AXy87m2eGvMIg75+mikHx4cNKc3J9Q9dRasbm+GItWcrXe2gbOWE\niE/lO9bsiljrKa88+NrdXFQpPsgsZXPaKFmmBI+OevCcve+FQp4yn0UkHvgWqALswh+uelREWgB9\nlFK9RKQNMBbw4VdEo5RSnwTOr4E/XLU08DfQXSmVa31infmsOd9IOnKSxd8u5fihJGpeUo3LOjUL\ncrZmZ/Wi9QzuMjzElCLiL7MxYcv7Z1whNRxKKTb8/g8LvlxCWnI6l3VqxuW3teLWhAdxGZhzHLF2\nPl73NuWqlTlrcuQk9WQacz79mQVf+qvXXtWtLZ17XxviqNecQpfd1mjOYz4e8AXTP5hDRnoGPp/C\nHmPHarfwzpJXcjUPZZJ6Mo15E39h2Y8rcMTa6fjAVbS6sXnUvRvuq9mP/f+GD0212q1MPfgJMcWc\nUc8J/EpIKZUv/SMuRHTZbY3mPObhEffR7s42/DR+IccOnKBxuwZ07NE+6qflg7sP8XirF0g9mZa1\n8li5YC0N29Tj1R8HRmWjv+WJTnw6aFJI2KjZauayTs1OSykc3HOYj5//gt++/xOvx0vNS6rx8PDu\nNOvQOOpraM4eesWg0VyAPHfNS6xdsjEkVNZfcqI7Nz8WuesZ+JPZhtw8grWLN2YpF0ecg9JlS/De\nH8MokVA8KlmO7j9G78b9OXksJUgeu9PGC5OeMmwypDl9tClJo9GE5fihE9xTpa9h3aKKtcszYfN7\nUV1LKcXfC9ex4MsluNLctO16KZff1gqbPfpw0Y+emcCMD+aEraYaX6EUX+8Ze1Z9Jhcy2pSk0WjC\ncuLwSSw2s6FiMOq1HA4RoVmHxnky+SyZ8odhie2U46ns3bKPynV17mt+oj08Gs0FRtmqF+HzGlsK\najSuanjsXBDRaCG5HNecE7Ri0GguMBwxdm7sc23Y0hT2GBvdB98e5qxzR9tbWmK2hg/NdRZzUqlO\n7sUINWcXrRg0mguQh4d358rbW2NzWHHGOYgp7sQeY6ffuw9xyVWN8lWWuwfeTEycM6sQYSZ2ea0k\nTwAABPZJREFUp41+7z6kQ1cLAO181mguYA7tPcK6JRuxOW0079gEZ6yjQORI3HGAj56ZwJ+z/0b5\nfFSqV5HeI7pzWefcs7M10aOjkjQaTZHD6/Hi9XixOULNXJq8o6OSNBpNkcNsMRuWAtHkH9p4p9Fo\nNJogtGLQaDQaTRBaMWg0Go0mCK0YNBqNRhOEVgwajUajCUIrBo1Go9EEUSTzGETkEP6OceeCBCC0\nk3nRQs+hcKDnUDjQczhFVaXURbkNKpKK4VwiIiuiSQApzOg5FA70HAoHeg6njzYlaTQajSYIrRg0\nGo1GE4RWDKGMK2gBzgJ6DoUDPYfCgZ7DaaJ9DBqNRqMJQq8YNBqNRhPEBa8YROQOEdkgIj4RMfT6\ni8j1IrJZRLaJyMD8lDE3RKS0iMwXka2B36UMxnlFZHXgZ0Z+yxmO3D5XEbGLyOTA8eUiUi3/pTQm\nCvkfEJFD2T73XgUhZyRE5FMROSgi6w2Oi4i8F5jjWhFplt8y5kYUc2gvIieyfQ9D8lvGSIhIZRFZ\nJCIbA/ejJ8OMyb/vQSl1Qf8A9YG6wC9AC4MxZmA7UAOwAWuABgUtezb53gAGBrYHAiMMxiUXtKyn\n+7kCjwJjAtvdgMkFLfdpyv8AMLqgZc1lHlcCzYD1Bsc7AT8BArQClhe0zGcwh/bAzIKWM4L85YFm\nge1iwJYwf0v59j1c8CsGpdQmpdTmXIa1BLYppXYopdzAN0DXcy9d1HQFJga2JwI3F6Asp0M0n2v2\nuU0FrhERoXBQ2P8uokIptQQ4GmFIV+Bz5WcZUFJEClUj5ijmUKhRSiUqpVYFtk8Cm4CKOYbl2/dw\nwSuGKKkI7Mn2ei+hX1pBUlYplRjY3g+UNRjnEJEVIrJMRAqD8ojmc80ao5TyACeA+HyRLnei/bu4\nLbD0nyoilfNHtLNKYf/7j5bWIrJGRH4SkYYFLYwRAXNpU2B5jkP59j1cEB3cRGQBUC7MoUFKqen5\nLc+ZEGkO2V8opZSIGIWaVVVK/SciNYCfRWSdUmr72ZZVE8SPwNdKKZeIPIJ/9XN1Act0IbIK/99/\nsoh0An4AahewTCGISBzwHfCUUiqpoOS4IBSDUqpDHi/xH5D9Sa9SYF++EWkOInJARMorpRIDS8uD\nBtf4L/B7h4j8gv+ppCAVQzSfa+aYvSJiAUoAR/JHvFzJVX6lVHZZx+P3BxU1CvzvP69kv8kqpWaL\nyIcikqCUKjQ1lETEil8pfKWUmhZmSL59D9qUFB1/AbVFpLqI2PA7QQtFVE+AGUCPwHYPIGQVJCKl\nRMQe2E4A2gIb803C8ETzuWaf2+3AzyrgiSsE5Cp/DhtwF/y246LGDOD+QFRMK+BENtNlkUBEymX6\npkSkJf57X2F5wCAg2yfAJqXU2wbD8u97KGhvfEH/ALfgt9W5gAPA3MD+CsDsbOM64Y8U2I7fBFXg\nsmeTLR5YCGwFFgClA/tbAOMD222AdfgjZ9YBPQtabqPPFXgZ6BLYdgBTgG3An0CNgpb5NOV/HdgQ\n+NwXAfUKWuYwc/gaSAQyAv8LPYE+QJ/AcQE+CMxxHQbRe4V8Do9l+x6WAW0KWuYc8l8OKGAtsDrw\n06mgvged+azRaDSaILQpSaPRaDRBaMWg0Wg0miC0YtBoNBpNEFoxaDQajSYIrRg0Go1GE4RWDBqN\nRqMJQisGjUaj0QShFYNGo9Fogvh/jFH7eLzUzSEAAAAASUVORK5CYII=\n",
  388. "text/plain": [
  389. "<matplotlib.figure.Figure at 0x10e9c2668>"
  390. ]
  391. },
  392. "metadata": {},
  393. "output_type": "display_data"
  394. }
  395. ],
  396. "source": [
  397. "#Initialize K-Means Object with K=2 (for two half moons) and fit it to our data\n",
  398. "kmm = KMeans(n_clusters=2, init='random', max_iter=10)\n",
  399. "kmm.fit(X_m)\n",
  400. "\n",
  401. "#Predict the classes for the data points\n",
  402. "y_m_pred = kmm.predict(X_m)\n",
  403. "\n",
  404. "#Plot the colored clusters as identified by K-Means\n",
  405. "plt.scatter(X_m[:, 0], X_m[:, 1], c=y_m_pred, s=50)"
  406. ]
  407. },
  408. {
  409. "cell_type": "code",
  410. "execution_count": 50,
  411. "metadata": {},
  412. "outputs": [
  413. {
  414. "name": "stderr",
  415. "output_type": "stream",
  416. "text": [
  417. "/usr/local/lib/python3.6/site-packages/sklearn/manifold/spectral_embedding_.py:234: UserWarning: Graph is not fully connected, spectral embedding may not work as expected.\n",
  418. " warnings.warn(\"Graph is not fully connected, spectral embedding\"\n"
  419. ]
  420. },
  421. {
  422. "data": {
  423. "image/png": "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\n",
  424. "text/plain": [
  425. "<matplotlib.figure.Figure at 0x111109748>"
  426. ]
  427. },
  428. "metadata": {},
  429. "output_type": "display_data"
  430. }
  431. ],
  432. "source": [
  433. "#Import Spectral Clustering from scikit-learn\n",
  434. "from sklearn.cluster import SpectralClustering\n",
  435. "\n",
  436. "#Define the Spectral Clustering Model\n",
  437. "model = SpectralClustering(n_clusters=2, affinity='nearest_neighbors')\n",
  438. "\n",
  439. "#Fit and predict the labels\n",
  440. "y_m_sc = model.fit_predict(X_m)\n",
  441. "\n",
  442. "#Plot the colored clusters as identified by Spectral Clustering\n",
  443. "plt.scatter(X_m[:, 0], X_m[:, 1], c=y_m_sc, s=50);\n"
  444. ]
  445. },
  446. {
  447. "cell_type": "markdown",
  448. "metadata": {
  449. "collapsed": true
  450. },
  451. "source": [
  452. "## Dimensionality Reduction\n",
  453. "\n",
  454. "### Principal Component Analysis"
  455. ]
  456. },
  457. {
  458. "cell_type": "code",
  459. "execution_count": 78,
  460. "metadata": {},
  461. "outputs": [
  462. {
  463. "data": {
  464. "text/html": [
  465. "<div>\n",
  466. "<style>\n",
  467. " .dataframe thead tr:only-child th {\n",
  468. " text-align: right;\n",
  469. " }\n",
  470. "\n",
  471. " .dataframe thead th {\n",
  472. " text-align: left;\n",
  473. " }\n",
  474. "\n",
  475. " .dataframe tbody tr th {\n",
  476. " vertical-align: top;\n",
  477. " }\n",
  478. "</style>\n",
  479. "<table border=\"1\" class=\"dataframe\">\n",
  480. " <thead>\n",
  481. " <tr style=\"text-align: right;\">\n",
  482. " <th></th>\n",
  483. " <th>sepal_length</th>\n",
  484. " <th>sepal_width</th>\n",
  485. " <th>petal_length</th>\n",
  486. " <th>petal_width</th>\n",
  487. " <th>class</th>\n",
  488. " </tr>\n",
  489. " </thead>\n",
  490. " <tbody>\n",
  491. " <tr>\n",
  492. " <th>0</th>\n",
  493. " <td>5.1</td>\n",
  494. " <td>3.5</td>\n",
  495. " <td>1.4</td>\n",
  496. " <td>0.2</td>\n",
  497. " <td>Iris-setosa</td>\n",
  498. " </tr>\n",
  499. " <tr>\n",
  500. " <th>1</th>\n",
  501. " <td>4.9</td>\n",
  502. " <td>3.0</td>\n",
  503. " <td>1.4</td>\n",
  504. " <td>0.2</td>\n",
  505. " <td>Iris-setosa</td>\n",
  506. " </tr>\n",
  507. " <tr>\n",
  508. " <th>2</th>\n",
  509. " <td>4.7</td>\n",
  510. " <td>3.2</td>\n",
  511. " <td>1.3</td>\n",
  512. " <td>0.2</td>\n",
  513. " <td>Iris-setosa</td>\n",
  514. " </tr>\n",
  515. " <tr>\n",
  516. " <th>3</th>\n",
  517. " <td>4.6</td>\n",
  518. " <td>3.1</td>\n",
  519. " <td>1.5</td>\n",
  520. " <td>0.2</td>\n",
  521. " <td>Iris-setosa</td>\n",
  522. " </tr>\n",
  523. " <tr>\n",
  524. " <th>4</th>\n",
  525. " <td>5.0</td>\n",
  526. " <td>3.6</td>\n",
  527. " <td>1.4</td>\n",
  528. " <td>0.2</td>\n",
  529. " <td>Iris-setosa</td>\n",
  530. " </tr>\n",
  531. " </tbody>\n",
  532. "</table>\n",
  533. "</div>"
  534. ],
  535. "text/plain": [
  536. " sepal_length sepal_width petal_length petal_width class\n",
  537. "0 5.1 3.5 1.4 0.2 Iris-setosa\n",
  538. "1 4.9 3.0 1.4 0.2 Iris-setosa\n",
  539. "2 4.7 3.2 1.3 0.2 Iris-setosa\n",
  540. "3 4.6 3.1 1.5 0.2 Iris-setosa\n",
  541. "4 5.0 3.6 1.4 0.2 Iris-setosa"
  542. ]
  543. },
  544. "execution_count": 78,
  545. "metadata": {},
  546. "output_type": "execute_result"
  547. }
  548. ],
  549. "source": [
  550. "# Load the Iris dataset into Pandas DataFrame\n",
  551. "iris = pd.read_csv(\"https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data\", \n",
  552. " names=['sepal_length','sepal_width','petal_length','petal_width','class'])\n",
  553. "\n",
  554. "#Display the head of the dataframe\n",
  555. "iris.head()"
  556. ]
  557. },
  558. {
  559. "cell_type": "code",
  560. "execution_count": 79,
  561. "metadata": {},
  562. "outputs": [
  563. {
  564. "data": {
  565. "text/html": [
  566. "<div>\n",
  567. "<style>\n",
  568. " .dataframe thead tr:only-child th {\n",
  569. " text-align: right;\n",
  570. " }\n",
  571. "\n",
  572. " .dataframe thead th {\n",
  573. " text-align: left;\n",
  574. " }\n",
  575. "\n",
  576. " .dataframe tbody tr th {\n",
  577. " vertical-align: top;\n",
  578. " }\n",
  579. "</style>\n",
  580. "<table border=\"1\" class=\"dataframe\">\n",
  581. " <thead>\n",
  582. " <tr style=\"text-align: right;\">\n",
  583. " <th></th>\n",
  584. " <th>sepal_length</th>\n",
  585. " <th>sepal_width</th>\n",
  586. " <th>petal_length</th>\n",
  587. " <th>petal_width</th>\n",
  588. " </tr>\n",
  589. " </thead>\n",
  590. " <tbody>\n",
  591. " <tr>\n",
  592. " <th>0</th>\n",
  593. " <td>-0.900681</td>\n",
  594. " <td>1.032057</td>\n",
  595. " <td>-1.341272</td>\n",
  596. " <td>-1.312977</td>\n",
  597. " </tr>\n",
  598. " <tr>\n",
  599. " <th>1</th>\n",
  600. " <td>-1.143017</td>\n",
  601. " <td>-0.124958</td>\n",
  602. " <td>-1.341272</td>\n",
  603. " <td>-1.312977</td>\n",
  604. " </tr>\n",
  605. " <tr>\n",
  606. " <th>2</th>\n",
  607. " <td>-1.385353</td>\n",
  608. " <td>0.337848</td>\n",
  609. " <td>-1.398138</td>\n",
  610. " <td>-1.312977</td>\n",
  611. " </tr>\n",
  612. " <tr>\n",
  613. " <th>3</th>\n",
  614. " <td>-1.506521</td>\n",
  615. " <td>0.106445</td>\n",
  616. " <td>-1.284407</td>\n",
  617. " <td>-1.312977</td>\n",
  618. " </tr>\n",
  619. " <tr>\n",
  620. " <th>4</th>\n",
  621. " <td>-1.021849</td>\n",
  622. " <td>1.263460</td>\n",
  623. " <td>-1.341272</td>\n",
  624. " <td>-1.312977</td>\n",
  625. " </tr>\n",
  626. " </tbody>\n",
  627. "</table>\n",
  628. "</div>"
  629. ],
  630. "text/plain": [
  631. " sepal_length sepal_width petal_length petal_width\n",
  632. "0 -0.900681 1.032057 -1.341272 -1.312977\n",
  633. "1 -1.143017 -0.124958 -1.341272 -1.312977\n",
  634. "2 -1.385353 0.337848 -1.398138 -1.312977\n",
  635. "3 -1.506521 0.106445 -1.284407 -1.312977\n",
  636. "4 -1.021849 1.263460 -1.341272 -1.312977"
  637. ]
  638. },
  639. "execution_count": 79,
  640. "metadata": {},
  641. "output_type": "execute_result"
  642. }
  643. ],
  644. "source": [
  645. "#Import Standard Scaler from scikit-learn\n",
  646. "from sklearn.preprocessing import StandardScaler\n",
  647. "\n",
  648. "#Separate the features and the class\n",
  649. "X = iris.drop('class', axis=1)\n",
  650. "y = iris['class']\n",
  651. "\n",
  652. "# Scale the features of X\n",
  653. "X = pd.DataFrame(StandardScaler().fit_transform(X), \n",
  654. " columns = ['sepal_length','sepal_width','petal_length','petal_width'])\n",
  655. "\n",
  656. "X.head()"
  657. ]
  658. },
  659. {
  660. "cell_type": "code",
  661. "execution_count": 80,
  662. "metadata": {},
  663. "outputs": [
  664. {
  665. "data": {
  666. "text/html": [
  667. "<div>\n",
  668. "<style>\n",
  669. " .dataframe thead tr:only-child th {\n",
  670. " text-align: right;\n",
  671. " }\n",
  672. "\n",
  673. " .dataframe thead th {\n",
  674. " text-align: left;\n",
  675. " }\n",
  676. "\n",
  677. " .dataframe tbody tr th {\n",
  678. " vertical-align: top;\n",
  679. " }\n",
  680. "</style>\n",
  681. "<table border=\"1\" class=\"dataframe\">\n",
  682. " <thead>\n",
  683. " <tr style=\"text-align: right;\">\n",
  684. " <th></th>\n",
  685. " <th>PC1</th>\n",
  686. " <th>PC2</th>\n",
  687. " </tr>\n",
  688. " </thead>\n",
  689. " <tbody>\n",
  690. " <tr>\n",
  691. " <th>0</th>\n",
  692. " <td>-2.264542</td>\n",
  693. " <td>0.505704</td>\n",
  694. " </tr>\n",
  695. " <tr>\n",
  696. " <th>1</th>\n",
  697. " <td>-2.086426</td>\n",
  698. " <td>-0.655405</td>\n",
  699. " </tr>\n",
  700. " <tr>\n",
  701. " <th>2</th>\n",
  702. " <td>-2.367950</td>\n",
  703. " <td>-0.318477</td>\n",
  704. " </tr>\n",
  705. " <tr>\n",
  706. " <th>3</th>\n",
  707. " <td>-2.304197</td>\n",
  708. " <td>-0.575368</td>\n",
  709. " </tr>\n",
  710. " <tr>\n",
  711. " <th>4</th>\n",
  712. " <td>-2.388777</td>\n",
  713. " <td>0.674767</td>\n",
  714. " </tr>\n",
  715. " </tbody>\n",
  716. "</table>\n",
  717. "</div>"
  718. ],
  719. "text/plain": [
  720. " PC1 PC2\n",
  721. "0 -2.264542 0.505704\n",
  722. "1 -2.086426 -0.655405\n",
  723. "2 -2.367950 -0.318477\n",
  724. "3 -2.304197 -0.575368\n",
  725. "4 -2.388777 0.674767"
  726. ]
  727. },
  728. "execution_count": 80,
  729. "metadata": {},
  730. "output_type": "execute_result"
  731. }
  732. ],
  733. "source": [
  734. "#Import PCA\n",
  735. "from sklearn.decomposition import PCA\n",
  736. "\n",
  737. "#Intialize a PCA object to transform into the 2D Space.\n",
  738. "pca = PCA(n_components=2)\n",
  739. "\n",
  740. "#Apply PCA\n",
  741. "pca_iris = pca.fit_transform(X)\n",
  742. "pca_iris = pd.DataFrame(data = pca_iris, columns = ['PC1', 'PC2'])\n",
  743. "\n",
  744. "pca_iris.head()"
  745. ]
  746. },
  747. {
  748. "cell_type": "code",
  749. "execution_count": 81,
  750. "metadata": {},
  751. "outputs": [
  752. {
  753. "data": {
  754. "text/plain": [
  755. "array([ 0.72770452, 0.23030523])"
  756. ]
  757. },
  758. "execution_count": 81,
  759. "metadata": {},
  760. "output_type": "execute_result"
  761. }
  762. ],
  763. "source": [
  764. "pca.explained_variance_ratio_"
  765. ]
  766. },
  767. {
  768. "cell_type": "code",
  769. "execution_count": 83,
  770. "metadata": {},
  771. "outputs": [],
  772. "source": [
  773. "#Concatenate the class variable\n",
  774. "pca_iris = pd.concat([pca_iris, y], axis = 1)"
  775. ]
  776. },
  777. {
  778. "cell_type": "code",
  779. "execution_count": 87,
  780. "metadata": {},
  781. "outputs": [
  782. {
  783. "data": {
  784. "text/plain": [
  785. "<seaborn.axisgrid.FacetGrid at 0x1125aaba8>"
  786. ]
  787. },
  788. "execution_count": 87,
  789. "metadata": {},
  790. "output_type": "execute_result"
  791. },
  792. {
  793. "data": {
  794. "image/png": "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\n",
  795. "text/plain": [
  796. "<matplotlib.figure.Figure at 0x1125be4a8>"
  797. ]
  798. },
  799. "metadata": {},
  800. "output_type": "display_data"
  801. }
  802. ],
  803. "source": [
  804. "#Display the scatterplot\n",
  805. "sns.lmplot(x='PC1', y='PC2', data=pca_iris, hue='class', fit_reg=False)"
  806. ]
  807. },
  808. {
  809. "cell_type": "code",
  810. "execution_count": 91,
  811. "metadata": {},
  812. "outputs": [
  813. {
  814. "data": {
  815. "text/html": [
  816. "<div>\n",
  817. "<style>\n",
  818. " .dataframe thead tr:only-child th {\n",
  819. " text-align: right;\n",
  820. " }\n",
  821. "\n",
  822. " .dataframe thead th {\n",
  823. " text-align: left;\n",
  824. " }\n",
  825. "\n",
  826. " .dataframe tbody tr th {\n",
  827. " vertical-align: top;\n",
  828. " }\n",
  829. "</style>\n",
  830. "<table border=\"1\" class=\"dataframe\">\n",
  831. " <thead>\n",
  832. " <tr style=\"text-align: right;\">\n",
  833. " <th></th>\n",
  834. " <th>C1</th>\n",
  835. " <th>C2</th>\n",
  836. " </tr>\n",
  837. " </thead>\n",
  838. " <tbody>\n",
  839. " <tr>\n",
  840. " <th>0</th>\n",
  841. " <td>8.084953</td>\n",
  842. " <td>0.328454</td>\n",
  843. " </tr>\n",
  844. " <tr>\n",
  845. " <th>1</th>\n",
  846. " <td>7.147163</td>\n",
  847. " <td>-0.755473</td>\n",
  848. " </tr>\n",
  849. " <tr>\n",
  850. " <th>2</th>\n",
  851. " <td>7.511378</td>\n",
  852. " <td>-0.238078</td>\n",
  853. " </tr>\n",
  854. " <tr>\n",
  855. " <th>3</th>\n",
  856. " <td>6.837676</td>\n",
  857. " <td>-0.642885</td>\n",
  858. " </tr>\n",
  859. " <tr>\n",
  860. " <th>4</th>\n",
  861. " <td>8.157814</td>\n",
  862. " <td>0.540639</td>\n",
  863. " </tr>\n",
  864. " </tbody>\n",
  865. "</table>\n",
  866. "</div>"
  867. ],
  868. "text/plain": [
  869. " C1 C2\n",
  870. "0 8.084953 0.328454\n",
  871. "1 7.147163 -0.755473\n",
  872. "2 7.511378 -0.238078\n",
  873. "3 6.837676 -0.642885\n",
  874. "4 8.157814 0.540639"
  875. ]
  876. },
  877. "execution_count": 91,
  878. "metadata": {},
  879. "output_type": "execute_result"
  880. }
  881. ],
  882. "source": [
  883. "#Import LDA\n",
  884. "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis\n",
  885. "\n",
  886. "#Define the LDA Object to have two components\n",
  887. "lda = LinearDiscriminantAnalysis(n_components = 2)\n",
  888. "\n",
  889. "#Apply LDA\n",
  890. "lda_iris = lda.fit_transform(X, y)\n",
  891. "lda_iris = pd.DataFrame(data = lda_iris, columns = ['C1', 'C2'])\n",
  892. "\n",
  893. "#Concatenate the class variable\n",
  894. "lda_iris = pd.concat([lda_iris, y], axis = 1)\n",
  895. "\n",
  896. "#Display the scatterplot\n",
  897. "sns.lmplot(x='C1', y='C2', data=lda_iris, hue='class', fit_reg=False)"
  898. ]
  899. },
  900. {
  901. "cell_type": "markdown",
  902. "metadata": {},
  903. "source": [
  904. "## Supervised Learning\n",
  905. "\n",
  906. "### Gradient Boosting"
  907. ]
  908. },
  909. {
  910. "cell_type": "code",
  911. "execution_count": 95,
  912. "metadata": {},
  913. "outputs": [
  914. {
  915. "data": {
  916. "text/plain": [
  917. "0.97368421052631582"
  918. ]
  919. },
  920. "execution_count": 95,
  921. "metadata": {},
  922. "output_type": "execute_result"
  923. }
  924. ],
  925. "source": [
  926. "#Divide the dataset into the feature dataframe and the target class series.\n",
  927. "X, y = iris.drop('class', axis=1), iris['class']\n",
  928. "\n",
  929. "#Split the data into training and test datasets. \n",
  930. "#We will train on 75% of the data and assess our performance on 25% of the data\n",
  931. "\n",
  932. "#Import the splitting funnction\n",
  933. "from sklearn.model_selection import train_test_split\n",
  934. "\n",
  935. "#Split the data into training and test sets\n",
  936. "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)\n",
  937. "\n",
  938. "#Import the Gradient Boosting Classifier\n",
  939. "from sklearn.ensemble import GradientBoostingClassifier\n",
  940. "\n",
  941. "#Apply Gradient Boosting to the training data\n",
  942. "gbc = GradientBoostingClassifier()\n",
  943. "gbc.fit(X_train, y_train)\n",
  944. "\n",
  945. "#Compute the accuracy on the test set\n",
  946. "gbc.score(X_test, y_test)"
  947. ]
  948. },
  949. {
  950. "cell_type": "code",
  951. "execution_count": 97,
  952. "metadata": {},
  953. "outputs": [
  954. {
  955. "data": {
  956. "text/plain": [
  957. "<matplotlib.axes._subplots.AxesSubplot at 0x10e9d1198>"
  958. ]
  959. },
  960. "execution_count": 97,
  961. "metadata": {},
  962. "output_type": "execute_result"
  963. },
  964. {
  965. "data": {
  966. "image/png": "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\nkH6I4QAAAABJRU5ErkJggg==\n",
  967. "text/plain": [
  968. "<matplotlib.figure.Figure at 0x111c59e48>"
  969. ]
  970. },
  971. "metadata": {},
  972. "output_type": "display_data"
  973. }
  974. ],
  975. "source": [
  976. "#Display a bar plot of feature importances\n",
  977. "sns.barplot(x= ['sepal_length','sepal_width','petal_length','petal_width'], y=gbc.feature_importances_)"
  978. ]
  979. },
  980. {
  981. "cell_type": "code",
  982. "execution_count": null,
  983. "metadata": {
  984. "collapsed": true
  985. },
  986. "outputs": [],
  987. "source": []
  988. }
  989. ],
  990. "metadata": {
  991. "kernelspec": {
  992. "display_name": "Python 3",
  993. "language": "python",
  994. "name": "python3"
  995. },
  996. "language_info": {
  997. "codemirror_mode": {
  998. "name": "ipython",
  999. "version": 3
  1000. },
  1001. "file_extension": ".py",
  1002. "mimetype": "text/x-python",
  1003. "name": "python",
  1004. "nbconvert_exporter": "python",
  1005. "pygments_lexer": "ipython3",
  1006. "version": "3.6.0"
  1007. }
  1008. },
  1009. "nbformat": 4,
  1010. "nbformat_minor": 2
  1011. }