pythondcnda算法聚类_ML-hand/5kmeans聚类.ipynb at master · Briareox/ML-hand · GitHub

{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"5kmeans聚类.ipynb","version":"0.3.2","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"metadata":{"id":"QhDJAWG6-fAb","colab_type":"code","colab":{}},"cell_type":"code","source":[""],"execution_count":0,"outputs":[]},{"metadata":{"id":"CE5VbcIw_A0I","colab_type":"text"},"cell_type":"markdown","source":["# Kmeans"]},{"metadata":{"id":"8jtGxdUn_CTy","colab_type":"code","colab":{}},"cell_type":"code","source":["import os, sys\n","import argparse\n","import numpy as np\n","import time\n","import matplotlib.pyplot as plt"],"execution_count":0,"outputs":[]},{"metadata":{"id":"msMaUmKA_aTI","colab_type":"code","colab":{}},"cell_type":"code","source":["np.random.seed(42)\n","# Sample data points from three different Gaussians.\n","u1, u2, u3 = np.asarray([1.0, 1.0]), np.asarray([-1.0, 1.0]), np.asarray([5.0, 5.0])\n","sigma1, sigma2, sigma3 = np.random.rand(2, 2), np.random.rand(2, 2), np.random.rand(2, 2)\n","sigma1 = np.dot(sigma1, sigma1.T) * 1.0\n","sigma2 = np.dot(sigma2, sigma2.T) * 5.0\n","sigma3 = np.dot(sigma3, sigma3.T) * 2.0\n","\n","num_pts = 100\n","samples1 = np.random.multivariate_normal(u1, sigma1 * np.ones((2, 2)), size=num_pts)\n","samples2 = np.random.multivariate_normal(u2, sigma2 * np.ones((2, 2)), size=num_pts)\n","samples3 = np.random.multivariate_normal(u3, sigma3 * np.ones((2, 2)), size=num_pts)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"tgnponPe_c0Z","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":362},"outputId":"9a91e4cc-d8a7-43b6-fc28-5174d996bb35","executionInfo":{"status":"ok","timestamp":1552647715367,"user_tz":-480,"elapsed":6338,"user":{"displayName":"Sen Yang","photoUrl":"","userId":"00832503676208839570"}}},"cell_type":"code","source":["# Plot for visualization.\n","plt.figure()\n","plt.scatter(samples1[:, 0], samples1[:, 1], s=40, c=\"r\", alpha=0.5)\n","plt.scatter(samples2[:, 0], samples2[:, 1], s=40, c=\"b\", alpha=0.5)\n","plt.scatter(samples3[:, 0], samples3[:, 1], s=40, c=\"g\", alpha=0.5)\n","plt.grid(True)\n","plt.title(\"Ground Truth Clustering\")\n","# plt.savefig(\"./examples/clustering_{}.pdf\".format(args.seed), bbox_inches=\"tight\")\n","plt.show()"],"execution_count":6,"outputs":[{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAd8AAAFZCAYAAADZ6SWdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzsvXl4XPV97/86Z0aa0TIjjWzJizS2\nZbME2RIGhzTIBAiYmCaQ0PIj+OcfZGlL47QlpQ+9SUvSQpebp+Te3tBL8mThJk1Kr28cB24SA8EN\nZUmCCQmYIGMHbCzJnhG2JVuzSNaMpJn5/v44mtGs0myaRfq8HnjsOXOW7zm29T6fXVNKKQRBEARB\nKBl6uRcgCIIgCEsNEV9BEARBKDEivoIgCIJQYkR8BUEQBKHEiPgKgiAIQokR8RUEQRCEEiPiKyx6\nlFL827/9Gx/+8If53d/9XW644Qbuuusu3njjjbKt6ROf+ASPP/54wrZjx45x4403cuONN3LVVVex\nefPm2OdvfOMbOZ3/7Nmz/Od//icAbrebrq6urI/94Q9/yC233MKNN97I9ddfz7333suZM2cAePjh\nh/n85z+f01ri+f73v5/zMWfOnOGmm27K+5qCUImYy70AQVhovvzlL/Pyyy/zv/7X/6KtrY1wOMze\nvXv55Cc/yf79+2lpaSn3EgG48MILefrppwF4/PHH+fGPf8x3vvOdvM718ssvc+DAAa6//vqcjtu9\nezff+c53+NrXvsaGDRuYnp7ma1/7GnfccQdPPPFEXmuJEg6H+dKXvsRHP/rRnI5bsWJFwdcWhEpD\nLF9hUeP1evnud7/Lgw8+SFtbGwAmk4kdO3bw3HPPxYT3zjvv5Mtf/jK/+7u/y8GDB/F6vfz5n/85\n27dv54Mf/CDf/OY3gVQrMv7z448/zmc+8xnuu+++2HHHjh0DwOVycdttt7Ft2zbuvfdewuFwzvfy\n8ssvs2PHDv78z/+ce++9l5dffpkbbrgh4fsbbriBw4cP8/d///fs37+fv/iLv4h9/4Mf/ICbb76Z\na665Jq2YRSIRvvrVr/K3f/u3bNiwAYCamho+85nP8LnPfQ5N0xL2v+6663jllVdSPodCIT7/+c+z\nfft2brjhBv7sz/6M8fFxPvnJTzI2NsaNN96Iy+Xi9OnT7Nq1i+3bt7N9+3ZeeOGF2DO96qqr+OIX\nv8gdd9yR9TN2u93ccsstXHfddfzt3/4tn/rUp1K8C4JQKYj4Coua119/nVWrVrFu3bqU7xobGxM+\nv/HGGzz55JNcfvnl/I//8T9oampi//797N69m//zf/5PgtBk4mc/+xk7d+5k//79/M7v/A7f/e53\nAfjv//2/c+WVV/LMM8/w8Y9/nIMHD+Z1P0eOHGHHjh388z//c8Z9Nm7cyB133MH27dv58pe/DBjC\nOj09zb59+/jrv/5rHnrooZTj+vv78fl8bN26NeW7bdu2UVtbm9Uaf/GLX+B2u3n66af5j//4Dy64\n4AJee+01vvjFL2IymXj66adxOp187nOf413vehf79+/nm9/8Jp/97GfxeDyA8dJ0ySWX8O///u8p\n58/0jL/0pS+xdetWnn32Wa6++moOHDiQ1XoFoRyI+AqLGp/Pl+BW9vv9sTjq1VdfzSOPPBL77ppr\nrkHXjX8SL7zwAjt37gSgubmZG264gRdffHHe623YsIFNmzYB0NXVxalTpwB45ZVX+OAHPwhAT08P\n69evz+t+rFYrV155Zc7HKaW45ZZbYus6ffp0yj5er5eWlpYUCzdXWlpaOH78OD/96U8JBALcc889\nvO9970vYZ2JigpdffplPfOITAKxdu5YtW7bErN/p6ekEqz6euZ5xNDa8bdu2mKdDECoRifkKi5qW\nlhaGh4djn+12eyyu+vnPf55gMBj7rqmpKfb70dFR7HZ7wnHx58mEzWaL/d5kMsXcyz6fL8HSjj93\nLsSvMRdMJhN1dXUA6LpOJBJJ2cfhcHDu3DlCoRBmc/4/Gnp6evjCF77Ao48+yuc+9zmuu+467r//\n/oR9xsbGUEqxY8eO2LaJiQne+973xtab7JmIkukZ+/3+hOezYsWKvO9BEBYasXyFRc3mzZs5d+4c\nR44cyem45cuX4/V6Y5+9Xi/Lly/HZDIRiUSIziPx+/1Znc9utzM+Ph77PDo6mtN60hEvPLmsJROd\nnZ20tLTw7LPPpnz3la98JWXNySLu8/liv7/xxht59NFHee655wgEAnzrW99KOHbZsmWYTCYee+wx\nnn76aZ5++ml+9rOf8bGPfSzv9Tc0NDAxMRH7PDIykve5BGGhEfEVFjWNjY38yZ/8CZ/97Gc5ceIE\nYMQ/n3zySX7yk5+wZs2atMdde+217NmzBzCE8qc//SnXXnstDocDk8nEW2+9BRhlOdmwefNmfvrT\nnwJw8OBBTp48Weit0draysjICOfOnSMcDrNv377Yd2azmbGxsZzOp+s699xzD//4j/9IX18fYLh/\nv/zlL/PMM8+kWKKtra28+eabADz11FNMTk4C8Nhjj/HVr34VMFz2URd7TU0NkUiE8fFxzGYz11xz\nDd/73vcACAQC/PVf/3XMhZwPPT09/OQnPwHgueeey8pTIQjlQtzOwqLnrrvuorm5mc985jNMTk4y\nNTVFZ2cn//N//k+uuuqqtMfcc889PPDAA9x4443ous4f//Ef09PTA8Ddd9/NH/3RH9HW1sadd96Z\n1Rr+y3/5L9x777386Ec/4tJLL6W3t7fg+1q7di233nort9xyC6tXr+YjH/kIv/3tbwHYunUr//qv\n/8qtt97Kv/zLv2R9zltvvRWLxcLf/M3fEAwG0TSN97znPXz3u99NSbj6kz/5E+6//36+//3vs337\ndi644AIArr/+eu677z4+8IEPYDKZWLt2Lf/0T/+E3W5ny5YtvP/97+cb3/gGDzzwAPfffz979+4F\n4MMf/jCrVq3C7Xbn9Tyiz/jJJ5/k6quvZvPmzQXHrwVhodBknq8gCIsFpVRMcG+99VY+/elPs23b\ntjKvShBSEbezIAiLggcffJC/+7u/A+D48eP09/fHsqIFodIQy1cQhEXB8PAwn/3sZxkaGkLXdXbt\n2sXv/d7vlXtZgpAWEV9BEARBKDHidhYEQRCEEiPiKwiCIAglpmSlRiMjudUcLjQORz0ez8T8Owry\nrLJEnlP2yLPKDnlO2VOJz6q11ZbxuyVr+ZrNpnIvoWqQZ5Ud8pyyR55Vdshzyp5qe1ZLVnwFQRAE\noVyI+AqCIAhCiRHxFQRBEIQSI+IrCIIgCCVGxFcQBEEQSoyIryAIgiCUGBFfQRAEQSgxIr6CIAiC\nUGLy7nB1/vx5Pve5z+Hz+ZienuZP//RPed/73lfMtQmCIAjCoiRv8f2///f/0tnZyb333suZM2f4\n+Mc/ztNPP13MtQmCIAjCoiRvt7PD4cDr9QLg9/txOBxFW5QgCIIgLGYKmuf7h3/4h5w8eRK/3883\nvvENNm/enHHfUChcdb03BUEQhMWLy+fihRMvMBoYpaWuhWvWXoOzyVmSa+ftdv7Rj37E6tWr+da3\nvsWbb77Jfffdx+OPP55x/0qcNlFpk5YqFXlW2SHPKXvkWWWHPKfsyfVZDY272X3kURSG/eniFH2u\nI+zsupP2xo6irSkTebudDx48yFVXXQXAu971LoaHhwmHw/meThAEQRBKxoGhF2PCG0WhODD0Ykmu\nn7f4rl27ltdffx2AoaEhGhoaMJnErSwIgiBUPt5JT07bi03ebufbb7+d++67jzvuuINQKMQDDzxQ\nxGUJgiAIwsLRbHHgCY6m3V4K8hbfhoYG/uVf/qWYaxEEQRCWGEPjbg4MvYh30kOzxUFv+9aixVzn\nord9K4O+/gTXs4ZGb/vWBb82FCC+giAIglAIyUlPnuAog77+oiY9ZaK9sYOdXXeWRfhBxFcQBKEq\nKZfFWEzmSnq67eLbF/z67Y0dJblOOkR8BUEQqox4i3Fsys+LYz/nsaPf5/3Obdx0wc1VI8LlTnoq\nJzJYQRAEocqIWoxjU34OjfThCY4SCE3w0js/Z/eRRxkad5d7iVmRKbmpVElP5UTEVxAEocqIWoau\nMVeC2zYYDpS0VrVQetu3oqElbCtl0lM5EbezIAhClREtkwmGAgTDQfyTfsKREHZLE/4pX95u21LH\nkcud9FRORHwFQRCqjFiZjIKRiTMwYz2adTOHRvpwNq7L+ZzlyjwuZ9JTORG3syAIQpURtRiX1S/D\nrNdgNVlpq1+BxWRBQ0PL4yd7udstLjXE8hUEQahC2hs7uKxtC8usy3CNuQiGAljNdThtzpQ4ajaU\nKvN4MZRIFQMRX6GkDA1pHDhgwuvVaG5W9PaGaW/Pe6qlICxpmi0OPLWjdC3bmLI9r3MtcLvFcjbV\nqDREfIWSMTSksXu3GaWMt3KPR2NwUGPnzpAIsCDkQTFbJCafa2zKj2vMhYbO3rf2pLVQc7Vii91U\nI/76a1pXscm2pWpEXMRXKBkHDphiwhtFKcMSvu22UJlWJQjVSzGzhePPNejvx+V30WHvQBFhwHec\nvpHXcNrXoqHRbHGwvmk9z558Jicrtpiu7WQremr0fNHn8S4kIr5CyfB608ehMm0XBGF+ipktHD3X\n3rf2oNSsheqf8nFopA/XmIuuZRvxBEd5sv/HdNg6sNc2xfabz4otpmu73K0pC0XEVygZzc0KjydV\naJubxeUsCAtBvslNyZao2+8CIBgKxLYFQwHcfhddy5vmPDaeYrrJq701pZQaCSWjtzeMpiUKraYZ\nSVeCIBSXqFt2wHccT3CUAd/xrFtPJluiwbAhulZzXWyb1VwX2z7XsfFEXdudTRtwWFvobNqQt5u4\n2ltTiuUrlIz2dsXOnSHJdhaEIpLJui3ELZtsoVpNdQRDkzhtztg+TpsT14xFHCUbK7ZYbvJyz+Mt\nFBFfoaS0tytJrhKEIjFX6U4hbtnkRK4rV78P9/hJbLW22D722ibuvvxW+n39ZanZTV7jmpZVbFor\n2c6CIAjCAjOXdVtoclOyhZrJwt6y8orCbqIA4tfY2mpjZGSsbGvJFRFfQRCEKmUu6/aD628qqlt2\nqfZgXihEfAVBEKqUuazbpTwxqBoQ8RUEQahS5ks6Emu1chHxFQRBqFLEuq1eRHwFQRCqGLFuqxNp\nsiEIgiAIJUbEVxAEQRBKjLidBUEQyowMmF96iPgKgiCUkXRdqqLj+2yNVszT9SLGixBxOwuCIJSR\n5C5V/ikffSOvc2DoF4wGchuIIFQPIr6CIAhlJJvxfdGWkcLiQcRXEAShjGQzvg+qZ06tkB0ivoIg\nCGWkt30rGlrss9VUh4aWML4PqmdOrZAdIr6CIAhlJHnA/JWr30d366XYau2xfappTq2QHZLtLAiC\nUGYyje8L1UzQZs4+21lKlqoHEV9BEIQKIyrGucyoTVeyNOjrZ2fXnSLAFYi4nQVBEBYBySVLIFnS\nlYxYvoIgCEWmHO7fTNnQkiVdmYj4CoIg5EEmgS2X+7fZ4sATHE27Xag8CnI7//jHP+bDH/4wv//7\nv8/zzz9fpCUJgiBUNlGBHfAdxxNM7EJVLvdvcskSSJZ0JZO35evxePjqV7/KY489xsTEBA8//DDX\nXnttEZcmCIJQmcwlsNm4fxfCLR0tWZJs5+ogb/F96aWXuPLKK2lsbKSxsZF/+Id/KOa6BEEQKpa5\nBHY+92+x3NKZBDy+ZEmoXPJ2O7vdboLBILt27WLnzp289NJLxVyXIAhCxZIpjhoVwbncv8VwS8/l\n9haqg4ISrrxeL1/5yld45513+NjHPsZzzz2Hpmlp93U46jGbTYVcrui0ttrKvYSqQZ5Vdshzyp5q\nflY3127n2699O0FENTRu7t6Os8nJspZP88KJFxgNjNJS18I1a6/B2WS0iwz1TxAyBTnhO0FgOkBd\nTR1rm9YSqplI+0zSbdt/6lXqG2pTtr8x9iqbOy8p4p1WF9X0dypv8V22bBmXXXYZZrOZNWvW0NDQ\nwOjoKMuWLUu7v8czkfciF4JciteXOvKsskOeU/ZU+7Oy0sxH1n40xe1rnWpmZGQMK81sX/WR2QOm\niN2v3x/k5ZO/jn3lY4zTvmGWmValPJNMz+nkyCnOBydTt4dPVfVzLYRK/Ds118tA3uJ71VVX8Vd/\n9Vfcdddd+Hw+JiYmcDgkpV0QhKVBvvFVTTes5GSrWcshCChlRdVP3uK7YsUKtm/fzkc/+lEAvvCF\nL6Dr0jBLEITKpZhZxvmeS0Oju7UH15iLYCiA1VyH0+ZMiRPPRW/7VgZ9/SkCLmVF1UNBMd8dO3aw\nY8eOYq1FEIQlzEJ3hSpm84tCztVsceCpHaVr2caU7dkiZUXVj3S4EgSh7GQSs+vWbKPf118UgcmU\nZfzE2/toqWvJ6RpzZSzP54rO1modGnez/9SrnBw5lXZd1VRWJNOWUhHxFQSh7KQTM/+Uj4cPPkTX\ncsNCLLRNY7raXP+Uj4NnXuXyFVtyukYhfZSzsVqjLyP1DbWcD05W9YQimbaUHgnSCoJQdtKJlmvM\nRTCcWCVRSJvGdG5dt9+F1WzN+Rpz1flmQ9RqvatnF7ddfHuKCC2mCUWL6V6KiVi+giDkTbHciemy\nd4OhAFZTXcq++U7pSefuDYaDXOi4KOdrLHTCUyknFC20S1imLaVHxFcQhLwopjsxnZhZzXV02FLP\nM5d1OZeQpHP3NlsdeIOpIjCfBbvQCU/FLiUq5wQmKYtKj4ivIAh5UUjSUTLpxOz6NTfw7MlnsrYu\nsxGS5CSl5GPmu0bymgtJeEoWxPVN62PJZZGIYmxqjIYGS87rSnedTM+lmH+GmZCyqPSI+AqCkBfF\ndiemE7OVjauyti7zEZJylewkC+JJ/yD/+8h32dTajb22KbZ6h9VBbXgqJs75rLPQCUyFImVR6RHx\nFQQhL0rhTszFusxXSMpRspMsiK4xFwqF2++ia3lTbPubZ9/EWbee0cAofSO/wVZrtCuMt16j58sk\nbPH3PzbljzX3GPQPsrntsrTrK7ZLuJrKokqFiK8gCHlRae7EaootJr8QBEMB49ew8evYlJ9DI33Y\n6xtp1Jo5cvYNvJNeult7sNXaAcN6fbJ/H76gd05Xe/S5RM8Z3XdiahyX/wSgxUQdxCVcKqTUSBCE\nnInGK9FgZGIEDZ3Opg1lrd2cb5RfJZH8QmA1G1nd0ezuqCVcV2N8DoYDKBSuMVfCcb8Zfm3eMp7o\nc4meM0qH3Ymt1k5H4xo6mzbgsLaU/c9wKSHiKwhCTsTPklVK0VrfCqiyx/GiscVqEJLkF4Vob+cO\nuxP/lI8BXz+nxt9hYnoC/5QPq6mOqfAkA75+Dp55hSPnDjM25c/YDTreso4+l4aaBurMVhwWB92t\nPbHYsq5r3Hbx7Xxw/U0APNX/BHvf2iOzgRcYcTsLwhKj0LrOUmTIZku6e6mG2GJyElJn0wZuueBW\nXjn9Cs+5nqFWr6Wuro5gKMihkT5W1K/gzMQZrCYrgVCAQCjAmfOnWNGwkoNnXokNZ4i6pJMt6/bG\nDq51Xs+A73jKWpotDulCVQZEfAVhCVGMH7KV0jSh2gUjXRJSv6+fy1dsicVnZ7cP0FrfRrOlKTaO\nMBgOEpgOEgwbYuwNemIWbTpX+1wx+kp6oVoqiNtZSMvQkMbevWYeeaSGf/9347NQ/RSj1V+hrRWL\nxWJsWxh9gbHV2ulu7aGlroU6cx26BlesfA9bVryHy1dcQZ2pHqvJiqZBd2sPDosDq9lCMDSZ8eVj\nLrd8pbxQLSXE8hVSGBrS2L3bjFKG4E5NQV+fmZ07Q7S3q3mOFiqZYvyQrZQs5+Q1R8tofnvuSGyd\nxbKASzWVJz5j21ZrZ6WjlfPnJxmZGImr/53Niraa67DXNsXKkxzWljnXlankp5oyxRcLYvkKKRw4\nYIoJbxSlNA4cMJVpRUKxKIbVWurEpqFxN3vf2sMjfV9PSASKX3PUTesJjqJUhAHfcXYfebQoSUPx\nCWae4GhRz51MpoztHe/ambDdaqpDQ8Npcybsm69YVlOm+GJBLF8hBa83vYs503aheiiW1Vqqpglz\nxXXj7yW+jKbDbghSsWKWpYyHJidirWlZxaa1W2hv7Ejo9nXl6vfhHj9ZtPpc6UJVekR8lxhDQ4YF\n6/VqNDcrenvDKa7k5maFx5MqtM3N4nKudor9Q3ah3bHzCV/0Xn577ggOi4MOuzPBPVuMmGUx46HR\n5zXoG2B44gxtDW2ss69PGQARFfXWVhsjI2Mp2+PPVaxnL12oSouI7xIiOZbr8WgMDmopsdze3jCD\ng1qC61nTDKEWqp9i/ZAtRbbxfMIXfy/RMhr/lA+330UwHMBpW8fQuLug9RQrHhp9Xr4pbyyT+Zjn\nLfytvryem4hldSMx3yVEtrHc9nbFzp0hOjsjOByKCy5Akq2EFEqRbZxtjDoas/RP+YzY76SHYGgS\nq9kyZ3w2Uzw53bnjycfFG31ebv9sl6p4l3k1Z2kLuSOW7xIil1hue7vitttCALS2WhkZEeEVEilF\neUq2MeqoO/2hV/6ZOnNdQtOJTPHZbC33Yrnqo88lmqkcJdrXWcp6lhYivksIieUKhRIfZzw6+hZW\nsyXWVSlKsacaZSt87Y0dXNRy8Uy7y0TSCVsuiVT5uHiTY7LRa1lNdQRCwdh+0b7OUtaztBDxXUJI\nLFcohGRL0WKu5dBIX8KknYUoT8lF+HKJz85luReazJTOqh6b8sNM/2bPiHHtaLmQlPUsPUR8lxDR\nWO582c6CkI5kS9Fe28Sm1m6CoUnW2Fsqojwll1KqTEIdiaiCE8mizyp+fq7VXMfGZZtY17SeplpH\nxmxnYWkg4rvEiI/lCouXhSgBSmcp2mubcNhbuKtnV0HnLhZRN/WT/fv4zfBraEDP8vQD4zMJtaZT\ncF2vd9KTMj83EArw6plfs7PrTslSFiTbWRAWGwvVkalSejpngy/oZZ19HWvt6/BNedLef6ZOXcmZ\nzVGiLx/ZZEg3Wxwp83MBrCarZDULgFi+grDoWKiOTPl0x8rHAi/lyMN08eS54savnv41D7/2UMyN\n7LQ507qke9u38tjR7wMQDAfxT/oJR0JYzRYGfQNZ34uweBHxFYRFxkKVAOVacjNXKU9r6yU5H5Pu\nOumE2jvpSWi0YTXV0WF3Zn3/mV4y1jet5+GDD+GZNIQ5foxfsrC3N3bwfuc2nj3xH5w6/w5mzUxL\n3TKCoUkOnztUcOMPofoR8RWERUY+HZmytTZzyTyeywLd3JlefHOxWjMJNZAwCzcQCuIZ8eBsXJfV\nujO9ZBwYepFgeCJlba4xF2vsqee+6YKbeemdX7CqYXVsWzS7WebkCiK+VUI2PZkFAXJ3Dy9Um8h8\nLPBcjskk1APegdjA+SjRRKpsSfeS4Z30pNTogtEkI92LTXtjBxtbN3H47BsJbmpbrV0aaggivtVA\ntj2ZBQFydw8vVIw4Wws838YdmQQsGA7Q3doTK/EJTAcYnUm6OjZ6lB3v2smWlVfkdT/xNbpRrOa6\njC826+zrUSr13+hCJqmVavawUBiS7VwFyHxdIVeilttdPbu47eLb5/zhu1Ax4mx6IidnZkcbdxgN\nKdIfEyWTgC2va8VWa6dr2UZWNazGNX6S8Sk/U+FJjnre5B9eup9XT/86r/tpqm2mu7UHh8VBndmK\nw9LC3Zfdk/H5lnpObilnDwuFIZZvFSDzdYWFpFhTe5LJxgIvpHFHJvf6jnft5IdvP45r7CSvnTlI\nMBzAYrJgrzdGDSoU33tzd0brN5PlGH8/a+2dWVmVpZ6TW8rZw0JhiPhWAdKTWVhI8ikhypb5ErQK\nadyRSdgMFCjFdGQKgIgKMxo4BxqY9RrqzHVpRRaYM/6dT4/nUo7+K8WwC6E4iPhWAdKTWVhISm2d\nxVOo1Z1O2Pa+tcdwOy/fhHt8iJGJ04xPn2c6EqKhpoFQJMQ750/x9d98JRZbjopsk7W5qi3HhfJi\nCMVHxLcKkJ7MwkJTrsHs2VrduSQRxVt53cu7eWrgBAARFZnZqnDUNuPyn6Rr+abYvgrFb4ZfY12a\nsqFqsRwX0oshFBcR3ypBejILi5FsrO5cS6Hirb9VjavpbFqPe8wFGrRYl7FpeTenz58iGA6kNOMg\nQ2vJarEcy+nFEHJDxHcJI7XDQiUwn9WdaxJRsvW3smEVFpOF7tYe7LVG0pV30ksgdD6lGYfVVMfY\n1Bi2Wltse7VZjuXyYgi5UVCpUTAYZNu2bTz++OPFWo9QIqK1wwMDOh6PxsCAzu7dZoaGJINaqCxy\nTSJKHpjQ234VPa2XxoQXwGlbA5HEH38aGhe1XERH45qUYQtiOQrFpiDL92tf+xpNTU3z7yhUHHPV\nDot7W6gk8kkiSrb+0sWMd//20bTdp3RdE8tRWHDyFt/jx4/z9ttvc+211xZxOUKpkNphoVooRhJR\ne2NHrD+zd9LDgaEXsdc007VsY8q+1RLfFaqbvMX3wQcf5G/+5m/44Q9/WMz1CCVgaEjj6FEdl0vH\nalU4nQqbzfjBJrXDQqVRjCSidElbY1NjgEpoZVlt8V2heslLfH/4wx+yefNmnE5n1sc4HPWYzZXV\nDrG11Tb/TosMlwt+9CNwOGBwEM6fhzffhMsug+ZmuPlmaG1NPW4pPqt8kOeUPbk8q9bWSzJOQsqG\n/adepb6hNmFbQ4MFh9XBsvpljAZGaalr4Zq11+Bsyv7nWimQv1PZU03PKi/xff7553G5XDz//POc\nPn2a2tpaVq5cSW9vb8ZjPJ6JjN+Vg9ZWGyMjY+VeRsnZt8/M+LiO2QwXXwxut0YwqOHxKD7+8Sms\nVsXISOIxS/VZ5Yo8p+wp9bM6OXKK88HJlO214Sl2bvjI7IYpKurPUP5OZU8lPqu5XgbyEt+HHnoo\n9vuHH36Y9vb2OYVXqBziY7p2O3R1KUDhcCgpMxIWLdL5Sag0pM53iZFLn+hoHXAoBGazWeqAhaJS\nytF30vlJqDQKFt+77767GOtYkpSjyUW2faLjZwg3NMD587rMEBaKhsvnyqlrVaFI5yeh0hDLt0zE\nixuAx6OVRNyy7RMtdcDCQvLCiRdKPsBAOj8JlYSIb5kop7hl0yda6oCXNtqQmzM/38dL3tc4Vwf2\niy/jyk03F81SHA2kxl8h+wGXVJVSAAAgAElEQVQGmVzWpXRlC0IhiPiWiUoXN5khvHTRhtyc3f0V\ndptfR2lAEHy/dDNw/iQ7f+dPiyJmLXUtuDiVsj1TAlS8qEYiCvf4yVj/5ajL+ro123j25DMlc2UL\nQiEU1NtZyJ9MIpYp8WnvXjOPPFLD3r2l6b/c2xtG0xLXIjOElwY1B17kRf0k8Y4ZP0F+O3CAL/7y\n79n71h6Gxt0FXeOatdegJU0QypQAFW2QMeA7jic4ykvv/JxDI68zNuWP7aNQfO/N3Rld2YJQaYj4\nlolsxa1cAxCiseHOzggtLdDZGZFkqyWC7vUwqgVin/1M8rp+Bs+Ul3OBEQZ8x9l95NGCBNjZ5EwY\nfjDXAIPkqUbBcACFwjXmStjvbGAk+VCgembxCksLcTuXiWpIfIrGhltbYWREkqyWCpFmBy3+OjwE\nATip+Ywxt+aamZm3uSdHxbuNFYrGBgvnz0/RbHHwwfU3zekWThZPq6kO36SPAV9/wlCE5XVpWrMx\ndy2vxIiFciHiW0Yk8UmoRKZ7t7J18DX6dQ9Kg4Bm/B1VTXY67LOtF3NJjoqWFY1N+Tk00kdNrYmL\nm7rw1M4fl01ukOGwttB39nWsJiuBUIBAKIA36GHXpX/KobN9Wdfypuv3LDFioVSI27nCySU2LAjF\nQLV3sHznn7Fz1YdZb3WyrL4Ne/tFbGq/ImEmbrbdoeLdxq4xV+z3br/hNp4vLtvbvjUhPuyZ9NBa\n34bT7qTObMVhcbCptZux6fGsXdnJ64rdu8SIhRIhlm+Fk21TjGTK0cBDWDyo9g7adnyajwDvTrIQ\nIbfuUPEWcjA0G0sOhgNp90kmuUFGQ00DV6x8T8KLQPQcudTyZrqmxIiFUiDiW+FkGxuOp1wNPITy\nsZCxy/m6Q8137Xi3sdVcR2BGgKPx4+g+860hKqp739rDgO94yj659mmWfs9CORHxrQKyiQ3HI92p\nqptchbQUsctMFmU2147vq+y0OfEGDcsyGj/Otcdysfo0S79noZyYHnjggQdKcaGJialSXCZrGhos\nFbemYnHggIlgMDUhS9Ngy5ZIzudbzM+qmBTjOUXFzDM5SjAUwDvp4Y2RPtY1dWKPG/oez/6Bn+CZ\nTLXgxqfG2bh8U0HrmY9srm2vtbOuqZPxqXEsZisXtlzEpas3Ua/bWdWwmg9umDvbOZn482maltc5\ninmehUT+7WVPJT6rhgZLxu/E8l2ESHeq6mWuJKBMscxyxi6zvXay5Vzo7NVi9WmWfs9CuRDxXSTE\nJ1gppRgbU9hsuSVpCeWv+8xHSLONXS7EvUncVBDyQ8R3EZCcYMVMWUZTUwRdl2znbKmEus98xGyu\n2GVUcAd9Axw+dwinzYmt1l60e5O4qSDkh9T5LgLSJVjZbNDSAnfdNc1tt0mWczZUQt1nck0rzC9m\n0Wzk5PpWINYT+fDZPjzBUQ6N9MV6Ihfj3jJdu5LipoJQiYjluwiQLljFoRLqPvMd+p4udrn3rT2x\nl4loTW20J3LXso1Ace6t2uOm5Q41CEsTEd8qYa6mGZJgVRwqJX5ZLDGLF1arqY5AyOjVHN/oYqnH\nZish1CAsTUR8q4D5mmbk0wVLOmClstjil/EvEx12J54RQ4ytZqO5RTXfGxTHYs0nu1wQioGIbxUw\nX9OMXLtgSQes9OTr8q1U4l8m7LVNdLf24Pa72bh8E+vs66v63oplsVZCqEFYmoj4VgGDgxpHjmgE\ngxpWq6KjQ2G3G9v37jXnbL1KB6zMVHv8Mp7kl4nOpg18evPdVSu48RTLYq2UUIOw9BDxrXCGhjQO\nH9bxeIzE9EBAw+NRrF9vxHmVmnnzz8F6lQStxYk25KbmwIvoXg+RZgfTvVtpbzdeJqIu2qf6n6h6\nix6KZ7EutlCDUD2I+C4AxYynHjhgwukErxdU7BQahw7Be9+b2CoyW+tVErQWH9qQG+vuR9Fm/pLo\nnlFMg/0Ed96Ju4lFl1RULIt1sYUahOpBxLfIFDue6vVq2GyK7u4ILtes67muznA9p9t/PvIdUyhU\nLjUHXowJbxRNKWoOvMiBHhZdUlExLdbFFGoQqgcR3yJT7HhqJivVkeEFPxJR88aB8xlTKFQ2uje9\nu1X3evBOpj+mmpOKxGIVqh0R3yJT7Hhqb2+Yvj6dQ4f0mNs5EACHY7Z/s98Pbrc245o2YbVqaJph\nIff16ezaNZ1WgJd6ctViItLsQPekumEjzQ6aLSzKpCKxWIVqRsS3yBQ7ntrerujoSHQ5d3QoNE3j\n7FkNtxsGBnRWrFAoBS6XCVC0tSksFg2v18STT0b44z8Woa0m0iVPqfbMVt1071ZMg/0JrmelaUz3\nbqW3CUkqEoQKQ8S3yCxEPFXXNbq6FH6/wu3WeOMNneFhDbtdEQppTEzouFyKUCj6w9WwhltbDUH+\nzW9MgIhvtTBX8lQmAVbtHQR33plWsNtBXLSCUGGI+BaZQuOp6TKllVK8+qqJgQEdsxlCIZic1Dh3\nTlFfD5oGoZDhdrbZwGQy9omiSQVRVVH75D5OH/01P7eeYrQOHE0r2VpzESsPvMjUbalu1mQrefKD\nN6WItLhoBaGyEPFdAPKNp6bLlO7r0xgf1zh5UiMU0giFYGwMIhHQNA2vV1FbCxYL1NRoBIPQ0ADm\n2J+soqdHspirBW3IzfAvfsx3l52YeasC76if460+7hh1sDzN/rlayYIglB8ZKVgBDA0Znar+63+t\n5fBhHb9/9juXy2iw0damsFoVZrPx//S04drWdUOQJyagvl5RX6+wWCK0tkZwOCL09IS56SYR32qh\n5sCL/Gz5+UR3hQJtzM/P68+k3T9TiZEgCJWLWL5lJt7aHR3VCQTA4zHqeu12CAY1QMPhiACzMd2J\nCeN3ZrNh9U5OgtWq2Lw5wubNYXRdSoiqEd3r4dzyBtTZc4lTfUMhzq5tS7t/pvMIglC5iPiWmfi6\nYKtVEQgYYut2G0lWVqshnB0dCo9HwcyP5GXLIpw/r1Ffr6irg9WrFc3NEb7whSkR2zKgDblh/6tY\nT56aMzt5vizmSLODFr8Dz4pJdL/PCN6bzYQ71tK8Yn3K+eYqMVpIZAauIBSGiG+Zia//dToVXq+G\nUlGLV+F0RgANmw26uyMz9bwaK1caguvxzJYgiZWbO7mW9GQ6h3X3o1Bfi35+MmPcNZv47HTvVrYO\nvkZ/rYdIa9TS1QhfdHHa0qC5SowWCpmBKwiFI+JbZiIRxZEjekxAOzsjeDwaDQ3G76MlStEM6Esv\njbB+fZhnnzVc1atWGT8ANU3xoQ9JbDcXipWsNFfcNT47Odv9VtvX8okjLn5eP8zZNW3YLruKKzfd\nnFbY5ioxWihkBq4gFI6IbxkZGtJwu3W8XqN7VXRiUU9PmF27EntBJ2dPr1wp7SELJVsxnI9YfNXn\nw3T0OFowgLLWoZJqvOaLz8a/DKxu38jtbESNa0zWvBvzTzKLq2rvyGm9hSIzcAWhcER8y8iBA6aY\nO3m2g5Xhfp5PSKU9ZOFkm6yUyTWtv/prrN/bTc3rByE4BXW16NZ645hAANPhN9CG3DGhnC8+m+5l\nQPf7qH/4ISJdG43PFVBKJDNwBaFwRHzLSDTea7MpurriWv9JV4ySkE2yUibX9FR3Dw1f/6qxXTdh\nOnMKwiFYsw5sNhQQ6ehIsKLni8+mexnQXS604ATxwyPzsc6LiczAFYTCKUh8v/SlL/Hqq68SCoX4\n1Kc+xQc+8IFirWtJIHN1i0c+iVPZJCtlck3Xf/Pr6JNBNJ8fQtPGFyYT2rlzhNesIdzhBHtTgqDO\nF59NeRnw+9AH+o1TH3kjdk4obymRTBQShMLJW3x/+ctfcuzYMfbs2YPH4+H3fu/3RHyzIL59ZCSi\nGBszWkJGkbm6uZNv4lQ2yUoZXdNnTqEHArNrAKPtmLWWcNem2Pbkkp+54rMJLwN+H+ZDfejT00Ts\ndnSPB83jIdTdA/amBS8lmg9pVykIhZG3+F5xxRX09PQAYLfbCQQChMNhTCZT0Ra32EhuH2n8yFZo\nmmJw0IRSsHlzhNOn4cABM4ODGsPDOm1tEdatW1xJVcUo8YlSSOLUfMlKmVzTaInN4ZTFAoEJCM2+\nOOVa8hP/MlD7/H+iHC1Mrd+AeaAflEIDTG4XoY3NC1pKJAjCwpO3+JpMJurrjeSSH/zgB1x99dVz\nCq/DUY/ZXFnC3Npqm3+nIrJ/P8w8shihELz9Nsy8x3D2LDz4IKxYAa+/DtPTUFMDW7fCyAj8wR+A\n0zl7vMsFL7wAo6PQ0gLXXJP4fbEo6rNyueBH3yc2oHj4vPE5+eayJTQBDZb02wtd983b4dvfnl0r\nGK0fr74KfvrT2W2mWjCbqOm6hBrnqtgfRmOu99N6CWy+xFj76Izot7bAiRPGIOdlDrj707mftwIp\n9b+/akWeU/ZU07MqOOHqmWee4Qc/+AHf/va359zP45ko9FJFpbXVxsjIWEmvefJkDefPJ8Z4jx7V\nCAZ1zp8Pz3zWGRvTOXIEamuNfScn4fnnI1x/fZh9+yKxLOdkS9rlgr4+Y6pSMS3kYj+r2n37MY8H\nU7aH9u3PK4mo1lyP+fyp1PO11TNV6LqtzWgf+Sg1B17ENDiANnwG1daGNq1g8xZqBvrRAhOounpq\nr9iC7/L3Jt5DntdPuCezFTZcbNxT5wamrM15n7dSKMe/v2pEnlP2VOKzmutloKDBCj//+c/5+te/\nziOPPILNVj1vHOUiXSJVtLlG/GefD6anE0U6HNZi3a2ixLemjKKUEVOuZIrdj3i6d2tKTW0xuzyp\n9o6ZcylobUVTCs1qwTwyzPR7r2TqI7/P9AduBKezaNcMrV+P6chhzAdfwXTkMNqYf8E7VwmCUDry\ntnzHxsb40pe+xHe+8x2am5uLuaZFS29vmMFBLUEwrVaV4Gm1WhWhkE5NzWwfZwCTSREMagkCHi/E\n8WTaXikUux9xIV2eso09J8eVlc1OuLsHgpNEHC3G2m/ejrI253TeTGuyPPsM4Y4OTG6j1EhzuZi8\n+1YZEygIi4S8xfepp57C4/Fwzz33xLY9+OCDrF69uigLW4y0txsu4fjOVNdfP9sqEowGG0ePRlix\nQsMTMwQVdjux/s1RqrVUaSH6EUcTp6KiZ3nqiXlFL5cs6XRWubLZiaxpIXjXLmNDqw1GxnI6bzqR\njgm9vYlwV1NsX3N/P1Nbrsj7GQmCUDnkLb633347t98upQa50t5uCGhUgPv7TVx3XYj+fuNzZ2eE\nrVun+N73arHZNMbHNRobobk5wt13J04sSmdJV0Op0kL1I8615CglS9rvw+x2Uf9f/57p918/Zw2u\nNuZHd7nQGxqo3bvHeHFovST9eUmffZ1pvZmQMYGCsHiQDlclJjlJyuPRGBzUUpKkurun5u3dnM6S\nrpZypIXoRxwTPb9vxl1r9FiufWIfk5/6dIqVaRocmD14pq5WA7RgEDVwPEG4o9a67vdhOnoU07G3\nYGqKcEc7lvPjmPpeg8//FVibs45pZxJpRkagtTXl+HLX9gqCUDxEfEvMXElS8b2as+3dXGk9notZ\nv5sruteTIKIAWiCI5Sf70Hxeag6+AlYrEafTsDKPHCbc0QH2JkOsZ45R1jrj2DhrVbV3MHndNuof\nfgjddRLOn0ez1GIaHiaiNGo8Hnj8cbRrPoB+9C3MrkGUtS6hK1WyeGYSadW2AlAlHRMoCEJpEfEt\nMdWaJJUNxRrRly+RZgc1L/6M+CepTU2i+fxY/uMn0NAAgQl0r9EpKuJwUPPLX6KWL0M7dQqtvg5l\nMcQ5iu71xF4oap//T+PcGmgNDcz8Fs3vB6sVXngB69AZNKsFLTiJFgjGulKpptTGGJkSz8LrOmOx\n33K8xAiCsPCI+C4w8e0km5sVkUhiFnOUSk+SyoZ8O00NjbuL0id4uncrlsf2JF7f5yditxulOjOC\niVKYjh5FmwyiGupRVisaCnx+Qr/ThbLZY8crpWIvFPq5EbRAEN3jAbPZ+B+MgQoAw8NoGy5G2eyE\nuntmhiIEYHIq7QvIXIlnpR4TKAhCaRHxXUDSxXfHxgAUNlt1JUllQz71u++8/Wv2/OIhmInPep1O\nBn397Oy6M2cBVu0dTF13A7UHfhGL96JpoBQqlNhaTD9zCtXUjHI4CHdtItzhNHopezxEGhvRXS4I\nBsHRgrZ8GcpmR1nr0AJBVGMjms83K74ms3GdFW2za7HZCc+MAYw4WgCo3bsnxZJdiMQzQRAqHxHf\nBSRdfNdmM6xch0MtSJJUsqVdygSsXOt3tSE3v/7xQ2i6cYwWDMRcwgeGXsyrcf/Uh25G93lnrckj\nh9E8o4Q2dWMe6J/1OShQYMRkAexNhrXqdqMfOwpWK+ELLsD89lG0U0OEunsIdzjRPB7UsmVGX1Br\nHSo0TXjNWsIXXUztJReC+3TKmuKtZ0h1x4uFKwhLDxHfBSRTHFfTNG67bTqnc2UjqtlmUi8Uudbv\n1j6xD9/pfnRtAsxmIvYmsFjQXS68revmvFamxK5kazLcexW66wSazU6osRGT27BoI+0dqNramazo\no7HkqEhrW0KmcdTa1V0uwl0bCXX3YHK7UCtXEVnehmpbEYvRNixrRD38tZT717xezEcOxazxcIcT\nzd5U1pm8giCUFxHfBSRTEwylFHv3mrO2TrMV1WwzqReKXNyo2pCb2ueeYVnzFN76EEyH0ANBIitW\noAUDOCZUWjdt9Ni5LMlkazJeqEOXXs5071a006do/If7Y+fQAkE0r5fp7p6EiHzU2tWCM+MD7U2E\nNjanTyJrtaXcf2j9ehr+2z+hByZmrzOThCV1u4KwdBHxXQCiVurgoMaRIxodHUaHKoCxMRgbm+3R\nnI11mq2oVkImdbZu1JoDL4LVytWjdo7XBUDT0ADd7yNib+b9Pz+BWRnilCyuyYld2pgfk8tFwxf/\nnqlrr08R/HRrqjnwIuGZpCjd6zFKhxoaMB8+TGTjxtmkqxl3NJNTsTaSc8Vlk69Vu3ePkQkdmB0s\nEhsNeOnl8z4nQRAWJyK+RSbZSnU6weXS2LjRmMk7Ogo+n47fD263Fhus8MQTJj71qfTWabaiWk3t\nJnWvh4jTScchD58cWsHPWvx4akI0TdfyXq7AOUfWtO71zHaY8nrQ3hlCQ6FqatFmGl4Ed/3ZnIlL\nutdjtId0Og3xra83ZuaGQ5gO9RHu7okJsGrKYOnmcJ+615M4ljAYlLpdQVjCFDTVSEgl2Uq12RRd\nXYp164xmGLqu4ffDoUM6Ho9OIKDh8eg895yZoaH0IptJPJO39/aG0bQk0arQTOpIsyNWkrO6fjX/\nr3ctnx7bxP/T/TGc5vQJWlE3rVJqJjN5FP2dIUznzqKfG4WpKXSPh5q+16l9Yt+81weMrOb4GK3D\nQWhTN2pmYEKoc0NBdcrx9xlxtKDq6og4Wpi67gbJahaEJYyIb5GZz0ptbla43RrJtb5WKxlHAWYr\nqtF2k52dERwORWdnpGTJVrmSbgwgwPSWd2fMjo40O9CG3JheO4j2zhD6yLBR8oMW/Q+MT9T0vZbV\n9WOxXOKyn+1NRC66mOBdu2LdrfIlep1o6VHo8ncT2riJqQ/dnPc5BUGofsTtXGTmc/329oZ57LFE\nkdU0Y5pRJuHOpYdztbSbjG/XqAUnZrKAO7A8+wyT121LmzUdWr8e6+5HMXvOoRwt4PejTU2izGao\nm6npje4/z/tGNDlM6++n5tQhQEOtXBH7vlh9lKWWVxCEdIj4Fpn5Jg21tyuuuy7MgQNGvFfNqMSx\nYzrBoBEzrgZRjSeTwM6XlWzu7yfStZFI/LmUwtzfn1awoolWylqHZg2grFZUODTT8KJmtumFphHa\nfFl2i1++HBwtoBR6cBLtUB/TPZcWNR4rtbyCICQj4ltksrFSP/ShMD6fht+vc+iQPmOlKSwWxe7d\n5oQRg6VslJHPUIS5BHa+dpNzdcRKJ1jR/eMTmCIty9BCITRrHZEmO0xMGG0klbG2uebn6kffAktt\nQitIZa0j4lwrlqkgCAuKiO8CkMlKjW+U0dSk6O8Hq1XFrN+339ZRSvHKK7Vs2WJsSy5FGhrSeOIJ\nE319JpSCzZvDfOhDhYvzXCIanVObjrkENkVc/T5Mx96i5pn91D7/n0af62Utsak/UeaK+eqe0ZTe\nyaHODYQ711Nz8NdGZ6oOJyafB+vuRxOSpZLv0ew6AYGA0b1qphUkGE1QovuLu1gQhIVAxLdEJJcg\ngYbHo7FyZYSBAZ1outDIiE4oBBdeGIrVBkdrent7w3z962b6+kyx/d95R8fl0tm1a7ogAZ5LRNmc\nWXzntF6VwnTksGFRKtDPDhtDCax14HZhmppEDRwn9O4rAGLdp8IziVVZDSJAI7TZqJcNX/7utOuP\nWtDJ96isdeiBACa3i3DX7AtANLGrnBOaBEFY3Ei2c4lI1yjDaoU33pgVXjBaBpvNzGREz+L1GgLs\nciXurxS4XHrGTOlsyWcoAmS2UpVSRltHzyhaIIDp5AlMbjdaOIxqmnmrqLVAUxOcG8X09tuARuTC\nizB5DatVG3InnnMmeSnc7DD6L6MIX3ABJp+H2ueeAb9vzvUn30vE6TSae8RnPM+0w5zzZUQQBKFA\nxPItAUNDGs89Z2J0VMdqVTidCpvN+PXYMY3opDswhLeuDgYGjASsqEt6+XKFUulLmYJBreAuVrkO\nRYiSqZ8zCqOf8kwvZNPZETCZUBYLqtYSv3hqXIOoRhvxUpduFGHUDVzz+mtgrTPEM9qJympNsWCT\n1598j1H3dbSmN961nO/LiCAIQjaI+C4wr76q8fDDtQwM6ExPazQ1aXi9iu7uCDab4tJLYWKCWKer\nFSsivPKKCYsFfD6NoSGdyUnFunURwmFjm92uEQhAKKRhNiuczkjBXaxyHYoQ2ydDKY3lqSeMHexN\nhiAGAmg+n/G/yYyy29FC0+hnhg1D3mZHNdljU42UzZ4gdPFu4Nhc3bh9I07njDUct7ak9ae7x4i9\nieCuVFdyvi8jgiAI2SDiu4AMDRnC6/HoWK1GX+dgUGPFitmWk3/4h9M8++xsLPjIEZ22tghNTQqX\nS2dyEsxmQ4RrasDvh7NnNRwzGhAKGdvWry+si1Uh9ajpMpMTxMtviC66bvRvngzC6XE4P4Gqr0NZ\nrOjBAFowQGTFitgEoXihi3cDKwX68DCEQ5jHzzP93vei7E1G1yhHS8b153KP+b6MCIIgZIOI7wJy\n4ICJYNAQVasVWlsVfr9iYgIaGlQsg3nlytnSpIYGxbvfbQxiOH0aLBaNiQkjA7e2FnQdwmGjLKm2\nVrFypeLCCxX9/Sa2bMmuDniuxhfFqkeNFy+T24VmsRBpbydcazX6Mfu8KIsVtbrDGHY/cgYtFEZ3\nu9H8fgCC198QO1/MCp4Rcm0yiAYovxfzTG3u1P/3sYTM5poDL2IaHEAbPoNqayO8bj3TvVuzukdp\njiEIwkIi4ruAeL2GKzkQmBVgq9WI6V577Wx5UHxp0t695pnsZ4PJSSPb2WSKWmAa9fWKiy+O0NWl\nEq6VDQudxZsg7E3NoMCk6UZM1emMDSswH3wF7dQpsBjx30hzC/qQGw2I1NXHul0FV65CtXfELOmY\nkLetQPf7UDW1KEdLQm1u7B59hjBrAMfeIuT35XSv0hxDEISFQrKdF5DmZkVHhwIS47FWayTjsIP4\nPs4rVyoiETAacBjf67qisZGYRR1/rWxYyCzeqOiZB44bQun1oPu9TL13K+GuuDF9GGU+kZUrYk9G\nDwbQGhqILFvO9HuvBHtTwrpSejHPCPD01dcQ7tqYUJtb99A/U/Pqr6j55UtoweDMBZVRFywZy4Ig\nVABi+S4g0VaT3d2RhPGBd989lbEmN9oh68knTdTVaVgsESIRHbPZaMjhcChqa43fR8llclGmbF3T\nYH/G4fXZEi/s0ZF/WjBA2LEMtXw52GyxfcPONSjUrFv67AjKbCbS2or57WMznaacs5OMor2Yh4cx\nu07Evo8Kenxtrtl1wkjI8vsgNE2kdQVYrTHhloxlQRDKjYjvAhLfanLt2sRWkfHdrtK1kPT5NLq6\nFM3NYX71KyOz2emMcNFFhiXd0RFB13NvP5kuizcmlAW6oqOipo35MR/qi003MHGW6eXLUGhGDFaD\n6Z7LmH73u43+zms7idQ3YB44briIAwG0QAD99Ck4dw7rI1+PvRAE7rk3wW0OqbW5ylqH7vOiTQTQ\nJoMwFUI5O4g4WmLPQBAEoZyI+C4w6VpNJne7im8hCfDQQ7W4XIaV3NFhDGJwuzXq66GnJ1xQr+d0\nWby6y0W4I6kHcpo62/mICnvKjFxrnTEw4cgbhvsZMPk86M8+ExN4yze+hmnIjTY5aVisgQDaxISR\nlLWuM+GFIFMiVKz3s8OBue83oGsQCRsCfOYMkXd1ScayIAgVgYjvHKSzToGsRvvNRbpuV0ppPPmk\nCZ9Pw+XSCQQgENDweIya4K4uw+Vc6GSjdFm8StPRVCRl31zdszFhTzMj1+R2zcZfZ4gXeE3XCHWu\np+blXxqTiqamwWLBdOodwmN+lM2esP/UbbfHkrssTz1h3EfMcvfMJmSZTShNJ9LhRJlrpD2kIAgV\ngYhvBtJZp319OqCw2VIt1lwEOFNm8m9+Y2LdOmPQQrTHs9msceyYYssWVXAjjSjJWby1e/dgHjie\nsl+u7tnEuOzgzIxeYzi9FjyKstanHBOzVpsd1Hg90NZmJGGdegdtptdmtO43fv90WdtqzA/MJGVZ\nLERajXOFunvA3kTE0SLCKwhCRSDim4F01qnRV1kllPhEhx7kYpE2NytOntRxuWaTsJxOhabB2JiG\n36/FsplDIaPV5EUXhbJOqsqVfBtKZKoXTheXjVjrUU5nyjmiAj/duxXLY3tmvzCZIRRCNdkTLOno\n/mmztm12wk0OCAZTxB+/D31kJCF+LEIsCEK5kFKjDGTqoZxc4pNp37lYvz7MoUPGVKNAwLCgDx3S\nWLcujMtlNNNYsUJhMtM2zRwAABeZSURBVCmCQZia0jh3buH+qKIWa6hzAxFHC6HODfO6Z5PLiswD\nx2PDENKdb+Lue4gkjQ6MF3jV3sHUdTcY1mldHeE1awmvWIGqtaCsdSn7Z3KJa7pG4J57md7yHsJd\nm2LCa37jEJrVkrJWQRCEciCWbwaamxUeT/IUotSa3ei+udDfb2LTpsTyo44Oo6tVNCwaiSjCYeO7\ntjbF6KjO7t3mnF3c8cRbqkopY/iBrsUsw

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
K-Means聚类算法是一种无监督的聚类算法,广泛应用于数据分析和机器学习领域。该算法的目标是将数据集划分为K个不同的类别,使得同一类别内的数据点相似度高于不同类别之间的相似度。[1] 算法的流程如下: 1. 随机选择K个初始聚类中心。 2. 将每个数据点分配给与其最近的聚类中心。 3. 根据分配的数据点,计算每个聚类的新中心。 4. 重复步骤2和步骤3直到聚类中心不再发生变化或达到预定的迭代次数。 在实际运行中,我们通常会多次运行K-Means算法以获取更好的聚类结果。根据不同的数据集和问题,可以使用不同的优化变体方法,如初始化优化、距离计算优化(例如elkan K-Means算法)和大数据情况下的优化(例如Mini Batch K-Means算法)来提高聚类效果和算法的速度。 如果你对使用C语言编写K-Means算法感兴趣,你可以在作者的Github仓库"K-means-for-Cluster-algorithm"中找到完整的代码链接。在该代码中,作者使用了一组样本数据进行示例,将数据点分为三个不同的类别,并计算出了每个类别的质心坐标。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [K-Means聚类算法---C++](https://blog.csdn.net/qq_40464599/article/details/126701018)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.239^v12^insert_chatgpt"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值