{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "UqHcRqQPlsd3"
},
"source": [
"# 머신 러닝 교과서 3판"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "d_mMtNoelsd5"
},
"source": [
"# 11장 - 레이블되지 않은 데이터 다루기: 군집 분석"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "LQlvShEtlsd5"
},
"source": [
"**아래 링크를 통해 이 노트북을 주피터 노트북 뷰어(nbviewer.jupyter.org)로 보거나 구글 코랩(colab.research.google.com)에서 실행할 수 있습니다.**\n",
"\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ECqHPRxylsd6"
},
"source": [
"### 목차"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "7zROhiCUlsd6"
},
"source": [
"- k-평균 알고리즘을 사용하여 유사한 객체 그룹핑\n",
" - 사이킷런을 사용한 k-평균 군집\n",
" - k-평균 ++로 초기 클러스터 센트로이드를 똑똑하게 할당\n",
" - 직접 군집 vs 간접 군집\n",
" - 엘보우 방법을 사용하여 최적의 클러스터 개수 찾기\n",
" - 실루엣 그래프로 군집 품질을 정량화\n",
"- 계층적인 트리로 클러스터 조직화\n",
" - 상향식으로 클러스터 묶기\n",
" - 거리 행렬에서 계층 군집 수행\n",
" - 히트맵에 덴드로그램 연결\n",
" - 사이킷런에서 병합 군집 적용\n",
"- DBSCAN을 사용하여 밀집도가 높은 지역 찾기\n",
"- 요약"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "qa9AH03Alsd6"
},
"source": [
"
\n",
"
"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"execution": {
"iopub.execute_input": "2021-10-23T10:43:42.673735Z",
"iopub.status.busy": "2021-10-23T10:43:42.672737Z",
"iopub.status.idle": "2021-10-23T10:43:42.675419Z",
"shell.execute_reply": "2021-10-23T10:43:42.674810Z"
},
"id": "5e8TX0F_lsd6"
},
"outputs": [],
"source": [
"from IPython.display import Image"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_jp38ToZlsd7"
},
"source": [
"# k-평균 알고리즘을 사용하여 유사한 객체 그룹핑"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "QUiYlcuHlsd7"
},
"source": [
"## 사이킷런을 사용한 k-평균 군집"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"execution": {
"iopub.execute_input": "2021-10-23T10:43:42.682177Z",
"iopub.status.busy": "2021-10-23T10:43:42.681039Z",
"iopub.status.idle": "2021-10-23T10:43:43.241935Z",
"shell.execute_reply": "2021-10-23T10:43:43.242402Z"
},
"id": "jbzyHg5Elsd7"
},
"outputs": [],
"source": [
"from sklearn.datasets import make_blobs\n",
"\n",
"X, y = make_blobs(n_samples=150,\n",
" n_features=2,\n",
" centers=3,\n",
" cluster_std=0.5,\n",
" shuffle=True,\n",
" random_state=0)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 487
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:43.248642Z",
"iopub.status.busy": "2021-10-23T10:43:43.247389Z",
"iopub.status.idle": "2021-10-23T10:43:43.612366Z",
"shell.execute_reply": "2021-10-23T10:43:43.612836Z"
},
"id": "ROCmGQl9lsd8",
"outputId": "e8c9d44a-76dc-4c61-c3a8-5bfbde5c081b"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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eDxwOBxYtWqV1sMxtb6+PqxZswaXLl3CrFmzsH//ftjtdq2HlXecsdOBRx55BBaLJeN/E3/IffTRR/jSl76Ee++9F3V1dRqN3LiyqTkRUa4aGhrw9ttv4/nnn9d6KKa3YsUKHDt2DL/4xS9QX1+PzZs3491339V6WHnHGTsd2LZtG/7qr/4q42NKS0uT///s2bO4/fbb8YUvfAGdnZ15Hp05ya055cecOXNgtVpx7ty5cR8/d+4c5s+fr9GoiPJj69atePHFF/HGG29g4cKFWg/H9KZPn47rrrsOAHDzzTfjl7/8JZ5++mns2bNH45HlF4OdDlx11VW46qqrJD32o48+wu23346bb74ZP/jBD1BUxEnXbMipOeXP9OnTcfPNN6O3tzd58348Hkdvby+2bt2q7eCIFCKEQGNjI/bv34/XX38dS5Ys0XpIBSkej+Py5ctaDyPvGOwM5KOPPsK6detw7bXXwufz4be//W3yc5zdyJ9f//rXuHDhAn79618jFovh2LFjAIDrrrsOs2bN0nZwJtDS0oLNmzfjc5/7HG655Rb4/X588skn+NrXvqb10Ezr4sWLeP/995N/PnPmDI4dO4bZs2fjmmuu0XBk5tTQ0IB9+/bhwIEDKC4uRn9/PwDg05/+NGw2m8ajM6dHH30UGzZswDXXXIOhoSHs27cPr7/+Ol555RWth5Z/ggzjBz/4gQCQ8j/Kn82bN6es+c9+9jOth2YabW1t4pprrhHTp08Xt9xyi3jzzTe1HpKp/exnP0v5nt68ebPWQzOldNftH/zgB1oPzbQefPBBce2114rp06eLq666Stx5553i1Vdf1XpYqmAfOyIiIiKT4A1aRERERCbBYEdERERkEgx2RERERCbBYEdERERkEgx2RERERCbBYEdERERkEgx2RERERCbBYEdERERkEgx2RERERCbBYEdERERkEgx2RERERCbBYEdERERkEv8PuxaBC+aMLmsAAAAASUVORK5CYII=\n"
},
"metadata": {}
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"plt.scatter(X[:, 0], X[:, 1],\n",
" c='white', marker='o', edgecolor='black', s=50)\n",
"plt.grid()\n",
"plt.tight_layout()\n",
"# plt.savefig('images/11_01.png', dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"execution": {
"iopub.execute_input": "2021-10-23T10:43:43.618756Z",
"iopub.status.busy": "2021-10-23T10:43:43.617747Z",
"iopub.status.idle": "2021-10-23T10:43:44.142684Z",
"shell.execute_reply": "2021-10-23T10:43:44.143242Z"
},
"id": "6t8fxe8hlsd8"
},
"outputs": [],
"source": [
"from sklearn.cluster import KMeans\n",
"\n",
"km = KMeans(n_clusters=3,\n",
" init='random',\n",
" n_init=10,\n",
" max_iter=300,\n",
" tol=1e-04,\n",
" random_state=0)\n",
"\n",
"y_km = km.fit_predict(X)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 487
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:44.147813Z",
"iopub.status.busy": "2021-10-23T10:43:44.146671Z",
"iopub.status.idle": "2021-10-23T10:43:44.340066Z",
"shell.execute_reply": "2021-10-23T10:43:44.340856Z"
},
"id": "uH6KDjPglsd8",
"outputId": "1066a17c-1b29-459b-d28f-62380729a97f"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdSpJREFUeJzt3XlcVOX+B/DPmQFxEBBNxQ13cdfUXBDBXbTy55Z17dp2u95M1FxvWrdQy6w0tdyrW3Yz0dTETMWtXPC6Jdc2UZBUEtfcAEHAmfP7Y5wRmBmY5cyZc2Y+79eL142ZM2eeeeDGp2f5PoIoiiKIiIiISPU0nm4AEREREUmDwY6IiIjISzDYEREREXkJBjsiIiIiL8FgR0REROQlGOyIiIiIvASDHREREZGXYLAjIiIi8hJ+cr+hwWDAxYsXERwcDEEQ5H57IiIiIlURRRE5OTmoXbs2NJqyx+RkD3YXL15EeHi43G9LREREpGp//PEH6tatW+Y1sge74OBgAMbGhYSEyP32qlRUVISdO3eif//+8Pf393RzfAL7XH7sc3mxv+XHPpeft/R5dnY2wsPDzRmqLLIHO9P0a0hICIOdnYqKihAYGIiQkBBV/2KqCftcfuxzebG/5cc+l5+39bk9S9i4eYKIiIjISzDYEREREXkJBjsiIiIiLyH7GjsiIiKSjsFgQGFhoaeboUhFRUXw8/PD3bt3odfrPd0cm/z9/aHVaiW5F4MdERGRShUWFuLs2bMwGAyebooiiaKImjVr4o8//lB87dzQ0FDUrFnT5XYy2BEREamQKIq4dOkStFotwsPDyy1c64sMBgNyc3MRFBSk2P4RRRF5eXm4evUqAKBWrVou3Y/BjoiISIXu3buHvLw81K5dG4GBgZ5ujiKZpqkrVqyo2GAHADqdDgBw9epV1KhRw6VpWeV+SiIiIrLJtGasQoUKHm4JScEUzouKily6D4MdERGRiil97RjZR6qfI4MdERERkZdgsCMi1cnPz8eVK1eQn5/v6aYQkZsIgoDExERPN0N1GOyISDWSk5PxxPBhCA4OQs2aNREcHIQnhg/DwYMHJX8vhkfyZunp6UhJSSn3Kz093S3vf/nyZYwfPx6NGjVCQEAAwsPDMWjQIOzZs8ct77d3714IgoBbt2655f4AMGfOHHTr1g2BgYEIDQ112/uUh7tiiUgVli9fjri4OLSoq8X8kQY0DgMyrhjwyb4tiI5OxLJlyzBmzBiX3yc5ORmLFi5A4ubN0OsN0Go1GDJ4MCZNnoKoqCgJPgkpTX5+PrKzsxESEmLenejN0tPTERERYff1aWlpaNq0qWTvf+7cOURFRSE0NBTz5s1DmzZtUFRUhB07diAuLg6nTp2S7L2kJooi9Ho9/Pws41NhYSFGjBiByMhI/Pvf//ZA64w4YkdEipecnIy4uDiM7y/il3fuYeJAYFAHYOJA4Jd37mFcPxFjx451eeRu+fLliImJQeqxLZg/0oBvpwDzRxqQemwLoqOjsWLFCok+ESmBnCPASpKTkwMAGLVyFKb8MMXm16iVo0pcL5WxY8dCEAQcPXoUw4cPR0REBFq1aoXJkyfj8OHDVl9jbcTtxIkTEAQB586dAwCcP38egwYNQpUqVVCpUiW0atUK27ZtQ2ZmJvr06QMAqFKlCgRBwPPPPw/AWA5l7ty5aNiwIXQ6Hdq1a4cNGzZYvO/27dvRsWNHBAQEIDk52WobZ82ahUmTJqFNmzaud5ILOGJHRIq3aOECtKirxcJR91C6FJVGAyx6BtiTqsWihQudHlUrHh5Lv8+E2HuY+KXxD1KbNm04cucF5BoBVrKwiDCEtwuX9T1v3LiBpKQkzJkzB5UqVbJ43pUpzLi4OBQWFmL//v2oVKkSTp48iaCgINSpUwfr16/HiBEjcPr06RIjs3PnzsXq1auxYsUKNG3aFPv378eoUaNQvXp19OjRw3zv6dOnY/78+WjUqBGqVKnidBvlwGBHRIqWn5+PxM2bMX+kwSLUmWg0wOge9zA1YRPy8/Odmk6TIzySMjDEe86ZM2cgiiKaN28u+b0zMzMxfPhw84hZo0aNYDAYkJ2djapVqwIAatSoYQ6PBQUFeOedd7B7925ERkaaX5OcnIyVK1eWCHazZ89Gv379JG+zO3AqlogULTs7G3q9cUSlLI1qAHq98V/ijjKFx9E9LEOdiSk8bkrcpPoNFfn5+ebji3zRgxAPmyG+RV1jiCdpiaLotntPmDABb7/9NqKiohAfH4+ff/65zOvPnDmDvLw89OvXD0FBQeav//znP8jIyChx7SOPPOK2dkuNwY6IFC0kJARarQYZV8q+7vergFarQUhIiMPvIUd4VILia8pMi+GffWaU168pK87XQrzSNG3aFIIgOLxBwnQcWPFgWPqEhr///e/4/fff8cwzz+CXX37BI488giVLlti8Z25uLgBg69atOHHihPnr5MmTJdbZAbA6baxUDHZEpGg6nQ5DBg/GJ/v8YDBYv8ZgAD7Z54ehQ4Y6NQ0rR3j0tNIbQ9aONz5+OmW7T20M8ZUQr1RVq1ZFbGwsli5dijt37lg8b6scSfXq1QEAly5dMj924sQJi+vCw8MxZswYfPPNN5gyZQo+/fRTAA+OXTMdwwYALVu2REBAADIzM9GkSZMSX+Hh8q49lBKDHREp3sRJk5F6QY9Jq2ER7gwGYOKXQOoFPSZOmuTU/eUIj55kbVfxwHbG5w69Kd2uYjXwhRCvdEuXLoVer0fnzp2xceNGpKenIzU1FR999JF5rVtpprA1c+ZMpKenY+vWrfjggw9KXDNx4kTs2LEDZ8+eRUpKCn744QfzWr769etDEAR89913uHbtGnJzcxEcHIypU6di0qRJ+OKLL5CRkYGUlBQsXrwYX3zxhcOfKzMzEydOnEBmZib0er15BNA0MigXBjsiUrzu3btj2bJlWLxTQJvX/LBoO/DtcWDRdqDNa35YskvAsmXLXFro7u7w6ElcU/aAt4d4NWjUqBFSUlLQq1cvTJkyBa1bt0a/fv2wZ88eLF++3Opr/P39kZCQgFOnTqFt27Z477338Pbbb5e4Rq/XG3c6t2iBAQMGICIiAkuXLgUA1KlTB7NmzcL06dMRFhaGcePGAQDeeustvPHGG5g7d675dVu3bkXDhg0d/lxvvvkm2rdvj/j4eOTm5qJ9+/Zo3749fvzxR4fv5QruiiUiVRgzZgzatGmDRQsXYmrCJnPx4KFDBuPjhEku7140hcexY8di90ktRve4h0Y1jCM3n+zzQ+oFvcvh0RPk2lWsJhMnTUZMTCImrYZF2C0e4j9OUF+Id8SVtLKHLct73hW1atXCkiVLylwDV3qjRVRUlMWGiOLXLF682OIepl2xAPDGG2/gjTfeKPG8IAh45ZVX8Morr1htQ8+ePe3e8LFq1SqsWrXKrmvdicGOiFQjKioKUVFRbjspwN3h0ROcWVPm7cHOW0O8vYKDgwEAq19a7dD1pA4MdkSkOjqdzm3hw93hUW4P1pTZmHe8z9fWlHljiLdX06ZNkZaWZteJEsHBwZIeJ0bux2BHRGSFO8OjnB6sKduCCbHWS3w8WFM22Cs+s728LcQ7gmHNe3HzBBGRl/PmjSFS0Ol0CAsL85lQR96NI3ZERF7O2pqyhrUARAGRs/1w4ozru4qJSBk4YkdE5APGjBmDAwcOoGXnwZiaoMHI+5sRm3d8DAcOHPD6A+/tkZ+fjytXrvC0CVI1BjsiIh8RFRWF9Rs2ICcnF+np6QCAL/7zH/NIna8Gm+JHrdWsWRPBwUF4YvgwnyjYTN6HwY6IyMfodDrUqFHD/L0vB5vSR619OwWYP9KA1GNbfOqoNfIeDHZERD7s3//+t88GG2tHrQ3qAEwcCPzyjm8dtaZEgiAgMTHR081QHQY7IiIfNmXKFJ8NNjxqzXMuX76M8ePHo1GjRggICEB4eDgGDRqEPXv2uOX99u7dC0EQcOvWLbfc/9y5c3jxxRfRsGFD6HQ6NG7cGPHx8SgsLHTL+5XFoWA3c+ZMCIJQ4st0wC4REalPszq+GWxMR62N7mG9th/w4Ki1TYmbvH7doZzrK8+dO4eOHTvi+++/x7x58/DLL78gKSkJvXr1QlxcnNvf3xWiKOLevXsWj586dQoGgwErV67Eb7/9hoULF2LFihV47bXXZG+jwyN2rVq1wqVLl8xfycnJ7mgXERG50d27dwEAz0X5ZrBx5qg1b+SJ9ZVjx46FIAg4evQohg8fjoiICLRq1QqTJ0/G4cOHrb7G2ojbiRMnIAgCzp07BwA4f/48Bg0ahCpVqqBSpUpo1aoVtm3bhszMTPTp0wcAUKVKFQiCgOeffx6A8SzZuXPnmkfa2rVrhw0bNli87/bt29GxY0cEBARYzT0DBgzA559/jv79+6NRo0b4v//7P0ydOhXffPONNJ3mAIfr2Pn5+aFmzZruaAsREcnEFFQa1ij7Om89Q5ZHrRk3jsTFxaFFXS3mjzSG3IwrBnyybwuioxOxbNkyycvg3LhxA0lJSZgzZw4qVapk8XxoaKjT946Li0NhYSH279+PSpUq4eTJkwgKCkKdOnWwfv16jBgxAqdPny5xwsjcuXOxevVqrFixAk2bNsX+/fsxatQoVK9eHT169DDfe/r06Zg/fz4aNWqEKlWq2NWe27dvo2rVqk5/Hmc5HOzS09NRu3ZtVKxYEZGRkZg7dy7q1atn8/qCggIUFBSYvzf9y6SoqAhFRUVONNn3mPqJ/SUf9rn82OfyCgwMBACcu6FDWT1+9gYQFKRBYGCgV/1s/Pz8MOKJJ/CfI9vxchlHrf3niB+eHPEY/Pz8XP78Uv+OFxUVQRRFGAwGGEofKVKO4htHFo4q+fknxN7DxC+NI2utWrWStHB1WloaRFFERESEXW02fTbTtaX/ufhjmZmZGDZsGFq1agUAaNCgAURRRE5OjjmMVatWzRwe8/Pz8c4772Dnzp2IjIw0v+bAgQNYsWIFoqOjze8xc+ZM86hf8fe25cyZM1i8eDHef/99u382BoMBoiiiqKgIWq22xHOO/M44FOy6dOmCVatWoVmzZrh06RJmzZqF6Oho/PrrrwgODrb6mrlz52LWrFkWj+/cudP8Lxayz65duzzdBJ/DPpcf+1xe9R//DNvKeL7BEGD1EOD777+XqUXy+cvIp4GRTyOpjGvi5xn/d9u2snrJMVL9jptm0HJzcx1epP/B/HloUUdrEeqAB+sr95zU4oP589CmTRtJ2gsAubm5AGA+n7c8puvy8vIAADk5OdDcb/CdO3fM98zOzsbf//53TJkyBdu3b0fPnj0xaNAgtG7d2nyf0q9PTU1FXl4eYmNjS7xnYWEh2rZtW+J9mzVrZvd0/MWLF/H4449j8ODBeOqpp+x+XWFhIfLz87F//36LdXymdtjDoWA3cOBA8z+3bdsWXbp0Qf369fH111/jxRdftPqaGTNmYPLkyebvs7OzER4ejv79+3vl0LY7FBUVYdeuXejXrx/8/f093RyfwD6XH/vcukOHDmH5sqX4butW6PUGaLUaPP7YYxgbNw5du3Z1+r6m/n7xxRfxbGQe5j5VcgOFwQBMXwt8/IOApKQkl95Lbnfv3kV2djZCQkJQsWLFMq/97LPPMHnyZDSro8VzUffQoDpw7hrwxUE/nM7SY8GCBfjb3/4mSbuk/h2/e/cu/vjjDwQFBZX7OYvLz8/H1m3bMH+koez1lT3vYWrCVvj7+0s2Df/www9DEARkZmbalQF0Oh1CQkIQFBQEAAgKCjK/rkKFCiUeGzduHAYPHoytW7di165d6N27N+bNm4fnnnvO3P7g4GCL992yZQvq1KlT4rGAgACEhISYB6Bq1qxpV3svXryIIUOGICoqCp999pk5RNrj7t270Ol0iImJsfh5OrLG06WzYkNDQxEREYEzZ87YvCYgIAABAQEWj/v7+/Nf3g5in8mPfS4/9vkDxddAvTXk3v01UMAn+75Bj6/XS7IGas6cOXj55Zex4yfjGbKNahjXlX2yzw+pF/RYtmwZoqOjJfpE7pWcnIxFCxcgcfNmcwgeMngwJk2eYnM68aWXXkLr1q2xaOFCTPlyk/l1Q4c8isWfT3LL+blS/Y7r9XoIggCNRuNQgMjNzXVo40hubq7V9XDOqFatGmJjY7Fs2TK88sorFve9detWiXV2ps8WFmZs7JUrV/DQQw8BAH7++ecS1wBA/fr1MXbsWIwdOxYzZszAv//9bzz33HPmHCKKovna1q1bIyAgABcuXECvXr2sttd0rT19nJWVhd69e6Njx45YtWqVxXRqeTQaDQRBsPr74cjvi0vBLjc3FxkZGXjmmWdcuQ0REZVi7xqoNm3auBQ+/va3v5mDzdSE4sFmMD5OcE+wcQdXNgJERUUhKirKPO1XfHG9N/L0xpGlS5ciKioKnTt3xuzZs9G2bVvcu3cPu3btwvLly5GammrxmiZNmiA8PBwzZ87EnDlzkJaWhg8++KDENRMnTsTAgQMRERGBmzdv4ocffjCXZKtfvz4EQcB3332HRx99FDqdDsHBwZg6dSomTZoEg8GA7t274/bt2zh48CBCQkLw3HPP2f2ZsrKy0LNnT9SvXx/z58/HtWvXzM/JveHUoWA3depUDBo0CPXr18fFixcRHx8PrVaLkSNHuqt9REQ+6UHx3DLWQKUaa8y5Gr7UHmykCsE6nU5Vn9tZOp0OQwYPxif7tmBCGRtHPtnnh6FDBkveJ40aNUJKSgrmzJmDKVOm4NKlS6hevTo6duyI5cuXW32Nv78/EhIS8PLLL6Nt27bo1KkT3n77bYwYMcJ8jV6vR1xcHC5cuICQkBAMGDDAHP7q1KmDWbNmYfr06XjhhRfw7LPPYtWqVXjrrbdQvXp1zJ07F7///jtCQ0PRoUMHh+vP7dq1C2fOnMGZM2dQt27dEs+JouhgD7lGEB14x7/85S/Yv38/rl+/jurVq6N79+6YM2cOGjdubPcbZmdno3Llyrh9+zbX2NmpqKgI27Ztw6OPPsopKpmwz+XHPn8gPz8fwcFBmD/SgIkDbV+3aDswNUGDnJxch//4elN/PzF8GFKPbcEv79gOKW1e80PLzoOxvliNMrlJ3ed3797F2bNn0bBhQ4fW2AHGMBwTE3M/DFuur5z4JbBkl4ADBw6oZtTWGoPBYP6PFUemqz2hrJ+nI9nJoRG7tWvXOt5SIiIvIdeIljPFc31hpMka0wkS5W4E6HEPUxOMhZZ9ta+K6969O5YtW4axY8di90nb6yvVHOp8lbLjKxGRAshdnf/BGqiyr/Pm4rn24gkSzhszZgwOHDiAlp0HY2qCBoMXGEeAW3YejAMHDkhenJjk4dLmCSIib+eJ6vyeXgOlJp7eCKB2al9fSZY4YkdEPs/WAejFF+X/8s49TBwIDOoATBwI/PLOPYzrJ2Ls2LFuGbmbOGkyUi/oMWm1McQVZ1oDlXpBj4mTJkn+3oC8h8K74kEI9rPoJ5MHIXgoQ4sNOp0OYWFh7B8vwGBHRD6rvCnWBztTYXNnaou6xp2pUjOtgVq8U0Cb1/ywaDvw7XHjhok2r/lhyS7BLWugPHEovKs8HYKJlIRTsUTkk8qbYn3//fexKTERc58UPbYof8yYMWjTpo1sNeY8Me0sBW4EIHqAwY6IfE5Zdc86NLiHFz8B/jltGkQAr30NHM0AJg0EoppZ3svdO1PlWgMlV0Fkd5E7BBMpFYMdEfkcW8V/l+8G4lYBLWoDC0bhwRFePwDRbwHLngfG9C15L7kW5bu7eK6cBZHdhRsBiBjsiMjH2Kp7lnzaGOrG94fFmroJscZ1WmNXAW3CH4zcecvOVG+rBecrJ0gQWcPNE0TkU2zVPVu03ThSV+ZGidrAoiTjY960KJ+14EiJBEFAYmKip5uhOgx2RORTrBX/zS8EEo8Do3tZhjoTjcb4/KZjwPtb3LszVW4siExyu3z5MsaPH49GjRohICAA4eHhGDRoEPbs2eOW99u7dy8EQcCtW7fccn8A+L//+z/Uq1cPFStWRK1atfDMM8/g4sWLbns/WxjsiMinWKt7lp0P6A2wb8RKBGZ8LXhVdX7WgvM92dnZyMrKKvfLHaOz586dQ8eOHfH9999j3rx5+OWXX5CUlIRevXohLi5O8veTkiiKuHfvntXnevXqha+//hqnT5/Gxo0bkZGRgSeeeELmFjLYEZEPKl33LEQHaDWwe8Tq2rU/sX7DBtWP1BXnSC04tRQvJuv0ej1q1aqFunXrlvtVq1Yt6PV6Sd9/7NixEAQBR48exfDhwxEREYFWrVph8uTJOHz4sNXXWBtxO3HiBARBwLlz5wAA58+fx6BBg1ClShVUqlQJrVq1wrZt25CZmYk+ffoAAKpUqQJBEPD8888DAAwGA+bOnYuGDRtCp9OhXbt22LBhg8X7bt++HR07dkRAQACSk5OttnHSpEno2rUr6tevj27dumH69Ok4fPgwioqKXO80B3DzBBH5nO7du2Py5Mn44IMPsPNn4KU+QJfGwMrvjRslyjvCq2rVqvI32s3sqQU3efJkLFzwARI3bzaXExkyeDAmTZ7iVSHX22m1WnSNjMSPKf/DuLmLIFj5hRcNBiyZMRGdOnSAVquV7L1v3LiBpKQkzJkzB5UqVbJ4PjQ01Ol7x8XFobCwEPv370elSpVw8uRJBAUFoU6dOli/fj1GjBiB06dPl9gtPXfuXKxevRorVqxA06ZNsX//fowaNQrVq1dHjx49zPeePn065s+fj0aNGqFKlSp2fc6vvvoK3bp1g7+/v9OfyRkMdkRklbeXjDh39nc0qKFFq7p6TF1jnIoFgEmrLTdQFB+x+jhB3RslylJWLbiBTzbAggULVFe8mKybGR+PmJgYFBUWomv/Ry2eP7RjK7Jv3sDMmfGSvu+ZM2cgiiKaN28u6X0BIDMzE8OHD0ebNm0AAI0aNYLBYNzsY/qPsRo1apjDY0FBAd555x3s3r0bkZGR5tckJydj5cqVJYLd7Nmz0a9fv3Lb8Oqrr2LJkiXIy8tD165d8d1330n8KcvHYEdEJSQnJ2PRwgVePSpTvLzHxIHGzRPZ+cC6w8YAt/tX40YJ84jVXj+kZvnG6QXWasEdP34cMTExqi1eTJaio6PRu08frF+2AJ37DoCm2A/VYDBgw7IF6NOnL7p37y7p+4qiKOn9ipswYQJefvll7Ny5E3379sXw4cPRunVrm9efOXMGeXl5FoGtsLAQ7du3L/HYI488Ylcbpk2bhhdffBHnz5/HrFmz8Oyzz+K7776DIAiOfyAnMdgRkZlaj5RyVOnyHroKxq8JsUDHBsaSJqZRPAHAY4/H4uO1M3wqtBSvBecNxYvJkmnU7ujupBKjdkd2bce506n48tOPJX/Ppk2bQhAEnDp1yqHXmYJn8WBYeu3a3//+d8TGxmLr1q3YuXMn5s6di/nz5+PZZ5+1es/c3FwAwNatW1GnTp0SzwUEBJT43tq0sTXVqlVDtWrVEBERgRYtWiA8PByHDx82jwjKgZsniAhAySOlfnnnHiYOBAZ1ACYOBH555x7G9RMxduxYRR8Gb6+yyntENQPWvwLk/BuYPRwQNAK+/nq9zwYW0+jm6B6Woc7EVLx4U+ImbqhQkeKjdob7O2bcOVoHAFWrVkVsbCyWLl2KO3fuWDxvqxxJ9erVAQCXLl0yP3bixAmL68LDwzFmzBh88803mDJlCj799FMAQIUKFQCgxEaQli1bIiAgAJmZmWjSpEmJr/DwcGc/opmpTwsKCly+lyMY7IgIQPFRmTIK9NY1jsqonT3lPQL8gLVH/TBs6DCvXGNoLxYv9m4z4+Nx7tRJHN1trLxtGq2Tem1dcUuXLoVer0fnzp2xceNGpKenIzU1FR999JHNkS1T2Jo5cybS09OxdetWfPDBByWumThxInbs2IGzZ88iJSUFP/zwg3ktX/369SEIAr777jtcu3YNubm5CA4OxtSpUzFp0iR88cUXyMjIQEpKChYvXowvvvjCoc905MgRLFmyBCdOnMD58+fx/fffY+TIkWjcuLGso3UAgx0RwTdHZRwp7+HLWLzYuxUftdPr9W4drTNp1KgRUlJS0KtXL0yZMgWtW7dGv379sGfPHixfvtzqa/z9/ZGQkIBTp06hbdu2eO+99/D222+XuEav1xuXkrRogQEDBiAiIgJLly4FANSpUwezZs3C9OnTERYWhnHjxgEA3nrrLbzxxhuYO3eu+XVbt25Fw4YNHfpMgYGB+Oabb9CnTx80a9YML774Itq2bYt9+/ZZTOu6G9fYEZFTozJqH8Wyp7yHL2yWKM+D0c0tmBBrPfh7y5m5vsq01m7pa5PctrautFq1amHJkiVYsmSJzWtKb7SIiorCzz//bPOaxYsXW9zDtCsWAN544w288cYbJZ4XBAGvvPIKXnnlFatt6Nmzp10bPtq0aYPvv/++3OvkwBE7IlL9qIyzBXPHjBmDAwcOoGXnwZiaoMHgBcDUBI1XnSohBY5uejfTqN2+zRvcPlpH7sdgR0SqPVIqOTkZTwwfhuDgINSsWRPBwUF4YvgwhzZ4REVFYf2GDcjJycXly5eRk5PrdadKmDgbgE2jm4t3Cmjzmh8WbQe+PQ4s2u5dZ+b6srdmz0ZoaCjeemu2p5tCLmKwIyIA6huVWb58OWJiYpB6bAvmjzTg2ynA/JEGpB7bgujoaKxYscKh++l0OoSFhSkmtErBFOT27NljEYCffWaU1WtthT6Obnq3bt264erVq7Iv9CfpcY0dEQFQ15qz4qVZlFQwVymndZQuMi0ACAkExvYB+rUx1ib8z5HtwMin8a9//QsZZ9LN12o0Av5v0CBMnfZPi76zVrzYm4Kwr5P76CtyD47YEZGZWkZllFaaRYopYalYG8lcMAqoUwVYsgvIumGsTXjozXsAjAvOD36/Ga3rGKDVAAaDiM3ffovo6O6YNm2a1fcoPbrp7BQvEUmPI3ZEVILSR2WKHwdWXmmWqQnG0izubL+STusoeyTTOJ0+dhXQJhzo3Mz4eI1gIPOqAVUrAfOfxv32Ayv3APPnzwcAzJs3z+b7efvxc77kzz//RLVq1TzdDHIRR+yIyCqlrjlTUsFcpZ3WYddIZm3jkWkmV3OAl/sCv7yLEu3/7X1gfH/gg/nzrbZf6jWO5FnHjh1DWFgYjh075ummkIsY7IhIVZRUmkVJU8JlFZn+M+dBm0b3Ar45Bvx16YPnV34PPPkRcPC0Zfub1jSGu+KUFmjJdWvXroXBYMC6des83RRyEYMdEamKUkqzKO20DlsjmccygLCXjf8LAKcvAQYROHM/GK8db5yCTb0IRL8FrNhdsv0v9wW+3fJtifYrKdCS60RRxMZ166AFsHHdOrsK8pJyMdgRkeoooTSLkqaEAdsjmWsPGYPcusNA8mnj2rkJscChmcbnB7a7P9L2LjCun3ENXvGRu9LtV1qgJdcdP34c57Oy8E8A5y5cQEpKiqebpEh79+6FIAi4deuWzWtWrVqF0NBQ2dpkDYMdEamOEgrmKmlKGLA+kimKwMbDMI7EHAYWbAMiasGhNXil26+0QEuu27hxIx7y88ObAKpqtdi4caMs73v58mWMHz8ejRo1QkBAAMLDwzFo0CDs2bNHsvfo3bs3ZsyYIcm9unXrhkuXLqFy5cqS3M9dGOyISJU8XZrFU1PCZZUWKT2SefwscP4mjCMxN4DEH4ExfSxDnYlpDd6mH4H8QuM9Pt6rLdF+pQVaco1pGnbIvXuoCGCIXi/LdOy5c+fQsWNHfP/995g3bx5++eUXJCUloVevXoiLi3Pre5cmiiLu3btX7nUVKlRAzZo1IQiCDK1yHoMdEamWp48Dk3NK2J5aeaVHMqevBaoKwJsAKgMQAftG2gzArTvG9p/KMpRov1SB1hRQb9y4wRp4HvTrr78i/exZDL///XAAab//jt9++82t7zt27FgIgoCjR49i+PDhiIiIQKtWrTB58mQcPnwYAHDr1i38/e9/R/Xq1RESEoLevXvjp59+Mt9j5syZePjhh/Hll1+iQYMGqFy5Mv7yl78gJ8e4W+j555/Hvn37sGLFCmi1WgiCgHPnzpmnVLdv346OHTsiICAAycnJKCgowIQJE1CjRg1UrFgR3bt3L7FL2NpU7KpVq1CvXj0EBgZi6NChuH79eonP+dNPP6FXr14IDg5GSEgIOnbsiB9//NGNPcs6dkTkBXQ6nUfKssh1WocjtfLGjBmDNm3aYOGCBdj8zTd4DkBFGP9g/wfAmctlv9fvVwGNAPSaq0HaRdFq+ydOmoyYmERMWm05rVs80H6cYBloTbXvNiUmQjQYR4VEAFqNBkOGsAae1JKTk7FmzRqbz//222+orNWij14PAOgDIESrRVxcHFq1amXzdU8//TS6d+/uVJtu3LiBpKQkzJkzB5UqVbJ43rRGbcSIEdDpdNi+fTsqV66MlStXok+fPkhLS0PVqlUBABkZGUhMTMR3332Hmzdv4sknn8S7776LOXPm4MMPP0RaWhoiIiLwzjvvQKPRoHr16jh37hwAYPr06Zg/fz4aNWqEKlWq4J///Cc2btyIL774AvXr18f777+P2NhYnDlzxvx+xR05cgQvvvgi5s6diyFDhiApKQnx8fElrvnrX/+K9u3bY/ny5dBqtThx4oT7T/gQZXb79m0RgHj79m2531q1CgsLxcTERLGwsNDTTfEZ7HP5qbnPk5OTxaFDhogajSACELVajfjE8OFicnKyy/c+cOCAKAiCOCEWov5LiOJXxq+8zyFeXALx5T4QBUGweK+ff/5ZBCBuMy61E7ca85PYKEwr6r+EWPiVztjfX+nM99R/CTGiJkRBQLntX758uSgIgtgy3E9cOAri5skQF46C2DLcTxQEQVy+fLnFa5YtWyYKgiDWrKIRBUBsUdv4mm+nGP+3eR2Nzdd6A6l/x/Pz88WTJ0+K+fn5Nq/5+OOPRdz/2TfUasUO/v4WX3Pv/46Yvt4BrF7XQKs13+vjjz92ut1HjhwRAYjffPONzWsOHDgghoSEiHfv3i3xeOPGjcWVK1eKoiiK8fHxYmBgoJidnW1+ftq0aWKXLl3M3/fo0UMcM2aMqNfrzY/98MMPIgAxMTHR/Fhubq7o7+8vfvXVV+bHCgsLxdq1a4vvv/9+idfdvHlTFEVRHDlypPjoo4+WaN9TTz0lVq5c2fx9cHCwuGrVqvK6RBTFsn+ejmQnjtgREbnANAL17ZZvYTCI0Go1GPT445g4aZIkI08PSosYd6EmnzZuEtn0o3G3qwDA30/Ek08+icGDB5tfZ3UkRqPB71f0ePg1IKYV0G8MMHk1oC8y/kU/eBpIuwzs2bMHvXv3LrNdppHBRQsXYmrCJvPJE0OHDMbHCZaf3VT7bngnERuPiRgfaznaNyHW4LFzfr3V6NGjUbt2bTz/zDO4m5OD94uK0Kec18wAMKOoqMRjewCM0mpRrUoVrPrySzz22GNOt0m0Y/3eTz/9hNzcXDz00EMlHs/Pz0dGRob5+wYNGiA4ONj8fa1atXD16lW72vHII4+Y/zkjIwNFRUUlfuf8/f3RuXNnpKamWn19amoqhg4dWuKxyMhIJCU92H00efJk/P3vf8eXX36Jvn37YsSIEWjcuLFd7XMWgx0RkZNsT5FuQ3T0FpePEyt9fNry3UDcKuPO1Sc6A18fMQ6f1LwHVL54EYdWroRGqzW/frpejwr3/zkAwHSDAV9rNND/YcDRP43B7th+4HIecP7+39q//vWv5YY6E0eOnzMFVIN4Dy1ql70zd0+qsQYeg500HnvsMfz822945umn0W/vXkwHMAuAPROCRTCu0XwPQO/oaHy5Zg1q1arlUnuaNm0KQRBw6tQpm9fk5uaiVq1a2Lt3r8VzxcuJlJ7WFAQBBluLP0uxNg0stZkzZ+Lpp5/G1q1bsX37dsTHx2Pt2rUWgVBK3DxBROQEOU5fKF5aJPm0MdSN72+sObduAvDdVKBaIFCkARYC+J/BgONFReav6aXuN+P+NT8DMLXqbQNwRwR0/v54//33sXr1aofbWd7xc6aA+lzUPWw+btx5yxp48qpVqxZ27tmDd+bOxfsaDaK1Wpwt5zW/A+iu1WK+Vou5776LnXv2uBzqAKBq1aqIjY3F0qVLcefOHYvnb926hQ4dOuDy5cvw8/NDkyZNSnw5cp6tv78/9PdHrcvSuHFjVKhQocT/X4uKinDs2DG0bNnS6mtatGiBI0eOlHjMtPGjuIiICEyaNAk7d+7EsGHD8Pnnn9vdfmcw2BEROUGO0xeKlxZZtB0WI12PtQd+fh9o2QzoB+A1GEdY7GG6bjCANjExyDh/HtOmTXO6rWUxBdSaocYdt6yB5xkajQbTp09H8sGDuFq7Nh7WaGBrL81lAO01GlyrXRvJBw/i1VdfhcZWGnfC0qVLodfr0blzZ2zcuBHp6elITU3FRx99hMjISPTt2xeRkZEYMmQIdu7ciXPnzuG///0vXn/9dYd2lTZo0ADHjx/HuXPn8Oeff9oczatUqRJefvllTJs2DUlJSTh58iRGjx6NvLw8vPjii1ZfM2HCBCQlJWH+/PlIT0/HkiVLSkzD5ufnY9y4cdi7dy/Onz+PgwcP4tixY2jRooVjneUgBjsiIgfJdfqCqbTIyh+0SLQx0lWrCrDzNeCdp4zTZZGAXSMxsfenbGfOmoXdP/wgyUiMLaaAevkWoNWANfA8rGvXrhg7YQIKAdiajKwEoABA3CuvoEuXLpK3oVGjRkhJSUGvXr0wZcoUtG7dGv369cOePXuwfPlyCIKAbdu2ISYmBi+88AIiIiLwl7/8BefPn0dYWDn/ZVDMlClToNVq0bp1a1SvXh2ZmZk2r3333XcxfPhwPPPMM+jQoQPOnDmDHTt2oEqVKlav79q1Kz755BN8+OGHaNeuHXbu3Il//etf5ue1Wi2uX7+OZ599FhEREXjyyScxcOBAzJo1y/6OcoIg2rOKUULZ2dmoXLkybt++zf/T2qmoqAjbtm3Do48+6v5t0gSAfe4JaurzK1euoGbNmvh2inH61ZZvjwODFxgr7Dvyx6i45ORkREdHG+9XzvvN2wLMWAtU0mhw2mBATSvXXAbQTKNB7caN8e68ebL19xPDhyH12BY0r3kPpy4ap5OthWKDwXh6SMvOg7F+wwa3t0tOUv+O3717F2fPnkXDhg1RsWJFh17brXNn1PjxRySWEQEGCwL+7NQJB0tNN6qJwWAwr/+UcsTRHcr6eTqSnZT9KYmIFEjO0xe6d++ODz/8EALKH+ny9wMMgmDXSMxoN5/MUZqpmLNGAFIvwqPn/Pq6Cxcu4NCxYxguPqgjuAhAdY0Gi+5/DwDDRRH/PXoUWVlZHmknOYfBjojIQXIfJzZhwgT06BGDFd8L5b5ftdBQxIoigq1fhmAAsaKILZs2udQmR5mKOW88JiAsVIPFO4DWr6LEOb+tpmsszvkt6wg1cs6mTZvgLwgYBOAqgMc1GkwC0K5XL0y6//01AIMA+AkCNsn8u0KuYbAjInKCnMeJAcBbb89B2qWyR7pO/nEP127etGsk5sjx4wCM0z9yMZ3v2733UAgaAakXjXX0Bi8Apq7RoHXXoeZzfu05Qq00V0KgLwXIjV9/jT6CgGMA2vn54cfQUGzfvh27d+/Gtm3bcKxyZbTVanEcQB9BwMavv/Z0k8kRdpVDlhBPnnCcmivyqxX7XH6u9HleXp54+fJlMS8vzw0ts82Z0xfc+X5PPvmk6C8I4k1AvAKIj2o0IgCxT58+Iu5/fxUQbwBikM548kRQUCVx+LChkpyS4QjTz+z69esWPzvTCRWmz2k6mcJWvx44cEAcPmyoqNVqzCd/2PuZXHmtozxx8kRpV65cETWCIDa7f4JEvz59xEuXLpW45tKlS2K/3r1FARCbAaJGEMSrV69K0ma56fV68ebNmyVOnlAqqU6eYLBTAYYM+bHP5edMn8v5R9mW5ORk8Ynhw0u0QarjxBx9vx7du4sDNBpxJyDW9PMTa1StKm7fvl0URVHctm2bGBIYKFYDxF2A+Nj9YLfoeZ3bgqgzbB2hZjrybHz/kkeoORoCi3Pltc5QQrBbuXKlCED002rFefPm2Qw8er1efP/990W/+8eIuXKEmCf5YrDjyRNEpEq2T33YgujoRJdPfbCXI6cvuPP9rl69igMHD6KpKKI/gH49euA/q1ejZk3j3tjg4GBk5+WhflWg/w2gzf37PdkVGN/nnmKO8ip9hFpxpU+mEEXRXCS69PUTYsv+TMULTDv6WqURHShucfbsWTRp2BBr1q1Dp06dbF6n0Wgwbdo09OzZE08/9RR+//13KZpKZXDk51gWrrEjItWR49QHR5V3+oKrSq8BK/1+iYmJMIgiMrRazJs3D0k7d5pDHWAMTC3D/XBmIfDeSODs/X/7b/2fdAWVXeVofcAP5s9zuki0HAWm3U17vxZhYWGh3a+ZM2cO0jIyygx1xXXq1AlpGRmYM2eOU20k++Xl5QGwPCbNURyxIyLVcWRUR+mjLeVJTk7GooULkLh5M/R6A7RaDYYMHoxJk6eU+GxljcQUP3PWzw+Y9jgQ08pY0+7cNeM1psA0NcFYUNmdo462FD9CrSymkym2fPed+Rxda2x9ptJn8DryWiXx8/NDYGAgrl27Bn9/f8XXafMEg8GAwsJC3L17V7H9I4oi8vLycPXqVYSGhpoDu7MY7IhIVbzhj7JpGtXf3x9FRUU2p28dmW6eM2cO3nnnHQiCYHEfa4GpQ0NgG4A3ip1FXvwoL0/02YP6gGUf4v77VUCjERwKgcU/k6MB0lP9UR5BEFCrVi2cPXsW58+f93RzFEkURfO/A6z9f0NJQkNDS4yyO4vBjohURc1/lE2jb5sSEyEaHpQk0Wo0GDKk5Cico2vAyhqNKCswFX+ZqaByfn6+RwLxg/qAWzAh1vp0rKle3+D/exzfbvnWrhBYuki0IwFS6UebVahQAU2bNnVoOtaXFBUVYf/+/YiJiVH0iTb+/v4uj9SZMNgRkaqo9Y+yafQtLFSAaBDRvDbwj94wj8Kt/GFziVE4Kaeb7Q1MxgLIBjRs2NDmlK+7TZw0GTExiZi0Ghbr34rXB/w4YSo0GsGuEDh0yOASIdWRAFn6tUqk0WgcPlLMV2i1Wty7dw8VK1ZUdLCTkjInnImIbJD71AcpmEbfhncSceWWAeNjgV/fQ4lNH7+9azBv+ti+fbtDmwjsKaprT0Hl0xdFjOtnPJN2/kgDUo9tQXR0NFasWCFBL9jHdELF4p0C2rzmV+Jkijav+ZU4mcKVItFyF5gmkgtH7IhIdewf1VHGH2XT6JtBvIcWtS3bDDwYhdv5K/Doo48CgKTTzabANHbsWOw+qcU/+gANhgDLdgHLkoD0y8DS54Gx/R68xlNlP8aMGYM2bdpg0cKFmJqwybxpZOiQwfg4YZK5HaU/0+ge99CohnG09pN9fki9oC9xPFlZ/eHIa4mUjMGOiFRHTX+UTZs93hlhwGtfA/Oftgx1JhoNMKa3iMmrAY0AZFwp+96OTjcXD0z/2pCE1UOA178GtAD2vQFEN7dsj6d2GNtbH9DeEGiNK68lUioGOyJSJbX8UTZt9qgZCugN9o3CiQAGPAx88gMwIdZ6EHR2DZgpMOXk5OD7778HBAGzhlqGOhNP7zDW6XTlvqcrRaLlLjBN5G4MdkSkWmr4o2za7HH5lgFajZ2jcBpg0gCg37tw23SzabG9wSCqcoexNfaEQHe8lkhJGOyISPWU9Ee5dMg0bfb44uAWDO54r/xRuB+AoY8AfVoDy54Hxq4Cdv8KjO4Ft0w3G3cYl32N0nYYE5Ft3BVLRCSB5ORkPDF8GIKDg1CzZk0EBwfhieHDcPDgQfMOTI0ApF5E2TsxLwITBxgfG9MXOPAG0LIOMPUrYPACYGqCBi07D8aBAwckOQv38cceU9UOYyIqm0vB7t1334UgCJg4caJEzSEiUp/ly5cjJiYGqce2YP5Ig0W5kF9//RXLli3DxmMCwkI1WLwDaP0qSpTyaPlPYMku4yhdVLMH945qBqx/BXjnKeNpC1evXsP6DRskW0P48tg4lv0g8iJOT8UeO3YMK1euRNu2baVsDxGRqth7QsSBAwdw4MABLFq4EN9s+gapF427X0UAggAE64B9/7K+icFgAL446IdhQwejatWqkrY/MjLS6R3GSl7bSOSrnAp2ubm5+Otf/4pPPvkEb7/9ttRtckp6ejpycnLKvS44OBhNmzaVoUVE5AscOSHCNNJW+qzYX3/9Ff369cOGoyKiIuSvy+foDmPT0WiJmzebr/XEKRVEZMmpYBcXF4fHHnsMffv2VUSwS09PR0REhN3Xp6WlMdwRkctMNermjzSUe0JE8XIhpTd7hIWFebwun707jE1Ho7Woq8X8kQbzkWif7NtS4kg0Z3EUkMg1Dge7tWvXIiUlBceOHbPr+oKCAhQUFJi/z87OBmA8mLeoqMjRt7fq9u3b0Ol0eOrDp1CjSQ2b1109cxXrXlmH27dvS/becjC1VU1tVjv2ufzU2Oc3btxAhQoBaFQbKKvVDWsBFSoYr69Rw/q/o1588UW0atUKy5ctwxuJW8wjYYMeH4QVY8eia9eukvaNrf728/MzT/eWfu7QoUOYOnUqJj5WEXOfAjSaB2dvvhwLTF/rjylTpqBVq1bo2rWrQ+05dOgQli9biu+2bjV/9scfewxj48Y5fC+lUuPvuNp5S5870n5BFEXR3ov/+OMPPPLII9i1a5d5bV3Pnj3x8MMPY9GiRVZfM3PmTMyaNcvi8TVr1iAwMNDuhhIRERH5ory8PDz99NO4fft2uWWHHAp2iYmJGDp0KLRarfkxvV4PQRCg0WhQUFBQ4jnA+ohdeHg4/vzzT8lqIv3000+IiYnB+K3jUad1HZvXZf2ahcWPLcb+/fvRrl07Sd5bDkVFRdi1axf69esHf3//8l9ALmOfy0+tff7sM6NwOmU7Dr1pucYOMK6Ri5zth+YdH8MX//mP/A20wdH+vnv3LmrXroW3nzCUOE+2tGW7gH9t0ODixUvmIshlOXToEAYOHIiXeov3RwEfPGcwANPXAh//ICApKUn1I3dq/R1XM2/p8+zsbFSrVs2uYOfQVGyfPn3wyy+/lHjshRdeQPPmzfHqq69ahDoACAgIQEBAgMXj/v7+knWyRqNBfn4+9IIeop/tnKoX9MjPz4dGo1HlD1jKPiP7sM/lp7Y+jxs3HjEx6/HP1aLVEyKmfAmcOCNg8efjFPm57O3vGzduIDf3Dho9BJR1dcOqQG6ucYQhODi43Pt+9OEiNHioEPOfshKMNcAHfwF2/uyHjz78ENHR0eXeTw3U9jvuDdTe54603aFgFxwcjNatW5d4rFKlSnjooYcsHici8gXdu3f3+MYHd0tOTsYH8+dBgJ1Hotl5SoWzm0+IyDaePEFE5KIxY8bgwIEDaNl5MKYmaNxyQoSnmIovp6VsQ9t6wMffWxYyNnH0lIrs7Gzo9QaHzqolorK5fFbs3r17JWgGEZG62VsuRE1KF1/+bzoQ85bxSDRr086O1tsLCQm5f1atjaR4H8+qJbKfy8GOiIgeKF2jTs1KF1/u3sx45NnYVcDuX4HRveDStLNOp8OQwYPxyb4tmBBre/OJcRRwsNf0K5E7eVWwu5JW9uKP8p4nIiIjW+vfxvQF2oQDi5KAqWsAvQEQAAwZ8jg+Tpjq8FrCiZMmIyYmUbJRQCJf5xXBzrTzavVLqx26noiIrCtr/VtUM+NXfiGw/jDw3Epg+YoVCAsrZ7GcFb6w+YRITl4R7Jo2bYq0tDSeFUtEJBF71r/pKgA37ri+/s3Rs2qJyDavCHYAGNaIiCQk9/o3b9x8QuQJXhPslCI9PZ0jh0TkFTyx/s2bNp8QeQKDnYTS09MRERFh9/VpaWkMd0SkWFz/RqQ+DHYSMo3UjVo5CmERthcRX0m7gtUvrbZrZI+IyJO4/o1IXRjs3CAsIgzh7cI93QwiUimlrTPj+jci9eCRYkRECpGcnIwnhg9DcHAQatasieDgIDwxfBgOHjzo6aYBMK5/CwsLY6gjUjCO2HkBbtggUr/ly5cjLi4OLepqMX+ksX5cxhUDPtm3BdHRiVi2bJmqz5x1J44kEj3AYKdy3LBBpH6lz2Qtvvt0Quw9TPwSGDt2LNq0acM1bcUkJydj0cIFSNy82bz2b8jgwZg0eQr7iXwWg53KccMGkfqVPpO1OI0GWPQMsCdVi0ULFzKw3McRTiLrGOy8BDdsEKmTrTNZi9NogNE97mFqwibk5+f7/HQjRziJbOPmCSIiDyrrTNbiGtUA9HoDsrOz5WmYgj0Y4YTNEc4WdY0jnHLLz8/HlStXkJ+fL/t7EwEcsXOLK2lXXHqeiHyHPWeyAsaiwK6eyeoNlDrCyfV+pBQMdhIKDg4GAKx+abVD1xOReki9A1PuM1nVzpkRTnf3Gdf7kZIw2EmoadOmSEtLY+kRIi/kzhEZT5zJqlZKG+F0ZL1f586d7b4vS7iQsxjsJMawJj/W8SN3c/eIDM9ktZ/SRjgd2dG8JiGh3PtxSpdcxWBHqsY6fuRucu3A5Jms9lPKCKej6/3u3r1b5v04pUtSYLDzEr66YYN1/Mjd5Kwxp+YzWeVss1JGOKXc0cwSLiQVBjsPs2ca0WCwvZaEGzaMWMeP3MFTOzB1Op1qAp2npg6VMMIp5Xo/FqkmqTDYeZC904g6nQ4JCQnIyMhA8+bNSzzHDRtE7qPEHZhK4umpQ0+PcDq63q9ixYpW76PUEi6kTgx2HmTvNOL19OsAgNzcXKvPM6wRuYfSdmAqiZKmDj05winFej/+BwRJicFOAcqbRtSKWsDDxea585R8kdJ2YCoJpw6NHFnvV1RUZPUe/A8IkhKDHZWLO0/JlyllB6aScOqwJFfX+/E/IEhKDHZULl/ceZqRkQEA+Omnn6Cx9ZcLHKH0BUrZgakknDq05Op6P/4HBEmFwY7s5is7T9PT09GhQwckJCQgJiam3MO8OULp/ZwZkVFjyRJ7cerQNmfX+/E/IEgqDHbkkGsZ13A313qRTVOtvNTUVNlHsqSs41d8xHH81vHQC3qb9/SWEUoqn70jMr5wcgCnDt1DCSVcSP0Y7MhuNy/cxGfPfFbudaNGjQIgz0iWu+v41WldB6Kf6HC7yHuVNSLj6fIfcuLUoXt4uoQLqR+DHdmtMK8QgLLW2rGOHymFksp/yIFTh+6lpiLVpCwMdgpQ3jTh9TPXgRoyNcYOSltrx7BGSuCL5T84dUikPAx2HmTvNKJOp8OQhCEICgqSo1lE5CBfLv/BqUMiZWGw8yB7pxENBgOysrLQuHFjmVpGRI5g+Q9OHRIpBYOdh9kzjVhUVISsrCwZWlO265nXPd0EIkVi+Q8iUgrblVeJ7jNNGW+fs93DLSFSpgflP/xgsJHtHpT/GMqRLSJyG47YyUit562apoyPHj1qLmXiK7J+zSqzjh2RCct/EJESMNjJRO3nrTZt2tRnCvEWr3W3+LHF5Z484WhtPPI+pqLEAPDRDiDpJ+DlvmD5DyKSHYOdTLzpvFUpT3lQoqZNmyIlJQWnT5/G/v37eVYslal4UeIFfxVRcA9I+C8w+StAFAGNRsCwoSz/QUTyYLCTmdJqwDnC3ac8OMsdU9yNGzfG6dOn0a5dO/j7+7vaRPJStooSvzoIuHMXeOU/wL/3iZg4iaGOiOTBYEd2k+uUB0eCGgBVT3GTupVVlLhSReDjvwOHfvfzqqLERKRsDHbkEHeHIkfXIm7atAmAd0xxk7r4clFiIlIuBrsyqHUXqxrY6tvU1FQA9ge1O3fuAFD3FDepE4sSE5ESMdjZoPZdrJ5UXiDOzMzE0KFDy7wHgxopHYsSE5ESMdjZ4E27WOXkSCC21rem/iRSugdFibdgQqzlGjugeFHiwRytIyJZMNiVgyNHjrEnEJvCG/uW1I5FiYlIaRjsZObtNeBMGNrIF3Tv3h3Lli3D2LFjsfukFqN73GNRYiLyKAY7mSihBhw3gxBJb8yYMWjTpg0WLVyIqQmboNcboNVqMHQIixITkfwY7GQiVw04W7gZhMh9oqKiEBUVhfz8fGRnZyMkJIRr6ojIIxjsZOSJoGQapTOVERn4+kA8VO8hi+sqBFZAlbpVVLsZxFemuEnZdDodAx0ReRSDnRezNkq3fc52m9e/fuz1MncAy8neoFapUiUAyjvmzF04nU5ERGVhsPNiZe1QvXnhJgrzCgEA1zOvY/uc7Tifct78vGmEr7yAUDpomF5XOphVDKqI6o2rl9vmikEVAdgf1Fq1auXRKW45cTqdiIjKw2BXDm+Y4iu9Q/VaxjV89sxnFtcVD1OjRo0y/7OtgFBW0LAWzF4/9nqJcGer7/725d9QmFdoDpyrV69GixYtLK5Te1BzFGsrEhFReRjsbFDCLlZ3uZt7F4DrAcHRoHE+5Tzu5t7FzQs3Adjft507d5YkwDkyjdmgQQOX389dWEqGiIhsYbCzwdO7WOUgVUCw9z7WgtymTZtQr149m6+Rqm8dncY0TSkTERGpCYNdGdQY1pSs9JSqnIHY0dHF3NxcWdpFREQkJQY78picnBykpKQAkC/kcRqTiIi8mVcHO5aGUJbiGzKs4S5OIiIi13htsGNpCPe7efOmQ9fbmgblLk4iIiJpeG2wY2mIB0qXFZGiRMuxY8fQv39/h17DaVAiIiL3cijYLV++HMuXL8e5c+cAGIvDvvnmmxg4cKA72iYJXw4TjpZsccTatWthMBgkvy+VzxtqKxIRkXs4FOzq1q2Ld999F02bNoUoivjiiy8wePBg/O9//0OrVq3c1UZykq2SLampqRg1apTdAaF46Y/g4GA0adIEG9etgxaAAODy6ct23cdZXCtp5M21FYmISBoOBbtBgwaV+H7OnDlYvnw5Dh8+7NXBTs3Bwlp7HA0IpTc9bNy4EeezsjADwFwAX435yq77mI4LcwTXSj7gC7UViYjINU6vsdPr9Vi/fj3u3LmDyMhIm9cVFBSgoKDA/H12djYAoKioCEVFRc6+fbkMBgN0Oh20ohbCPcHmdVpRC51OB4PBYLU9GRkZ6NChg93vm5KSgsaNGzvVZltM7ZKqvxo0aIDU1FRzrbbTp09j9OjR6De1H6qGVy1xbQVdBYTWCQUAXD1zFeteWYft27ejTnAwXrt3D19otXhs5Ej84x//sHgf032f+vAphLcLR7X61YB7lu0p62dw+/Zt6HQ6PPXhU6jRpIbNz2Rq2+3bt632k+n34Xr6dWhFrc37XD9z3dwWQLo+l4ojJ2Iore3lkfr3nMrG/pYf+1x+3tLnjrRfEEVRdOTmv/zyCyIjI3H37l0EBQVhzZo1ePTRR21eP3PmTMyaNcvi8TVr1iAwMNCRtyYiIiLyOXl5eXj66adx+/ZthISElHmtw8GusLAQmZmZuH37NjZs2IBPP/0U+/btQ8uWLa1eb23ELjw8HH/++We5jXPFTz/9hJiYGIzfOh51WtexeV3Wr1lY/Nhi7N+/H+3atXPbfVxRVFSEXbt2oV+/fvD395f03oDjnxEANgDoB2AngBEADh8+XOJUCWfua63vpOz/jIwMu06UCAoKQr169dza53Jz5LNLPeJsL3f/nlNJ7G/5sc/l5y19np2djWrVqtkV7Byeiq1QoQKaNGkCAOjYsSOOHTuGDz/8ECtXrrR6fUBAAAICAiwe9/f3d2snazQa5OfnQy/oIfrZzq56QY/8/HxoNBqr7ZHqPlKwt88cXRNY/DNm/JiB4xuOW70+989c5Ofno7JGg74GA/wB9AXgr9Vi/PjxFussr127hvz8fCTOSkT74e1Rt01dq/e9kn7FZt9J2f/Nmze33RmlmIa93f17Kof09HSL0F0WT69T9IY+VxP2t/zY5/JTe5870naX69gZDIYSI3JK42ulIZzZbFDcldNXcPCzgwCABloBoUKx9Yki0AbASIMBFe4/FABgul6PDYcO4cihQyXudUOvN77HvjSk7Sv5PtZkZmba9Rg5hjUdiYh8h0PBbsaMGRg4cCDq1auHnJwcrFmzBnv37sWOHTvc1T6n+WppCFf/iEc+F4mQWiFY+9Jq5OcW4NN7BvQp5z1nAJhRamHnHgCjtFpUDQnBm7NnIzo62vxcZmYmhg4danEfa48Vb29Zbl5w7BQMX+TLNR2JiHyFQ8Hu6tWrePbZZ3Hp0iVUrlwZbdu2xY4dO9CvXz93tc9pvl4awpU/4q36t8LUQ9Ox5h9fol/yGUwHMAuAPQPBRQDeBPAegN7R0fhyzRrUqlXL6rX2hk/APUWWiYiIvI1Dwe7f//63u9rhFt4W1uRUuWZlvJQ4Ft9/9D3ee3srdgvAOr2IhmW85ncAI7VapACYO2cOpk2bBo1GY/N6e8PnwNcHomVf65tzgJIBkIiIyJd57Vmx5Dhr053NejVDcFgwkmZ9h3bXcpAmAjWtvPYygPYaDR6qXRvJ69ejS5cukrXroXoPcQqRiIjIDgx2dvLmTRj2rkesAKCSjecqASgAEPfKK5KGOkd5y1pJIiIiZzDYlUNtmzAc3UWamZmJIUOGlLse8YVnn0WDkycRbKPsYTCAWFHEN19/jSlTpjjUBqls2rSJ0+9EROTTGOzKobZNGHfu3HHq+rLafeHCBfz822+Yev97EcCHAOZoNHjdYMArAAQAw0URzx09igMHDpTYBSuXevXqyf6eRERESsJgZwdPhzVP27RpE/wFAYNEEVcBPAtgBwAYDJgEIAnAlwAGAdACiImJMdfHsxaIU1NTZWo5FefNywmIiMiIwU5hrJ0aYTqQ/qeffjLvMi1vdFDKP+Ibv/4avQEcAzBKIyAvKADDXn8UDTs3xNkjZ7Fjzja0zivAV3oRvQVgjwj89ttvZdalI/mobTkBERE5j8FOQWydGqHT6ZCQkICYmBjk5+ebH7d29FOlSsbtDfb+ETddb8vVq1dx4OBBNBVF9AfQ4OG6GPfVaISEGc+qC28XjocHP4w1L32J/vvTESECBgCXLl0CYL1Wnak8CUeQ5KG25QREROQ8BjsFsXVqhFbUAtnA+K3joRf05mD022+/mf8Ip6en47fffsOvv/4KwFj77aF6D1m8R4XACqhSt4r5HuWtS0tMTIRBFJGh0QAGA4bNG2EOdSYhYSH4xzcvY++Svdg6ewtgEHH8uPG8WWu16ioGVQRgf/jMvpKNP376w+bzDIDlY1gjIvINDHYKVDoMCfcE4L9AndZ1IPo92JU6dOhQ81q20iN92+dst3n/14+9XuaJD8WdPXsWTRo2xJuzZuHZZ5+FoBGsXqfRaNB7Qm8EhwUj4eWvcPXqVZv3rN64Ol4/9jru5t41B8zVq1dbHFRvOnrs2ze/tautnEIkIiJfx2CncsWn1+w9outu7l277z9nzhy88847+N///mfX9TWb14QBwIgRI7Blyxab11VvXL3E9y1atECHDh1KPNahQ4dypxAzMzNx584dVKpUCTk5OUhJSTE/VlylSpUsRic57UhERN6Gwc4F1jY6WCNXgAiLCEPFoIrlBrcraVdQIbCCXfcs60gwd7yutLL6LT093eUNGtbWKRIREakVg52TbG10sGXnzp146CHLNW/FuVoG5OaFm/jsmc/Kvc5bzlW1tSaxNNNIZfHrTI/ZE8yJiIjUgsHOSY6Giv79+7u9TYV5hQ61CfCOdWnWNmi4ch0REZFaMdi5yJGwUF7gOrn7ZJmbHqRukzNHcHmiRImtKW8WOiYiIiqJwU5G5QUuuct2OHIEl6NFbk318VwNgo5OeRMREfkyBjsFKh12tKIW9VEfWb9mmevYyc3RIrcmrp52UNaUd/EpZSIiImKwUxTTTtXSYUWn06FbQjcsfmxxiZMn5ObotK2Upx1wfRwREVH5GOwUpErdKuZ/Ln5yhJ9g/DE99eFTuCfeA2A8jaF04d7rmdfd2j5Hy7uwjAgREZG8GOwUqvgmCp1OhyEJQ7DulXUWI3bFpzCl2Hhhi6Nr3VgfjoiISH4Mdgq0adOmEhsbDAYDsrKysH///hKFf4tPYaalpeHbb7/F1KlT3dImR8u7HD16tMTonjuLNNu7QaP4dTxfloiIvBGDnYvcUf6jXr16JY7XKioqQlZWFtq1awd/f3+rr2natCl69erltjaZ2LvWbdSoURaPST2KVzGoIgD7N2hYu84b6vgRERGZMNg5ydHyH4D7a8A52iZ3hho5Tnmo3rg6Xj/2Ou7m3jW/x+rVq1GpUiWeFUtERD6Jwc5JjpT/uH79Ovr37+/2wOVoSRJ3hhq5drFWb1y9xPctWrQoMdpJRETkSxjsXOBIMJIrcHnrCJQnTrwgIiJSGwY7mXhr4HI3JU0vExERKR2DHSmakqaXiYiIlI7BjhSPYY2IiMg+DHbkEK51IyIiUi4GO7KLo2vdTDXmiIiISD4MdmQXa2vdUlNTMWrUqBLn2gJAhcAKuJt7F3/89AcAjuIRERHJhcGO7FZ6rZtpFM/eM2q5Y9Xz0tPTuRGFiMiLMdiR07hjVV3S09MRERFh9/VSHwFHRETux2BHLuEffvUwBfDix71Z464j4IiIyP0Y7Ih8jFzHvRERkfw0nm4AEREREUmDwY6IiIjISzDYEREREXkJBjsiIiIiL8FgR0REROQlGOyIiIiIvATLnRD5mPKOeOMRcERE6sVgR+QjTEe6rX5ptUPXExGRejDYqRjP/SRH8Ag4IiLvx2CnUjz3k5zB3wEiIu/GYKdSPPeTiIiISmOwU5GMjAzk5eUBAFJTUwHw3E8iIiJ6gMFORTp06ID8/HxPN4OIiIgUisFOZUxTr6YpViIiIiITBjuV4dQrERER2cKTJ4iIiIi8BIMdERERkZdgsCMiIiLyElxjp3JSnfvJUyyIiIjUj8FOpSoGVQQgzbmfPMWCiIjIOzDYqVT1xtXx+rHXcTf3bonHTWVQVq9ejRYtWgAof5SNp1gQERF5BwY7lbF3arVFixbo0KGDQ/dmKRUiIiJ1Y7BTGSmmXomIiMg7MdipSEpKivms2LJwgwMREZFvYrBTkcaNG8Pf39/TzSAiIiKFcqiO3dy5c9GpUycEBwejRo0aGDJkCE6fPu2uthERERGRAxwKdvv27UNcXBwOHz6MXbt2oaioCP3798edO3fc1T4iIiIispNDU7FJSUklvl+1ahVq1KiB48ePIyYmRtKGEREREZFjXFpjd/v2bQBA1apVJWkMeZZUp1gQERGRZzgd7AwGAyZOnIioqCi0bt3a5nUFBQUoKCgwf5+dnQ0AKCoqQlFRkbNv71NM/eSu/goMDIROp8PGiRvLvVan0yEwMNDrf3bu7nOyxD6XF/tbfuxz+XlLnzvSfkEURdGZN3n55Zexfft2JCcno27dujavmzlzJmbNmmXx+Jo1axAYGOjMWxMRERH5jLy8PDz99NO4ffs2QkJCyrzWqWA3btw4bN68Gfv370fDhg3LvNbaiF14eDj+/PPPchtHRkVFRdi1axf69evHcicyYZ/Lj30uL/a3/Njn8vOWPs/Ozka1atXsCnYOTcWKoojx48dj06ZN2Lt3b7mhDgACAgIQEBBg8bi/v7+qO9kT2Gfyc7bP09PT7TpTl8WkLfH3XF7sb/mxz+Wn9j53pO0OBbu4uDisWbMGmzdvRnBwMC5fvgwAqFy5MnQ6nWOtJPJS6enpiIiIsPv6tLQ0hjsiBcnOzrb7P8w480RK41CwW758OQCgZ8+eJR7//PPP8fzzz0vVJiJVM/1BGLVyFMIiwmxedyXtCla/tNquPyBEZB9XQ5ler0etWrXsOr4xMDAQ2dnZ0Gq1TrWVyB0cnoolIvuERYQhvF24p5tB5DOkCGVarRZdIyPxY8r/MG7uIggayzr+osGAJTMmolOHDgx1pDg8K5aIiLyCVKFsZnw8YmJiUFRYiK79H7V4/tCOrci+eQNxcWORlZUFgNOypBwMdkRE5DXsDWUzZ8bbvEd0dDR69+mD9csWoHPfAdAUC4gGgwFrP3ofgkaDYcOGmR/ntCwphUNnxRIRESlZ8VBmMBhKPGcwGLBh2QL06dMX3bt3L/M+M+Pjce7USRzdXfIozSO7tuNCRjqemfI6Xv94NV5b8R+EVKmKyMhuDHWkCAx2RETkVcoKZedOp5Y5WmdiCohfL/3AHBANBgO+XroAbbtFY/CLL6NDTG8UFhSUOwJIJCcGOyIi8irWRu0cGa0zmRkfj/OnU80B8ciu7chMS8WTcZOdvieRu3GNHREReR3TWruju5PQtf+j5tG6Lz/92O57FB+169QnFuuWzEfbbtFo0bELANh9T1MJFr1eDwC4dOmS1WlbbsAgKTDYEbnJlbQrLj1PRM4rPmrXqU+s0yNrpoC49LVJ+CP9NEa/OReA/aN1xUuw6HQ6JCQkoHnz5sjPz7e4lhswSAoMdkQSCw4OBgCsfmm1Q9cTkbSKhzJHR+tMTAHx+80bIGg0yLl5A4D9o3XFS7BMeHcRAGDqR5/AUKwsLOvikZQY7Igk1rRpU6SlpfGsWCIPKx7KXFkH99bs2Ug5fhyNmzRxagTQFDDvFRYBAB7u1gMoFuDsKcFCZC8GOyI3YFgjUgZTKHvrrdlO36Nbt264evUqDh8+7NQIoClgbvp0CbrOKhneuAGDpMZgR0REXssUyvz9/V26j7+/v0sjgDPj4xEbG2vxuDObOojKwmBHRERezd/f37wztTzl7Ux1dgQwOjoaPXr0AGAcpdNotRytI7dgsCMiIq9WfGdqecrbmerKCOCMGTNw8+ZNHN+7G536DeRoHbkFgx0REXm14jtTx81dBEFjWZvfkZ2pzk7rRkZGYtu2bdj06RJ06N2fo3Vu5Mu1AxnsiIjI65l2phYVFqJr/0ctnpdzZ2pm2imXSrBQ2Xy9diCDHREReb3iBYs79x0ATbFRO7nXuvXo0QNJLpZgIdt8vXYgz4olIiKfMDM+HudOnTSf/WpiWusmVx25119/HaGhoS6VYKGyzYyPR/bNGyVqB3aI6W3+Kiwo8NragQx2RETkE4qP2hkMBgCeqSPXpUsXXL16FZGRkbK8ny8qXjuwNG/fjcypWCIi8hmmtXZHdyeha/9HPbYz1dW6elQ+e2sHSlUKRykY7IiIyGcUH7Vz9GgwT/K28CEHe2oHSlkKRykY7IiIyKeYRu3UsjPVG8OHXMqrHSh1KRwlYLAjxUhPT7f7v0h5FisROcuVo8E8wRvDh1zsqR2opFI4UmCwI0VIT09HRESE3denpaUx3BGR05w9GsxTvC18yK2s2oFKKoUjBQY7UgTTSN2olaMQFhFm87oraVew+qXVdo3sERHZ4srRYJ7gbeFDbuXVDiy9qcZEjce+MdiRooRFhCG8Xbinm0FEPkAtoc7Em8KH3F5//XUcPnzY5gitteCs1sDMOnZEREQqoJQ6fGpkT+3A0gWs5S5cLRWO2BERker5SjkQpdThU6PyRmjVWgqnNAY7IiJSNV8qB+It4UOp1FYKxxoGOyIiUjVfKwfiDeFDqdRWCscaBjsiIlI9XyoH4g3hQ8nUVgqnNG6eICIi1bO2scDEGzcYvDV7NkJDQ1UbPpTMVAqnrI0WSsYRO1KUK2lXXHqeiHyXL5UDUVsdPrVRc78y2JEiBAcHAwBWv7TaoeuJiEy8qRaZPdQcPtRILTuvGexIEZo2bYq0tDSeFUtELmE5EEtqCSRKpqad1wx2pBgMa0TkKpYDKUlNgcRV1gKsXq8HAFy6dMn8uZwJsGraec1gR0REXoXlQB5QUyBxha0Aq9PpkJCQgObNmyM/Px+A8wFWLTuvGeyIiEgxpJg2ZDmQkuwNJHFxY5GVlWX1HkqfprUVYDWC8fmpH30Cvd61AGttDaeJktZyMtgREZEiSDltKFctMkeCqE6nc2tbbCkvkKz96H0IGg2GDRtm8x5qmKa1GmD1eiD9OB7u1gOHdie5PKKmhp3XDHZERKQIUk4bylEOxNEgev36dbe1pTxlBZILGel4ZurrqBfRwuJ1apqmlWNETQ07rxnsiIhIMaRcx+TuciBqWr9mK5CsX/oBBI0GNes1RIeY3havU8q6MXvZCrA//rBLshE1pe+85skTRESkGGo7QWJmfDyyb95AUWEhOsT0tvgqLChQTDCaGR+Pc6dO4ujuJADG0brzaafQvn171fR3eWz9/iR+ukSyz1H8PfR6veL6iMGOiIgUpXQAMTGNjJgW+Zf1lZ2dLUtb1RREbQWSRQsXltnfSgiljrD2+5OZflrSz2F6D9POayX1EadiiYhIUcqaNtRqtWUu8jexZ7G/VIV71bCg3sRaKZju3bs7vW5MicWPS9Qy7NkXWgA9evSUNFwreec1gx0RESmOtXVM59NOoWPHjkj//azLa9qk3IEr5YJ6dwclW4HEmXVjSi5+bPo8n8yegbhRT2HGjOmSv4dcO68dxWBHRESKY+sEifj4NyXZXCH1xgcpFtTLFZSsBRJnTuxQ8uYR0+dJ3pqIuFFPITIyUvL3kGPntTMY7IiISJHsnTY0cXSUTModuFIcZSZXULIVSJw5sUPJpzG8NXs2hg8f7tb3UFqoAxjsiIhIoeydNjSxNUpma3qzUaNGiIqKQsKH76Fxm3aoFByCwKBgAM5tfJDiKDO5gpK1QOLMujEln8bQrVs3ZGRkYNeuXbK/tycx2BERkWKVN21Y3po2e6c3x/TqhACdDl/+mAatVuvUVKoUC+o9HZScWTem5M0jShxRczcGOyIiUqzypg3LW9Nm7/TmR69OQMOWbaDVal0KUFIsqPdkUHJm3ZgaTmPwJQx2RESkaGVNG9qzps2e6c3c27fQunM3AK4FKCkW1Hs6KDnTdqWfxuBLWKCYiIjcIjs7u9xCwq4UE7a3SKw9RYSrPvQQDu3YIslJAlJM/1k7JUJphXCLU/ppDL6EI3ZERCQ5OUp3OLKmrbzpzSVLlmDcuHEubXyQkhS7bK1xZ508KTaPkOsY7IiISHJyle6wd01bedObcXFx+GbTJkWdJCB1UHJ32FbyaQy+hMGOiIjcQo7SHY6saStvHZjSThKQOijJEbaV1oe+iMGOiIjcQq7SHfauaStvelOJJwlIHZQcCdvOTNu2bt0a//vf/+Dv74+srCy7XkPSYrAjIiK3UVqNs/KmNz0V6v78809Uq1bN4nGpw6a9YTsyMhIhISEOTdsCUOzZsb6EwY6IiNymvLVtbdu2LXNkx0SqER4lrgM7duwYunbtisOHD6NTp04Wz0sdNu0J285O2yr17FhfwmBHRERuZWtt26qVyz0ywqO0dWBr166FwWDAunXrrAY7qdlbJ8+ZNZJKPjvWVzDYERGRW9la29ajRw+PjPAoaS2dKIrYuG4dtAA2rluHefPmQRAEt7+vPQWFnVkj6ekj0YgFiomISAa2ignPjI9H9s0bKCosRIeY3hZfhQUFbhnhUUKoA4Djx4/jfFYW/gng3IULSElJkeV97S0oXLpQsklZBZOdeQ1Jx+Fgt3//fgwaNAi1a9eGIAhITEx0Q7OIiMibmILEvlJr2+w5FcKbR3g2btyIh/z88CaAqlotNm7cKNt723Nyh7WfT3k/F2deQ9JxONjduXMH7dq1w9KlS93RHiIi8lJvzZ6N0NBQi7VtvjrCY5qGHXLvHioCGKLXY+O6dRBFUZb3txW2S3PmeDO1HYnmTRwOdgMHDsTbb7+NoUOHuqM9RETkpUxr2yIjI0s87qsjPL/++ivSz57F8PvfDweQ9vvv+O2332Rrg62wXVy7du0QFRWFhA/fw7WLF7D2w/cQFdUdDRs2tHnmL8+O9Ry3b54oKChAQUGB+XvTD76oqAhFRUXufnuvYOon9pd82OfyY5/Ly5P9be094998EwMGDMDxPTvQqXd//LhnB65knsMXH69Q7e/EoUOHsH79evP3Wq0WvXr1wrRp06DX63Hq1CmEBQUhRq9HEYAeAGpotZg0aRKaN29u874jRoywCMfO6tSpE7KysuDv72+1n/V6PRo1amTeuTzpsR4AgOuXstC0adMS1wYGBuLChQvmTS6mn+kn8f/02M/SW/694kj7BdGFMV9BELBp0yYMGTLE5jUzZ87ErFmzLB5fs2YNAgMDnX1rIiIiIp+Ql5eHp59+Grdv3y63nqPbg521Ebvw8HD8+eefPE7ETkVFRdi1axf69eunmJ1c3o59Lj/2ubyU2N+HDh3CgAED0P2xIUjemoikpCR07twZdevWtbvWXfERI2v0er3d99PpdPjxxx/LLbMSFBSE4OBgq8/t2LEDL//jH/DPzcVKf3/kffYZ+v3tb/DPzy/3/U32ARit1eJecDCWf/wxYmNj7X6tFEw/l1feX4JOvftbPH90zw589Op4JCUlWYwkHjlyBCNGjMCGDRvQuXNnuZpspsTfc2dkZ2ejWrVqdgU7t0/FBgQEICAgwOJxf39/VXeyJ7DP5Mc+lx/7XF5K6u+YmBhEduuGXRsS0KdPX8TExAAA2j38sF217h5+uD0qVqxY5nv4+/vbdb/F01/B7du30ahRo3LbXVbx5Mcffxwdjx/HM08/jSFHjmANAOTn2xXsigC8CeA9AL179sSXa9agVq1a5b5Oaqafy9qlH6Bjn1iL2nTrln6Abt2izD+v4rp3747MzEyP/44p6ffcGY60nQWKiYhIMaydCiH1aQb23C/n1k107NgR6b+fdbl4cq1atbBzzx7Mnz8fADBAq8UXABqW0cbfAYzUapECYO6cOZg2bVqJQCU3V878VXOgUiOHf0tyc3Nx4sQJnDhxAgBw9uxZnDhxApmZmVK3jYiIfIy1nbNS17qz934LFy6UrHiyRqPBpEmTAADXatXCwxoNLtu49jKA9hoNrtWujeSDB/Hqq696NNQBvrtzWY0c/k358ccf0b59e7Rv3x4AMHnyZLRv3x5vvvmm5I0jIiLfY22ER+pad/bcz13Fk0ePGYNCAJVsPF8JQAGAuFdeQZcuXRy6tzuxNp06OBzsevbsCVEULb5WrVrlhuYRERFJP2Jk7/3cUTz522++Qawowvp2CyAYQKwo4puvv3b43u7E2nTqwLNiiYhIFaQYMcrOzjYX1I0bOxbnTp3Eng0JuH7lEnavX4Nzp1MRFzfWXHPVHVOQR1NSMPx+QQoRwCIA1TUaLLr/PQAMF0X89+hRZGVlOXx/KRXvr+J9ZjqGLC5urEVxYvIsbp4gIiJVKB6yOvWJdThc6fV61KpVy6LUyYo3p5X4ftiwYSV2upbeOGDPhoGy+AsCBgG4CuAFjQbbDAb06dULk/bswS6NBqsMBgwC4He/pNi4ceMcun92djZycnLKvS44OLjM0hm2+kvQaLBv8wYIGg2GDRsGoOydwSQvBjsiIlINU8gyjRg5Eq60Wi26RkbaVTql+E5XVwNlaT0EAccAPOvnB0NICLZ/9RUGDBiA7du347m//hVts7PxpV6PPoKAjV9/7VCwsxXGrKlYsSJOnz6N0NBQqwHPVn9dyEjDusUf4KnxU1GnYWO7dgaTfBjsiIhINUwh6/tyDq63xdnSKaUD5YK5c2xOk9oaCbt27RoA4LzBgP4A+vXogf+sXo2aNWsCMJ7F/vPJk3j2r39F/++/R4TBgPTkZFy7dg3Vq1e36/OZwtix4ym4m5eHosICm9fevXsX9evXL3O0zVp/dYjpjUdHvQg/f3+HS82Q+zHYERGRqlirdWev4qNvnfsOsCi2a2s0rlu3bvDz87OYgrTGVlDaunUratSogbNaLebNm4fJkydblDGpWbMmknbtwgcffIDXZsyAQa9HYmIiRo8ebfdnNIWx+s1a4MaVyxj/7odO1+Gz1V9+/v4sd6JQDHZERKQqplp3zha+dabYrlarRbt27ZDyv//hmamvI7xJM4trygtK58+fR40aNbBr9+4yy5hoNBpMmzYNPXv2xNNPPYXff//doc9nCmMn088g59ZNlws7u1KcmOTHXbFERKQ6rpxm4OxO14ULF0I0GBBWt75TBYvfeOMNAECHDh3samenTp2QlpGBOXPmOPwZZ8bH43LmedRv1gJfL3WtDh+LE6sLgx0REfkcZ0qnuFqw2JnTIwRBcOp1prYW5Ofh/GnX6/CxOLF6MNgREZHPcbbYrjsKFruLrVE7V49hY3FiZWOwIyIin2QKaaadrvaEMjVNS9oatXP1GDZH+ovkx80TRESkSFIV2rXF2dIpUhcsdidTW6vUCEPCR++7VIfP1VIzJA8GOyIi8oiygpter0ezZs1w9+7dcu/jyqkHzpROkbpgsTuZw9iePbh59YpThZ2Lc6XUDMmDwY6IiGTnyAkJ/hUCMPWjTyw2EdhTh608zpZOceUEDLmZwliTJk2wz8XRNldLzZD7MdgREZHs7D3e66NXJ+ChmrXxSM++Fs9LdeqBMyFFTdOSpjB27NgxPPbYYy6PtjHUKRuDHREReYQ9x3vl3r6FoMqhMBgMdp8SIRc1TUv6+/tztM1HcFcsERF5hD114To+8gguZ55TZHkRU1CKjIz0WBscxVDn/RjsiIjIY8qrC7do4UJFlxdhUCKl4VQsERF5jLVD5ksHNzWVF1E7d5eYIfdjsCMiIo8qL7ipqbxIacWDkl6vBwBcunTJYhevEoKSIzuVXSkxQ+7FYEdERB5lT3BzpryIp0efSgclnU6HhIQENG/eHPn5+SWuVUJQsnensqslZsi9GOyIiMjjygtujpYXUcLoU+mgpNUag9LUjz6BQTReo7SgZM9OZSlKzJD7MNgREZHH2RPcHCkvIuXokysjf8WDUsc+sUD6cTzcrQdw//2UFpSsrXk0UdKmFbKNwY6IiBShvODmaB02KUafXB35KxGUevVD8fio1KBUes2jCTetqAODHRERKYI9wc2R8iJSjD5JMfJnCkrH9+5G1/CHzI8rNSjZs1OZlIt17IiISDGkrgtnqpN3YMsmXL9yyfy1e/0anDudiri4scjKyjJ/ZWdnW71H9s0bKCosRIeY3hZfhQUFZY78mYLSpk+XmB9TelAqXV9QCQWhyT4csSMiIq8VHR2NXr17Y8mMVyxOtwCAYcOGlfi+3OlUJ0f+ZsbHIzY21vy9UkfrTNRcYsbXMdgREZFXmzVzJnr07Ing0CoY/+6HLk2nOrvuLDo6Gj169ABgXLenhqDkTIkZ8jwGOyIi8mrR0dFo//DDSElJcXojhRTrzmbMmIGbN2/ik9kzVBGUHC0xQ8rANXZEROT1Fi0ybnxYu3iexZSsI9Oprqw7i4yMBAAkb01UTVB6a/ZshIaG2lVihpSBwY6IiLyeadTuj/TT5mBmYm9AKz5q58p0auXKlVUTlEw7lU2hlJSPwY6IiHzC4sWL4V+hAtYv/cA8aufodKpp1M607syZXaIZGRmqCkpS71Qm92KwIyIin9CtWzfsSErCudOpTk+nmkbt9rmw7oxBidyJwY6IiHxGr169XJ5O5bozUjLuiiUiIp/iahkPR482c4fs7GxcvHgRubm5ZV4XFBSE2rVrW5xhK3VbnD1Ll6THYEdERD5FijIengx1er0eNWvWRP7du4Aolnu9taLLUrbFlbN0SXoMdkRE5HPemj0bKcePq3I6VavVIrJbNxw4cAAVAyuVWXT5o1cnoMsjj7gtTElxli5Ji8GOiIh8jiemU03TlZcuXSoz4NgzZWmaTi4qLCyz6HLu7VtuP9+1eFucKf5M0uLmCSIi8klyhjq9Xo+IiAgAQPPmzVG3bl2bX7Vq1YJery/zfqbpZF1QEL4uVr7FxGAwYN3iebIUQi5e38/Z4s8kHY7YERERuZlWq0WnTp0AAFMWrYQouD5laRopO3+/fEvpM2z/OJOGNZ//W7oPYUdbnD1Ll6TDETsiIiIZzJgxAwBwr7AIHWJ6W3wVFhQ4NGVpa9ROztG60m0pPmrH0TrPYLAjIiKSgem0iU2fLpFsynJmfDzyc3PNo3bAg9E6ude0uXqWLkmDwY6IiEhGmWmnnD6vtrTSo3Z6vV720brSbXH1LF1yDYMdERGRjHr06CHplGXxUbulr03yyGhd8ba4epYuuYabJ4iIiOwkxSkLM2bMQI8ePcwbDVzdYGAaKfvhhx9cOsNWClIUfybXMNgRERHZQapTFiIjI81Tlp36xEoyZfnW7NmIjY0FBMHjRZfVXPzZGzDYERER2UHKUxZcPa+2tG7duuHGjRsAPHvcmaktnj5L15cx2BEREdlJqlMW3DFlqaQgpaS2+BpuniAiIrKTlKcsvDV7NkJDQzllSZJisCMiInJA6XptJo6WLDFNWZrq2xFJgVOxRESkOlLsTnVW8VG7zn0HQKPROF2yhFOWJDUGOyIiUhWpdqe6ovTZqDwTlZSCwY6IiFRFyt2pzio+aidVyRJ38eToJsmPwY6IiFRHqt2pUrRBqpIl7uDI6KZOp0NWVhaqVKkiQ8vIXRjsiIhIdaytczNx9YguR9ug5FMWtFotunTtimPHUzDhvY9sjm5+9OoE3MnJRt26dd0ydU3yYbAjIiJVKr3OzUTO9W5qOGVh1syZ5Y5u5t6+hcDgYER27sJQp3Isd0JERKpkraacXKN1JmooWRIdHY2OHTsi4aP3rdbe+3rpAtRv1hJ5OTlunbomeTDYERGRapWuKedoLTkpqKFkycKFC3HhTJrV2nuZaakoyLuj2OlkcgyDHRERqVbxUTu9Xq/o3ameZG3Urvho3eU/znO0zksw2BERkaqZRu1Mu1MZUKwrPWrH0Trv5FSwW7p0KRo0aICKFSuiS5cuOHr0qNTtIiIisotp1G6fgnenKkHxUTu9Xs/ROi/lcLBbt24dJk+ejPj4eKSkpKBdu3aIjY3F1atX3dE+IiKicr01ezZCQ0MVvTtVCUyjdktfm8TROi/lcLBbsGABRo8ejRdeeAEtW7bEihUrEBgYiM8++8wd7SMiIiqXGnanKoFp1G7f5g2oWiOMo3VeyKFgV1hYiOPHj6Nv374PbqDRoG/fvjh06JDkjSMiIrKXGnanKsFHH30EP39/3Lh6haN1XsihAsV//vkn9Ho9wsLCSjweFhaGU6dOWX1NQUEBCgoKzN9nZ2cDAIqKilBUVORoe32SqZ/YX/Jhn8uPfS4v9rf8lNLnnTp1wu5du/CXv/wFs2bN9Hh73Ekpfe4qR9oviKIo2nvxxYsXUadOHfz3v/8tMdz9z3/+E/v27cORI0csXjNz5kzMmjXL4vE1a9YgMDDQ7oYSERER+aK8vDw8/fTTuH37NkJCQsq81qERu2rVqkGr1eLKlSslHr9y5Qpq1qxp9TUzZszA5MmTzd9nZ2cjPDwc/fv3L7dxZFRUVIRdu3ahX79+nGqQCftcfuxzebG/5cc+l5+39LlpttMeDgW7ChUqoGPHjtizZw+GDBkCwFjgcM+ePRg3bpzV1wQEBCAgIMDicX9/f1V3siewz+THPpcf+1xe7G/5sc/lp/Y+d6TtDgU7AJg8eTKee+45PPLII+jcuTMWLVqEO3fu4IUXXnD0VkREREQkIYeD3VNPPYVr167hzTffxOXLl/Hwww8jKSnJYkMFEREREcnL4WAHAOPGjbM59UpEREREnsGzYomIiIi8BIMdERERkZdgsCMiIiLyEk6tsSMiIlK77Oxs5OTklHtdcHAw666SajDYERGRz9Hr9ahVqxby8vLKvTYwMBDZ2dnQarUytIzINQx2RETkc7RaLbpGRuLHlP9h3NxFEDSWK5NEgwFLZkxEpw4dGOpINRjsiIjIJ82Mj0dMTAyKCgvRtf+jFs8f2rEV2TdvYObMeA+0jsg53DxBREQ+KTo6Gr379MH6ZQtgMBhKPGcwGLBh2QL06dMX3bt391ALiRzHYEdERD5rZnw8zp06iaO7k0o8fmTXdpw7ncrROlIdBjsiIvJZ1kbtOFpHasZgR0REPq30qB1H60jNGOyIiMinFR+10+v1HK0jVeOuWCIi8nmmHbJLX5uEc6dT8eWnH3u6SURO4YgdERH5PNOo3b7NGzhaR6rGYEdERATgrdmzERoairfemu3pphA5jVOxREREALp164arV6/C39/f000hchpH7IiIiO5jqCO1Y7AjIiIi8hIMdkRERERegsGOiIiIyEsw2BERERF5CQY7IiIiIi/BYEdERETkJRjsiIiIiLwEgx0RERGRl2CwIyIiIvISDHZEREREXkL2s2JFUQQAZGdny/3WqlVUVIS8vDxkZ2fzuBuZsM/lxz6XF/tbfuxz+XlLn5sykylDlUX2YJeTkwMACA8Pl/utiYiIiFQrJycHlStXLvMaQbQn/knIYDDg4sWLCA4OhiAIcr61amVnZyM8PBx//PEHQkJCPN0cn8A+lx/7XF7sb/mxz+XnLX0uiiJycnJQu3ZtaDRlr6KTfcROo9Ggbt26cr+tVwgJCVH1L6Yasc/lxz6XF/tbfuxz+XlDn5c3UmfCzRNEREREXoLBjoiIiMhLMNipQEBAAOLj4xEQEODppvgM9rn82OfyYn/Lj30uP1/sc9k3TxARERGRe3DEjoiIiMhLMNgREREReQkGOyIiIiIvwWBHRERE5CUY7FTk3LlzePHFF9GwYUPodDo0btwY8fHxKCws9HTTvNqcOXPQrVs3BAYGIjQ01NPN8UpLly5FgwYNULFiRXTp0gVHjx71dJO82v79+zFo0CDUrl0bgiAgMTHR003yanPnzkWnTp0QHByMGjVqYMiQITh9+rSnm+XVli9fjrZt25oLE0dGRmL79u2ebpYsGOxU5NSpUzAYDFi5ciV+++03LFy4ECtWrMBrr73m6aZ5tcLCQowYMQIvv/yyp5vildatW4fJkycjPj4eKSkpaNeuHWJjY3H16lVPN81r3blzB+3atcPSpUs93RSfsG/fPsTFxeHw4cPYtWsXioqK0L9/f9y5c8fTTfNadevWxbvvvovjx4/jxx9/RO/evTF48GD89ttvnm6a27HcicrNmzcPy5cvx++//+7ppni9VatWYeLEibh165anm+JVunTpgk6dOmHJkiUAjOdJh4eHY/z48Zg+fbqHW+f9BEHApk2bMGTIEE83xWdcu3YNNWrUwL59+xATE+Pp5viMqlWrYt68eXjxxRc93RS34oidyt2+fRtVq1b1dDOInFJYWIjjx4+jb9++5sc0Gg369u2LQ4cOebBlRO5z+/ZtAOC/u2Wi1+uxdu1a3LlzB5GRkZ5ujtv5eboB5LwzZ85g8eLFmD9/vqebQuSUP//8E3q9HmFhYSUeDwsLw6lTpzzUKiL3MRgMmDhxIqKiotC6dWtPN8er/fLLL4iMjMTdu3cRFBSETZs2oWXLlp5ulttxxE4Bpk+fDkEQyvwq/UcuKysLAwYMwIgRIzB69GgPtVy9nOlzIiJXxcXF4ddff8XatWs93RSv16xZM5w4cQJHjhzByy+/jOeeew4nT570dLPcjiN2CjBlyhQ8//zzZV7TqFEj8z9fvHgRvXr1Qrdu3fDxxx+7uXXeydE+J/eoVq0atFotrly5UuLxK1euoGbNmh5qFZF7jBs3Dt999x3279+PunXrero5Xq9ChQpo0qQJAKBjx444duwYPvzwQ6xcudLDLXMvBjsFqF69OqpXr27XtVlZWejVqxc6duyIzz//HBoNB12d4Uifk/tUqFABHTt2xJ49e8yL9w0GA/bs2YNx48Z5tnFEEhFFEePHj8emTZuwd+9eNGzY0NNN8kkGgwEFBQWebobbMdipSFZWFnr27In69etj/vz5uHbtmvk5jm64T2ZmJm7cuIHMzEzo9XqcOHECANCkSRMEBQV5tnFeYPLkyXjuuefwyCOPoHPnzli0aBHu3LmDF154wdNN81q5ubk4c+aM+fuzZ8/ixIkTqFq1KurVq+fBlnmnuLg4rFmzBps3b0ZwcDAuX74MAKhcuTJ0Op2HW+edZsyYgYEDB6JevXrIycnBmjVrsHfvXuzYscPTTXM/kVTj888/FwFY/SL3ee6556z2+Q8//ODppnmNxYsXi/Xq1RMrVKggdu7cWTx8+LCnm+TVfvjhB6u/088995ynm+aVbP17+/PPP/d007zW3/72N7F+/fpihQoVxOrVq4t9+vQRd+7c6elmyYJ17IiIiIi8BBdoEREREXkJBjsiIiIiL8FgR0REROQlGOyIiIiIvASDHREREZGXYLAjIiIi8hIMdkRERERegsGOiIiIyEsw2BERERF5CQY7IiIiIi/BYEdERETkJRjsiIiIiLzE/wNasaG34WKJBAAAAABJRU5ErkJggg==\n"
},
"metadata": {}
}
],
"source": [
"plt.scatter(X[y_km == 0, 0],\n",
" X[y_km == 0, 1],\n",
" s=50, c='lightgreen',\n",
" marker='s', edgecolor='black',\n",
" label='Cluster 1')\n",
"plt.scatter(X[y_km == 1, 0],\n",
" X[y_km == 1, 1],\n",
" s=50, c='orange',\n",
" marker='o', edgecolor='black',\n",
" label='Cluster 2')\n",
"plt.scatter(X[y_km == 2, 0],\n",
" X[y_km == 2, 1],\n",
" s=50, c='lightblue',\n",
" marker='v', edgecolor='black',\n",
" label='Cluster 3')\n",
"plt.scatter(km.cluster_centers_[:, 0],\n",
" km.cluster_centers_[:, 1],\n",
" s=250, marker='*',\n",
" c='red', edgecolor='black',\n",
" label='Centroids')\n",
"plt.legend(scatterpoints=1)\n",
"plt.grid()\n",
"plt.tight_layout()\n",
"# plt.savefig('images/11_02.png', dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "c9JXA1PRlsd9"
},
"source": [
"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "pHhc5F78lsd9"
},
"source": [
"## k-평균 ++로 초기 클러스터 센트로이드를 똑똑하게 할당"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9Y0eBpr7lsd9"
},
"source": [
"..."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "goFnVAfplsd9"
},
"source": [
"## 직접 군집 vs 간접 군집"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9W9ynY7Blsd9"
},
"source": [
"..."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "SDjpKK3-lsd-"
},
"source": [
"## 엘보우 방법을 사용하여 최적의 클러스터 개수 찾기"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:44.346360Z",
"iopub.status.busy": "2021-10-23T10:43:44.344380Z",
"iopub.status.idle": "2021-10-23T10:43:44.350172Z",
"shell.execute_reply": "2021-10-23T10:43:44.349355Z"
},
"id": "HkOCdPuRlsd-",
"outputId": "9bac80a3-5526-4676-e6fd-238481941a74"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"왜곡: 72.48\n"
]
}
],
"source": [
"print('왜곡: %.2f' % km.inertia_)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 487
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:44.360841Z",
"iopub.status.busy": "2021-10-23T10:43:44.360151Z",
"iopub.status.idle": "2021-10-23T10:43:48.568551Z",
"shell.execute_reply": "2021-10-23T10:43:48.567454Z"
},
"id": "1x5O1iKElsd-",
"outputId": "dcc7140e-4ce3-44e6-b904-29c0eb3a4489"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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NmxQnz59JEkXXnihtm7dqh49eqhXr15Bj8aEucTERGVkZGjlypVB21euXKmsrKwGf87ZZ5+t2NjYBi+F0rFjR5WXl6uysjKwrb4/u3POOUdTp07VJ598ouuvvz4wycRut8vr9QYd279/f3m9XpWUlJz0Z5Kenn7amvr3768ZM2Zo1apV6tu3r+bPn9+gcwHQfAh2AFpcv379NGHCBL3wwgtB2y+77DIdOHBATz31lHbv3q0XX3xRH330UbN974svvqgFCxZox44dysnJ0eHDh3XbbbdJknJyclRaWqpf/epXWrdunXbv3q2PP/5Yt95660mB53SmT5+uJ598Uu+++6527typBx54QJs2bdI999zT4M+IiYnR/fffrz/84Q/629/+pt27d2v16tV67bXX6j1+yJAhiouL0x//+Eft3r1b8+fP17x58wL7jx49qsmTJ+uzzz7T999/r5UrV2rdunWBYNujRw9VVFRo6dKlOnjwoI4cOaJzzjlHEyZM0MSJE/X+++8rLy9Pa9eu1ezZs/XPf/7zlLXn5eVpxowZys3N1ffff69PPvlEu3btCnwXgNZDsAPQKmbNmnXSpdI+ffropZde0osvvqjzzz9fa9euPeWM0aaYM2eO5syZo/PPP19ffvmlFi5cqA4dOkhSoMvm9Xo1cuRI9evXT1OmTFFSUlLQeL6GuPvuuzVt2jTde++96tevnxYvXqyFCxfq7LPPbtTnPPTQQ7r33nv18MMPq0+fPvrlL3950rhBv+TkZL355pv617/+pX79+untt98OWkbFarXq0KFDmjhxos455xz94he/0OjRo/Xoo49Kki666CL97ne/0y9/+Ut17NhRTz31lKS6S6oTJ07Uvffeq5/85CcaN26c1q1bp27dup2y7ri4OO3YsUPjx4/XOeecozvuuEM5OTn67W9/26jzB3DmLMaJgzQAAAAQlujYAQAARAiCHQAAQIQg2AEAAEQIgh0AAECEINgBAABECIIdAABAhCDYAQAARAiCHQAAQIQg2AEAAEQIgh0AAECEINgBAABECIIdAABAhPj/ykJ4t4ucm2kAAAAASUVORK5CYII=\n"
},
"metadata": {}
}
],
"source": [
"distortions = []\n",
"for i in range(1, 11):\n",
" km = KMeans(n_clusters=i,\n",
" init='k-means++',\n",
" n_init=10,\n",
" max_iter=300,\n",
" random_state=0)\n",
" km.fit(X)\n",
" distortions.append(km.inertia_)\n",
"plt.plot(range(1, 11), distortions, marker='o')\n",
"plt.xlabel('Number of clusters')\n",
"plt.ylabel('Distortion')\n",
"plt.tight_layout()\n",
"# plt.savefig('images/11_03.png', dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "tgkiKdjnlsd-"
},
"source": [
"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "S9bk-zc6lsd_"
},
"source": [
"## 실루엣 그래프로 군집 품질을 정량화"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 487
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:48.581813Z",
"iopub.status.busy": "2021-10-23T10:43:48.580611Z",
"iopub.status.idle": "2021-10-23T10:43:49.457936Z",
"shell.execute_reply": "2021-10-23T10:43:49.456786Z"
},
"id": "yfExDwu-lsd_",
"outputId": "d3dfaec6-2b1a-49d6-ffa2-706f76a07b3c"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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FHNRj3k4hrk4hrk4hrk4hrmoF63zYGY6evSoegQQqmM62MXF1Z8imJGREVW/ACelp6czF99gLuoxD8cwF8cwF8cwF8cwF/WicR4CbWCxeQIAAMAlCHYAAAAuEdPBzuv1Kjc3V16v1+lSHMdcHMNc1GMejmEujmEujmEujmEu6rlhHjwWyN5ZAAAARL2Y7tgBAADgGIIdAACASxDsAAAAXCLqg92CBQvUt29fJScna+TIkdq4caPf45cuXapTTz1VycnJGjJkiFauXBmhSsMvmLnYsWOHrr76avXt21cej0fz58+PXKEREMxcPPvsszr//PPVuXNnde7cWWPHjm317yhWBDMPy5cv17nnnqtOnTopLS1Nw4YN0x/+8IcIVhtewf5b0WDJkiXyeDy68sorw1tgBAUzF4sWLZLH42nySE5OjmC14RXs38WRI0c0depUZWZmyuv1auDAga7470gw8zBmzJhmfxMej0eXXnppBCsOn2D/JubPn69BgwYpJSVFWVlZuueee1RRURGhakNgUWzJkiWWlJRkL7zwgu3YscNuvfVW69Spk+3fv7/F4zds2GDx8fE2d+5c27lzpz3wwAOWmJho27Zti3DlbS/Yudi4caPNmDHD/vznP1v37t3tV7/6VWQLDqNg5+K6666zBQsW2NatW23Xrl02ZcoUy8jIsC+++CLClbetYOdhzZo1tnz5ctu5c6fl5+fb/PnzLT4+3t54440IV972gp2LBgUFBdazZ087//zz7YorrohMsWEW7FwsXLjQ0tPTrbCw0PfYt29fhKsOj2DnorKy0s4991ybOHGirV+/3goKCmzt2rWWl5cX4crbVrDz8PXXXzf5e9i+fbvFx8fbwoULI1t4GAQ7Fy+++KJ5vV578cUXraCgwFatWmWZmZl2zz33RLjywEV1sBsxYoRNnTrV93Vtba316NHD5syZ0+LxkyZNsksvvbTJcyNHjrQf//jHYa0zEoKdi8b69OnjqmB3InNhZlZTU2MdO3a0xYsXh6vEiDjReTAzO+uss+yBBx4IR3kRFcpc1NTUWE5Ojj333HM2efJk1wS7YOdi4cKFlpGREaHqIivYuXjmmWesX79+VlVVFakSI+JE/6341a9+ZR07drSSkpJwlRgxwc7F1KlT7aKLLmry3PTp023UqFFhrfNERO1SbFVVlTZv3qyxY8f6nouLi9PYsWP197//vcXv+fvf/97keEmaMGHCcY+PFaHMhVu1xVyUlZWpurrad6/hWHSi82BmWr16tfbs2aMLLrggnKWGXahz8cgjj6hr1666+eabI1FmRIQ6FyUlJerTp4+ysrJ0xRVXaMeOHZEoN6xCmYu//vWvys7O1tSpU9WtWzedccYZmj17tmprayNVdptri38zn3/+ef3gBz9QWlpauMqMiFDmIicnR5s3b/Yt13788cdauXKlJk6cGJGaQxG194o9dOiQamtr1a1btybPd+vWTbt3727xe/bt29fi8fv27QtbnZEQyly4VVvMxc9+9jP16NGj2f8JiCWhzkNRUZF69uypyspKxcfH6+mnn9a4cePCXW5YhTIX69ev1/PPP6+8vLwIVBg5oczFoEGD9MILL2jo0KEqKirSE088oZycHO3YsUO9evWKRNlhEcpcfPzxx3r77bf1wx/+UCtXrlR+fr7uuOMOVVdXKzc3NxJlt7kT/Tdz48aN2r59u55//vlwlRgxoczFddddp0OHDum8886TmammpkY/+clPdP/990ei5JBEbbADwuHxxx/XkiVLtHbtWledIB6ojh07Ki8vTyUlJVq9erWmT5+ufv36acyYMU6XFjFHjx7VDTfcoGeffVYnnXSS0+U4Ljs7W9nZ2b6vc3JydNppp+m3v/2tZs2a5WBlkVdXV6euXbvqd7/7neLj43XOOefoyy+/1Lx582I22J2o559/XkOGDNGIESOcLsURa9eu1ezZs/X0009r5MiRys/P1913361Zs2bpwQcfdLq8FkVtsDvppJMUHx+v/fv3N3l+//796t69e4vf071796COjxWhzIVbnchcPPHEE3r88cf11ltvaejQoeEsM+xCnYe4uDgNGDBAkjRs2DDt2rVLc+bMielgF+xc7N27V5988okuu+wy33N1dXWSpISEBO3Zs0f9+/cPb9Fh0hb/ViQmJuqss85Sfn5+OEqMmFDmIjMzU4mJiYqPj/c9d9ppp2nfvn2qqqpSUlJSWGsOhxP5mygtLdWSJUv0yCOPhLPEiAllLh588EHdcMMNuuWWWyRJQ4YMUWlpqW677Tb9/Oc/V1xc9J3RFn0VfSMpKUnnnHOOVq9e7Xuurq5Oq1evbvL/LhvLzs5ucrwk/e1vfzvu8bEilLlwq1DnYu7cuZo1a5beeOMNnXvuuZEo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\n"
},
"metadata": {}
}
],
"source": [
"import numpy as np\n",
"from matplotlib import cm\n",
"from sklearn.metrics import silhouette_samples\n",
"\n",
"km = KMeans(n_clusters=3,\n",
" init='k-means++',\n",
" n_init=10,\n",
" max_iter=300,\n",
" tol=1e-04,\n",
" random_state=0)\n",
"y_km = km.fit_predict(X)\n",
"\n",
"cluster_labels = np.unique(y_km)\n",
"n_clusters = cluster_labels.shape[0]\n",
"silhouette_vals = silhouette_samples(X, y_km, metric='euclidean')\n",
"y_ax_lower, y_ax_upper = 0, 0\n",
"yticks = []\n",
"for i, c in enumerate(cluster_labels):\n",
" c_silhouette_vals = silhouette_vals[y_km == c]\n",
" c_silhouette_vals.sort()\n",
" y_ax_upper += len(c_silhouette_vals)\n",
" color = cm.jet(float(i) / n_clusters)\n",
" plt.barh(range(y_ax_lower, y_ax_upper), c_silhouette_vals, height=1.0,\n",
" edgecolor='none', color=color)\n",
"\n",
" yticks.append((y_ax_lower + y_ax_upper) / 2.)\n",
" y_ax_lower += len(c_silhouette_vals)\n",
"\n",
"silhouette_avg = np.mean(silhouette_vals)\n",
"plt.axvline(silhouette_avg, color=\"red\", linestyle=\"--\")\n",
"\n",
"plt.yticks(yticks, cluster_labels + 1)\n",
"plt.ylabel('Cluster')\n",
"plt.xlabel('Silhouette coefficient')\n",
"\n",
"plt.tight_layout()\n",
"# plt.savefig('images/11_04.png', dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "8jLodeOrlsd_"
},
"source": [
"잘못된 클러스터링:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 487
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:49.481805Z",
"iopub.status.busy": "2021-10-23T10:43:49.480893Z",
"iopub.status.idle": "2021-10-23T10:43:50.074506Z",
"shell.execute_reply": "2021-10-23T10:43:50.074981Z"
},
"id": "1xzn7tXVlsd_",
"outputId": "a99329ef-b802-4581-e6e1-48cabd58b2c5"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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efVpU1JSoNPpsG/fPowdOxbR0dHo2bMnZs+ejb179wIAfv75Zzz77LMIDw9HWFgYHnzwQRw6dMj+GIsWLcLdd9+Nt99+G127dkXLli3x+9//3r6R5sknn8SePXuwbt06GAwG6HQ6nD592j6lum3bNvTr1w+BgYHIz8/HzZs3MWPGDLRr1w5BQUEYNGgQ9u/fb38+R1OxGzduRFRUFIKDgzFmzBhcvny53us8dOgQhg4ditDQUISFhaFfv374z3/+48We5YgdEfmoulOoYqdTY2JiEBsb6+kmyU5oLbhJkyY5vcbXQq7i5ecDmzY5//x331mnX2trb91mMACpqUDPns7vN3EiMGiQW0366aefsH37dqSnp6NFixaNPm9bozZu3DgYjUZs27YNLVu2xPr16/HQQw/h+PHjaNOmDQCguLgYW7Zswccff4wrV67gd7/7HV5++WWkp6fjtddew/HjxxEdHY0lS5ZAr9cjPDwcp0+fBgDMmzcPGRkZ6NatG1q3bo0///nP+Pe//41//vOf6NKlC1555RWMHDkSJ06csD9fXd988w2eeeYZLF26FElJSdi+fTtefPHFetf84Q9/wD333IPMzEwYDAYcPHgQ/v7+bvWbUAx2RATAd46UElv3zBeI7ZOn334arTu3rnebkosX+7TCQiAz0/pvgwHQO5ioqxvqbB9//bX1T11m861r77nH7WB34sQJWCwW3HnnnU6vyc/Px759+3Dx4kUEBgYCADIyMrBlyxa8//77+OMf//hLk8zYuHGj/Xv48ccfx65du5Ceno6WLVsiICAARqMRERER0Dd47S+99BKGDx8OALh+/ToyMzOxceNGJCYmAgA2bNiA3NxcvPHGG3juuecatfG1117Dww8/jD//+c8AgOjoaHz11VfYvn27/ZqSkhI899xz9tcqxXsngx0R+dSRUj169EBOTg7GjBljr1tnCyW+enqBq1pwhYWFmDRpkr2vpDh5gzxoyhSgY0fg8ceBa9cAk0nY/RxdZzAArVsDb78NPPKI202yWCxNXnPo0CFUVFTgtttuq3d7VVUViouL7R937dq13vrWDh064OLFi4Lace+999r/XVxcDJPJhLi4OPtt/v7+GDBggP3c6IYKCwsxZsyYercNHDiwXrCbPXs2nn32Wbz99tsYNmwYxo0bh+7duwtqn7sY7IhIE0dKiREV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WrRoNDrJaUciItIaBrtmcLTRwRGpAkT76PYICglqMriVHS9DQHCA19vjCa76raioqNkbNBytUyQiIlIrBjs3iS3/sXPnTtx2W+M1b3U1twzIlbNX8ObjbzZ5nVbOVRW7U7fudbbbhARzIiIitWCwc5PYUDFixAivt6m6slpUmwBtrEsTulNX6HVERERqxWDXTGLCQlOB6+inR11uevB0m9w5gkuOEiXOprxZ6JiIiKg+BjsJNRW4pC7bIabUidgit7b6eM0NgmKnvImIiHwZg50CNQw7BosBXdAFpUdK7XXspCa2yK1Nc087cDXlXXdKmYiIiBjsFMW2U7VhWDEajXgg+wGsemRVvZMnpCZ22taTpx1wfRwREVHTGOwUpHXn1vZ/1z05wk9n/TKNf208aiw1AKynMTQs3Hu55LJX2ye2vAvLiBAREUmLwU6h6m6iMBqNSMpOwuaZmxuN2NWdwvTExgtnxK51Y304IiIi6THYKVBOTk69jQ1msxmlpaXIy8uDXq+33153CvP48eP48MMPMXfuXK+0SWx5l3379tUb3fNmkWahGzTqXsfzZYmISIsY7JrJG+U/oqKi6h2vZTKZUFpair59+8Lf39/hfXr06IGhQ4d6rU02Qte6TZo0qdFtnh7FCwoJAiB8g4aj67RQx4+IiMiGwc5NYst/AN6vASe2Td4MNVKc8hDePRwL9i/AjYob9ufIyspCixYteFYsERH5JAY7N4kp/3H58mWMGDHC64FLbEkSb4YaqXaxhncPr/dxTExMvdFOIiIiX8Jg1wxigpFUgUurI1BynHhBRESkNgx2EtFq4PI2JU0vExERKR2DHSmakqaXiYiIlI7BjhSPYY2IiEgYBjsShWvdiIiIlIvBjgQRu9bNVmOOiIiIpMNgR4I4WutWWFiISZMm1TvXFgACggNwo+IGzhw6A4CjeERERFJhsCPBGq51s43iCT2jljtW5VdUVMSNKEREGsZgR27jjlV1KSoqQnR0tODrPX0EHBEReR+DHTULf/Crhy2A1z3uzRFvHQFHRETex2BH5GOkOu6NiIikp5e7AURERETkGQx2RERERBrBYEdERESkEQx2RERERBrBYEdERESkEQx2RERERBrBcidEPqapI954BBwRkXox2BH5CNuRbll/yhJ1PRERqQeDnYrx3E8Sg0fAERFpH4OdSvHcT3IH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paV4+OGHMW7cOEyZMkWmlquXO31ORNRcqampOHLkCN555x25m6J5v/rVr3Dw4EF88803mDp1KiZPnoyjR4/K3Syv44idAsyZMwdPPvmky2u6detm//e5c+cwdOhQPPDAA3j99de93DptEtvn5B1t27aFwWBAWVlZvdvLysoQEREhU6uIvGPatGn4+OOPkZeXh86dO8vdHM0LCAjAHXfcAQDo168f9u/fj9deew3r16+XuWXexWCnAOHh4QgPDxd0bWlpKYYOHYp+/frhrbfegl7PQVd3iOlz8p6AgAD069cPu3btsi/eN5vN2LVrF6ZNmyZv44g8xGKxYPr06cjJycHu3btx++23y90kn2Q2m3Hz5k25m+F1DHYqUlpaiiFDhqBLly7IyMjApUuX7J/j6Ib3lJSU4KeffkJJSQlqa2tx8OBBAMAdd9yBkJAQeRunAbNnz8bkyZNx7733YsCAAVi5ciWuX7+Op556Su6maVZFRQVOnDhh//jUqVM4ePAg2rRpg6ioKBlbpk2pqanYtGkTPvjgA4SGhuLChQsAgJYtW8JoNMrcOm2aP38+EhMTERUVhWvXrmHTpk3YvXs3duzYIXfTvM9CqvHWW29ZADj8Q94zefJkh33++eefy900zVi1apUlKirKEhAQYBkwYIBl7969cjdJ0z7//HOH39OTJ0+Wu2ma5Ox9+6233pK7aZr19NNPW7p06WIJCAiwhIeHWx566CHLzp075W6WJFjHjoiIiEgjuECLiIiISCMY7IiIiIg0gsGOiIiISCMY7IiIiIg0gsGOiIiISCMY7IiIiIg0gsGOiIiISCMY7IiIiIg0gsGOiIiISCMY7IiIiIg0gsGOiIiISCMY7IiIiIg04v8DaV/35UOJqooAAAAASUVORK5CYII=\n"
},
"metadata": {}
}
],
"source": [
"km = KMeans(n_clusters=2,\n",
" init='k-means++',\n",
" n_init=10,\n",
" max_iter=300,\n",
" tol=1e-04,\n",
" random_state=0)\n",
"y_km = km.fit_predict(X)\n",
"\n",
"plt.scatter(X[y_km == 0, 0],\n",
" X[y_km == 0, 1],\n",
" s=50,\n",
" c='lightgreen',\n",
" edgecolor='black',\n",
" marker='s',\n",
" label='Cluster 1')\n",
"plt.scatter(X[y_km == 1, 0],\n",
" X[y_km == 1, 1],\n",
" s=50,\n",
" c='orange',\n",
" edgecolor='black',\n",
" marker='o',\n",
" label='Cluster 2')\n",
"\n",
"plt.scatter(km.cluster_centers_[:, 0], km.cluster_centers_[:, 1],\n",
" s=250, marker='*', c='red', label='Centroids')\n",
"plt.legend()\n",
"plt.grid()\n",
"plt.tight_layout()\n",
"# plt.savefig('images/11_05.png', dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 487
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:50.079006Z",
"iopub.status.busy": "2021-10-23T10:43:50.078025Z",
"iopub.status.idle": "2021-10-23T10:43:50.520424Z",
"shell.execute_reply": "2021-10-23T10:43:50.519486Z"
},
"id": "S32hzlcSlseA",
"outputId": "68708dca-9c2c-46c0-f9c4-eece817c4325"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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r1+f5MoRr1iP+QsvvGDhcNheeOEFKyoqstdee8169uxpd9xxR5IrbzmC3T+deeaZVlBQEP26trbWevXqZTNmzGhy/yuvvNIuvPDCBtvOOussu+mmm1q1TiROrMf862pqaiwnJ8fmzZvXWiUiweI55jU1NTZs2DB7/vnnbfz48QS7FBTrcZ89e7b169fPqqqqklUiEizWY15QUGDnnXdeg22TJ0+24cOHt2qdrYGpWElVVVVas2aNRo0aFd2WlpamUaNG6c9//nOTr/nzn//cYH9JGjt27FH3R9sSzzH/uoqKClVXV6tz586tVSYSKN5j/uCDD6pbt2766U9/mowykWDxHPc//vGPGjp0qAoKCtS9e3eddNJJmj59umpra5NVNlognmM+bNgwrVmzJjpd+9lnn2np0qUaN25cUmpOpJS+V2yi7N27V7W1terevXuD7d27d9eWLVuafM2uXbua3H/Xrl2tVicSJ55j/nV33nmnevXq1Sjgo22K55ivXLlS//mf/6n169cnoUK0hniO+2effaa3335bP/nJT7R06VJt27ZNkyZNUnV1tQoLC5NRNlognmN+9dVXa+/evfr+978vM1NNTY1+9rOf6e67705GyQlFxw6Iw6OPPqr58+dr0aJFyszM9LoctILS0lJde+21eu6559SlSxevy0ESRSIRdevWTc8++6xOP/10/fjHP9Y999yj3/zmN16XhlayfPlyTZ8+Xc8884zWrl2rhQsXasmSJXrooYe8Li1mdOwkdenSRenp6dq9e3eD7bt371aPHj2afE2PHj1i2h9tSzzHvN7jjz+uRx99VG+++aZOOeWU1iwTCRTrMd++fbs+//xzXXTRRdFtkUhEkpSRkaGtW7eqf//+rVs0Wiyef+s9e/ZUMBhUenp6dNsJJ5ygXbt2qaqqSqFQqFVrRsvEc8zvu+8+XXvttbrhhhskSSeffLLKy8t144036p577lFaWur0wVKn0lYUCoV0+umn66233opui0QieuuttzR06NAmXzN06NAG+0vSG2+8cdT90bbEc8wlaebMmXrooYf06quv6owzzkhGqUiQWI/5oEGDtHHjRq1fvz76uPjii3Xuuedq/fr1ysvLS2b5iFM8/9aHDx+ubdu2RYO8JH366afq2bMnoS4FxHPMKyoqGoW3+mBvqXbnVa9Xb7QV8+fPt3A4bHPn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\n"
},
"metadata": {}
}
],
"source": [
"cluster_labels = np.unique(y_km)\n",
"n_clusters = cluster_labels.shape[0]\n",
"silhouette_vals = silhouette_samples(X, y_km, metric='euclidean')\n",
"y_ax_lower, y_ax_upper = 0, 0\n",
"yticks = []\n",
"for i, c in enumerate(cluster_labels):\n",
" c_silhouette_vals = silhouette_vals[y_km == c]\n",
" c_silhouette_vals.sort()\n",
" y_ax_upper += len(c_silhouette_vals)\n",
" color = cm.jet(float(i) / n_clusters)\n",
" plt.barh(range(y_ax_lower, y_ax_upper), c_silhouette_vals, height=1.0,\n",
" edgecolor='none', color=color)\n",
"\n",
" yticks.append((y_ax_lower + y_ax_upper) / 2.)\n",
" y_ax_lower += len(c_silhouette_vals)\n",
"\n",
"silhouette_avg = np.mean(silhouette_vals)\n",
"plt.axvline(silhouette_avg, color=\"red\", linestyle=\"--\")\n",
"\n",
"plt.yticks(yticks, cluster_labels + 1)\n",
"plt.ylabel('Cluster')\n",
"plt.xlabel('Silhouette coefficient')\n",
"\n",
"plt.tight_layout()\n",
"# plt.savefig('images/11_06.png', dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Cl8H3FMPlseA"
},
"source": [
"
\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "vHKX3t9blseA"
},
"source": [
"# 계층적인 트리로 클러스터 조직화"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "mQtGfN8HlseA"
},
"source": [
"## 상향식으로 클러스터 묶기"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 322
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:50.527002Z",
"iopub.status.busy": "2021-10-23T10:43:50.526087Z",
"iopub.status.idle": "2021-10-23T10:43:50.530189Z",
"shell.execute_reply": "2021-10-23T10:43:50.530664Z"
},
"id": "HDyhiXedlseA",
"outputId": "12d640ba-67d4-487a-fca4-11e0bdc4529e"
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
"
],
"text/plain": [
""
]
},
"metadata": {},
"execution_count": 11
}
],
"source": [
"Image(url='https://git.io/JLdsq', width=400)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 213
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:50.537848Z",
"iopub.status.busy": "2021-10-23T10:43:50.536936Z",
"iopub.status.idle": "2021-10-23T10:43:50.709864Z",
"shell.execute_reply": "2021-10-23T10:43:50.710371Z"
},
"id": "mVgWC-WClseB",
"outputId": "1d9dee6d-c02c-4483-beff-3dc20c1d5d90"
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" X Y Z\n",
"ID_0 6.964692 2.861393 2.268515\n",
"ID_1 5.513148 7.194690 4.231065\n",
"ID_2 9.807642 6.848297 4.809319\n",
"ID_3 3.921175 3.431780 7.290497\n",
"ID_4 4.385722 0.596779 3.980443"
],
"text/html": [
"\n",
" \n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" X | \n",
" Y | \n",
" Z | \n",
"
\n",
" \n",
" \n",
" \n",
" | ID_0 | \n",
" 6.964692 | \n",
" 2.861393 | \n",
" 2.268515 | \n",
"
\n",
" \n",
" | ID_1 | \n",
" 5.513148 | \n",
" 7.194690 | \n",
" 4.231065 | \n",
"
\n",
" \n",
" | ID_2 | \n",
" 9.807642 | \n",
" 6.848297 | \n",
" 4.809319 | \n",
"
\n",
" \n",
" | ID_3 | \n",
" 3.921175 | \n",
" 3.431780 | \n",
" 7.290497 | \n",
"
\n",
" \n",
" | ID_4 | \n",
" 4.385722 | \n",
" 0.596779 | \n",
" 3.980443 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"variable_name": "df",
"summary": "{\n \"name\": \"df\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"X\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.3729209349629494,\n \"min\": 3.9211751819415053,\n \"max\": 9.807641983846155,\n \"num_unique_values\": 5,\n \"samples\": [\n 5.513147690828912,\n 4.385722446796244,\n 9.807641983846155\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Y\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.799373917236197,\n \"min\": 0.5967789660956835,\n \"max\": 7.1946896978556305,\n \"num_unique_values\": 5,\n \"samples\": [\n 7.1946896978556305,\n 0.5967789660956835,\n 6.848297385848633\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Z\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1.8168015112162206,\n \"min\": 2.268514535642031,\n \"max\": 7.290497073840417,\n \"num_unique_values\": 5,\n \"samples\": [\n 4.23106460124461,\n 3.9804425533043144,\n 4.809319014843609\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 12
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"np.random.seed(123)\n",
"\n",
"variables = ['X', 'Y', 'Z']\n",
"labels = ['ID_0', 'ID_1', 'ID_2', 'ID_3', 'ID_4']\n",
"\n",
"X = np.random.random_sample([5, 3])*10\n",
"df = pd.DataFrame(X, columns=variables, index=labels)\n",
"df"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "t4HIYGuwlseB"
},
"source": [
"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "TJi78cCVlseB"
},
"source": [
"## 거리 행렬에서 계층 군집 수행"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 213
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:50.726009Z",
"iopub.status.busy": "2021-10-23T10:43:50.725265Z",
"iopub.status.idle": "2021-10-23T10:43:50.729076Z",
"shell.execute_reply": "2021-10-23T10:43:50.729722Z"
},
"id": "nDu2gYTGlseB",
"outputId": "2b14f470-8bc2-4924-af47-a4fa9cb36d48"
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" ID_0 ID_1 ID_2 ID_3 ID_4\n",
"ID_0 0.000000 4.973534 5.516653 5.899885 3.835396\n",
"ID_1 4.973534 0.000000 4.347073 5.104311 6.698233\n",
"ID_2 5.516653 4.347073 0.000000 7.244262 8.316594\n",
"ID_3 5.899885 5.104311 7.244262 0.000000 4.382864\n",
"ID_4 3.835396 6.698233 8.316594 4.382864 0.000000"
],
"text/html": [
"\n",
" \n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" ID_0 | \n",
" ID_1 | \n",
" ID_2 | \n",
" ID_3 | \n",
" ID_4 | \n",
"
\n",
" \n",
" \n",
" \n",
" | ID_0 | \n",
" 0.000000 | \n",
" 4.973534 | \n",
" 5.516653 | \n",
" 5.899885 | \n",
" 3.835396 | \n",
"
\n",
" \n",
" | ID_1 | \n",
" 4.973534 | \n",
" 0.000000 | \n",
" 4.347073 | \n",
" 5.104311 | \n",
" 6.698233 | \n",
"
\n",
" \n",
" | ID_2 | \n",
" 5.516653 | \n",
" 4.347073 | \n",
" 0.000000 | \n",
" 7.244262 | \n",
" 8.316594 | \n",
"
\n",
" \n",
" | ID_3 | \n",
" 5.899885 | \n",
" 5.104311 | \n",
" 7.244262 | \n",
" 0.000000 | \n",
" 4.382864 | \n",
"
\n",
" \n",
" | ID_4 | \n",
" 3.835396 | \n",
" 6.698233 | \n",
" 8.316594 | \n",
" 4.382864 | \n",
" 0.000000 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"variable_name": "row_dist",
"summary": "{\n \"name\": \"row_dist\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"ID_0\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.39136438288609,\n \"min\": 0.0,\n \"max\": 5.899885039085129,\n \"num_unique_values\": 5,\n \"samples\": [\n 4.973534001694992,\n 3.835395554137081,\n 5.516652664985863\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ID_1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.515745355209955,\n \"min\": 0.0,\n \"max\": 6.6982329846063875,\n \"num_unique_values\": 5,\n \"samples\": [\n 0.0,\n 6.6982329846063875,\n 4.3470733871677325\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ID_2\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 3.228532673296693,\n \"min\": 0.0,\n \"max\": 8.31659366611402,\n \"num_unique_values\": 5,\n \"samples\": [\n 4.3470733871677325,\n 8.31659366611402,\n 0.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ID_3\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.743907497850828,\n \"min\": 0.0,\n \"max\": 7.2442615851848,\n \"num_unique_values\": 5,\n \"samples\": [\n 5.104311089868806,\n 4.382864002932181,\n 7.2442615851848\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ID_4\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 3.1621413749424896,\n \"min\": 0.0,\n \"max\": 8.31659366611402,\n \"num_unique_values\": 5,\n \"samples\": [\n 6.6982329846063875,\n 0.0,\n 8.31659366611402\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 13
}
],
"source": [
"from scipy.spatial.distance import pdist, squareform\n",
"\n",
"row_dist = pd.DataFrame(squareform(pdist(df, metric='euclidean')),\n",
" columns=labels,\n",
" index=labels)\n",
"row_dist"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "-fKcq82KlseB"
},
"source": [
"함수 설명을 보면 `pdist` 함수에서 계산한 축약된 거리 행렬(상삼각행렬(upper triangular matrix))을 입력 속성으로 사용할 수 있습니다. 아니면 `linkage` 함수에 초기 데이터 배열을 전달하고 `metric='euclidean'` 지표를 매개변수로 사용할 수 있습니다. 앞서 `squareform` 함수로 만든 거리 행렬은 `linkage` 함수가 기대한 값과 다르기 때문에 사용해서는 안됩니다."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 239
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:50.734186Z",
"iopub.status.busy": "2021-10-23T10:43:50.733251Z",
"iopub.status.idle": "2021-10-23T10:43:50.752252Z",
"shell.execute_reply": "2021-10-23T10:43:50.752913Z"
},
"id": "wK_FfJMblseB",
"outputId": "d5b32cad-9377-494f-b272-68afe7ec967c"
},
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"/tmp/ipython-input-2548429983.py:5: ClusterWarning: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix\n",
" row_clusters = linkage(row_dist, method='complete', metric='euclidean')\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
" row label 1 row label 2 distance no. of items in clust.\n",
"cluster 1 0.0 4.0 6.521973 2.0\n",
"cluster 2 1.0 2.0 6.729603 2.0\n",
"cluster 3 3.0 5.0 8.539247 3.0\n",
"cluster 4 6.0 7.0 12.444824 5.0"
],
"text/html": [
"\n",
" \n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" row label 1 | \n",
" row label 2 | \n",
" distance | \n",
" no. of items in clust. | \n",
"
\n",
" \n",
" \n",
" \n",
" | cluster 1 | \n",
" 0.0 | \n",
" 4.0 | \n",
" 6.521973 | \n",
" 2.0 | \n",
"
\n",
" \n",
" | cluster 2 | \n",
" 1.0 | \n",
" 2.0 | \n",
" 6.729603 | \n",
" 2.0 | \n",
"
\n",
" \n",
" | cluster 3 | \n",
" 3.0 | \n",
" 5.0 | \n",
" 8.539247 | \n",
" 3.0 | \n",
"
\n",
" \n",
" | cluster 4 | \n",
" 6.0 | \n",
" 7.0 | \n",
" 12.444824 | \n",
" 5.0 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"summary": "{\n \"name\": \" for i in range(row_clusters\",\n \"rows\": 4,\n \"fields\": [\n {\n \"column\": \"row label 1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.6457513110645907,\n \"min\": 0.0,\n \"max\": 6.0,\n \"num_unique_values\": 4,\n \"samples\": [\n 1.0,\n 6.0,\n 0.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"row label 2\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.0816659994661326,\n \"min\": 2.0,\n \"max\": 7.0,\n \"num_unique_values\": 4,\n \"samples\": [\n 2.0,\n 7.0,\n 4.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"distance\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.7444604896003972,\n \"min\": 6.521972640924959,\n \"max\": 12.444823560968002,\n \"num_unique_values\": 4,\n \"samples\": [\n 6.729602615839346,\n 12.444823560968002,\n 6.521972640924959\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"no. of items in clust.\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1.4142135623730951,\n \"min\": 2.0,\n \"max\": 5.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 2.0,\n 3.0,\n 5.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 14
}
],
"source": [
"# 1. 잘못된 방식: squareform 거리 행렬\n",
"\n",
"from scipy.cluster.hierarchy import linkage\n",
"\n",
"row_clusters = linkage(row_dist, method='complete', metric='euclidean')\n",
"pd.DataFrame(row_clusters,\n",
" columns=['row label 1', 'row label 2',\n",
" 'distance', 'no. of items in clust.'],\n",
" index=['cluster %d' % (i + 1)\n",
" for i in range(row_clusters.shape[0])])"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 181
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:50.761305Z",
"iopub.status.busy": "2021-10-23T10:43:50.760115Z",
"iopub.status.idle": "2021-10-23T10:43:50.767871Z",
"shell.execute_reply": "2021-10-23T10:43:50.768383Z"
},
"id": "wvyaG-RnlseC",
"outputId": "b343cbfa-e0eb-47f2-faab-f2ad6b851d68",
"scrolled": true
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" row label 1 row label 2 distance no. of items in clust.\n",
"cluster 1 0.0 4.0 3.835396 2.0\n",
"cluster 2 1.0 2.0 4.347073 2.0\n",
"cluster 3 3.0 5.0 5.899885 3.0\n",
"cluster 4 6.0 7.0 8.316594 5.0"
],
"text/html": [
"\n",
" \n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" row label 1 | \n",
" row label 2 | \n",
" distance | \n",
" no. of items in clust. | \n",
"
\n",
" \n",
" \n",
" \n",
" | cluster 1 | \n",
" 0.0 | \n",
" 4.0 | \n",
" 3.835396 | \n",
" 2.0 | \n",
"
\n",
" \n",
" | cluster 2 | \n",
" 1.0 | \n",
" 2.0 | \n",
" 4.347073 | \n",
" 2.0 | \n",
"
\n",
" \n",
" | cluster 3 | \n",
" 3.0 | \n",
" 5.0 | \n",
" 5.899885 | \n",
" 3.0 | \n",
"
\n",
" \n",
" | cluster 4 | \n",
" 6.0 | \n",
" 7.0 | \n",
" 8.316594 | \n",
" 5.0 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"summary": "{\n \"name\": \" for i in range(row_clusters\",\n \"rows\": 4,\n \"fields\": [\n {\n \"column\": \"row label 1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.6457513110645907,\n \"min\": 0.0,\n \"max\": 6.0,\n \"num_unique_values\": 4,\n \"samples\": [\n 1.0,\n 6.0,\n 0.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"row label 2\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.0816659994661326,\n \"min\": 2.0,\n \"max\": 7.0,\n \"num_unique_values\": 4,\n \"samples\": [\n 2.0,\n 7.0,\n 4.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"distance\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.012748192072922,\n \"min\": 3.835395554137081,\n \"max\": 8.31659366611402,\n \"num_unique_values\": 4,\n \"samples\": [\n 4.3470733871677325,\n 8.31659366611402,\n 3.835395554137081\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"no. of items in clust.\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1.4142135623730951,\n \"min\": 2.0,\n \"max\": 5.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 2.0,\n 3.0,\n 5.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 15
}
],
"source": [
"# 2. 올바른 방식: 축약된 거리 행렬\n",
"\n",
"row_clusters = linkage(pdist(df, metric='euclidean'), method='complete')\n",
"pd.DataFrame(row_clusters,\n",
" columns=['row label 1', 'row label 2',\n",
" 'distance', 'no. of items in clust.'],\n",
" index=['cluster %d' % (i + 1)\n",
" for i in range(row_clusters.shape[0])])"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 181
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:50.771975Z",
"iopub.status.busy": "2021-10-23T10:43:50.771267Z",
"iopub.status.idle": "2021-10-23T10:43:50.782391Z",
"shell.execute_reply": "2021-10-23T10:43:50.782863Z"
},
"id": "JCuDBOYylseC",
"outputId": "e5a0c06a-725c-4885-feb6-e11b12ba5185"
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" row label 1 row label 2 distance no. of items in clust.\n",
"cluster 1 0.0 4.0 3.835396 2.0\n",
"cluster 2 1.0 2.0 4.347073 2.0\n",
"cluster 3 3.0 5.0 5.899885 3.0\n",
"cluster 4 6.0 7.0 8.316594 5.0"
],
"text/html": [
"\n",
" \n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" row label 1 | \n",
" row label 2 | \n",
" distance | \n",
" no. of items in clust. | \n",
"
\n",
" \n",
" \n",
" \n",
" | cluster 1 | \n",
" 0.0 | \n",
" 4.0 | \n",
" 3.835396 | \n",
" 2.0 | \n",
"
\n",
" \n",
" | cluster 2 | \n",
" 1.0 | \n",
" 2.0 | \n",
" 4.347073 | \n",
" 2.0 | \n",
"
\n",
" \n",
" | cluster 3 | \n",
" 3.0 | \n",
" 5.0 | \n",
" 5.899885 | \n",
" 3.0 | \n",
"
\n",
" \n",
" | cluster 4 | \n",
" 6.0 | \n",
" 7.0 | \n",
" 8.316594 | \n",
" 5.0 | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"summary": "{\n \"name\": \" for i in range(row_clusters\",\n \"rows\": 4,\n \"fields\": [\n {\n \"column\": \"row label 1\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.6457513110645907,\n \"min\": 0.0,\n \"max\": 6.0,\n \"num_unique_values\": 4,\n \"samples\": [\n 1.0,\n 6.0,\n 0.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"row label 2\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.0816659994661326,\n \"min\": 2.0,\n \"max\": 7.0,\n \"num_unique_values\": 4,\n \"samples\": [\n 2.0,\n 7.0,\n 4.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"distance\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2.012748192072922,\n \"min\": 3.835395554137081,\n \"max\": 8.31659366611402,\n \"num_unique_values\": 4,\n \"samples\": [\n 4.3470733871677325,\n 8.31659366611402,\n 3.835395554137081\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"no. of items in clust.\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1.4142135623730951,\n \"min\": 2.0,\n \"max\": 5.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 2.0,\n 3.0,\n 5.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 16
}
],
"source": [
"# 3. 올바른 방식: 입력 샘플 행렬\n",
"\n",
"row_clusters = linkage(df.values, method='complete', metric='euclidean')\n",
"pd.DataFrame(row_clusters,\n",
" columns=['row label 1', 'row label 2',\n",
" 'distance', 'no. of items in clust.'],\n",
" index=['cluster %d' % (i + 1)\n",
" for i in range(row_clusters.shape[0])])"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 487
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:50.786288Z",
"iopub.status.busy": "2021-10-23T10:43:50.785642Z",
"iopub.status.idle": "2021-10-23T10:43:50.938661Z",
"shell.execute_reply": "2021-10-23T10:43:50.939135Z"
},
"id": "0mWnk-xulseC",
"outputId": "4257123e-9088-4814-85ae-fc6879537d35"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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\n"
},
"metadata": {}
}
],
"source": [
"from scipy.cluster.hierarchy import dendrogram\n",
"\n",
"# 검은색 덴드로그램 만들기 (1/2 부분만)\n",
"# from scipy.cluster.hierarchy import set_link_color_palette\n",
"# set_link_color_palette(['black'])\n",
"\n",
"row_dendr = dendrogram(row_clusters,\n",
" labels=labels,\n",
" # make dendrogram black (part 2/2)\n",
" # color_threshold=np.inf\n",
" )\n",
"plt.tight_layout()\n",
"plt.ylabel('Euclidean distance')\n",
"# plt.savefig('images/11_11.png', dpi=300,\n",
"# bbox_inches='tight')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "idphq9RAlseC"
},
"source": [
"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "TnLnGfmHlseC"
},
"source": [
"## 히트맵에 덴드로그램 연결"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 641
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:50.943824Z",
"iopub.status.busy": "2021-10-23T10:43:50.942728Z",
"iopub.status.idle": "2021-10-23T10:43:51.212395Z",
"shell.execute_reply": "2021-10-23T10:43:51.212871Z"
},
"id": "QRwT02vLlseC",
"outputId": "77af482b-44c0-4542-c4a4-fdc59dbcbce0"
},
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"/tmp/ipython-input-3741933898.py:21: UserWarning: set_ticklabels() should only be used with a fixed number of ticks, i.e. after set_ticks() or using a FixedLocator.\n",
" axm.set_xticklabels([''] + list(df_rowclust.columns))\n",
"/tmp/ipython-input-3741933898.py:22: UserWarning: set_ticklabels() should only be used with a fixed number of ticks, i.e. after set_ticks() or using a FixedLocator.\n",
" axm.set_yticklabels([''] + list(df_rowclust.index))\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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\n"
},
"metadata": {}
}
],
"source": [
"fig = plt.figure(figsize=(8, 8), facecolor='white')\n",
"axd = fig.add_axes([0.09, 0.1, 0.2, 0.6])\n",
"\n",
"# 노트: matplotlib < v1.5.1일 때는 use orientation='right'를 사용하세요\n",
"row_dendr = dendrogram(row_clusters, orientation='left')\n",
"\n",
"# 군집에 맞게 데이터를 재정렬합니다.\n",
"df_rowclust = df.iloc[row_dendr['leaves'][::-1]]\n",
"\n",
"axd.set_xticks([])\n",
"axd.set_yticks([])\n",
"\n",
"# 덴드로그램의 축을 제거합니다.\n",
"for i in axd.spines.values():\n",
" i.set_visible(False)\n",
"\n",
"# 히트맵을 출력합니다.\n",
"axm = fig.add_axes([0.23, 0.1, 0.6, 0.6]) # x-위치, y-위치, 너비, 높이\n",
"cax = axm.matshow(df_rowclust, interpolation='nearest', cmap='hot_r')\n",
"fig.colorbar(cax)\n",
"axm.set_xticklabels([''] + list(df_rowclust.columns))\n",
"axm.set_yticklabels([''] + list(df_rowclust.index))\n",
"\n",
"# plt.savefig('images/11_12.png', dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "zDlCPSiwlseD"
},
"source": [
"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "8MZjtwiClseD"
},
"source": [
"## 사이킷런에서 병합 군집 적용"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:51.217250Z",
"iopub.status.busy": "2021-10-23T10:43:51.216279Z",
"iopub.status.idle": "2021-10-23T10:43:51.222174Z",
"shell.execute_reply": "2021-10-23T10:43:51.222622Z"
},
"id": "-VnTWJbDlseD",
"outputId": "5aa966ce-2a02-4333-e683-941b9f86d48d"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"클러스터 레이블: [1 0 0 2 1]\n"
]
}
],
"source": [
"from sklearn.cluster import AgglomerativeClustering\n",
"\n",
"# 사이킷런 1.2버전에서 `affinity` 매개변수가 deprecated되고\n",
"# 1.4버전에서 삭제되므로 대신 `metric`을 사용합니다.\n",
"ac = AgglomerativeClustering(n_clusters=3,\n",
" metric='euclidean',\n",
" linkage='complete')\n",
"labels = ac.fit_predict(X)\n",
"print('클러스터 레이블: %s' % labels)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:51.226598Z",
"iopub.status.busy": "2021-10-23T10:43:51.225638Z",
"iopub.status.idle": "2021-10-23T10:43:51.231732Z",
"shell.execute_reply": "2021-10-23T10:43:51.231152Z"
},
"id": "EVhHCtwllseD",
"outputId": "613807a7-a505-4422-fce5-4d013bca8638"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"클러스터 레이블: [0 1 1 0 0]\n"
]
}
],
"source": [
"# 사이킷런 1.2버전에서 `affinity` 매개변수가 deprecated되고\n",
"# 1.4버전에서 삭제되므로 대신 `metric`을 사용합니다.\n",
"ac = AgglomerativeClustering(n_clusters=2,\n",
" metric='euclidean',\n",
" linkage='complete')\n",
"labels = ac.fit_predict(X)\n",
"print('클러스터 레이블: %s' % labels)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "601GNGpJlseD"
},
"source": [
"
\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "SeFVp46blseD"
},
"source": [
"# DBSCAN을 사용하여 밀집도가 높은 지역 찾기"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 397
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:51.236816Z",
"iopub.status.busy": "2021-10-23T10:43:51.236177Z",
"iopub.status.idle": "2021-10-23T10:43:51.241115Z",
"shell.execute_reply": "2021-10-23T10:43:51.241536Z"
},
"id": "jF3K1zW-lseE",
"outputId": "c8e1e93a-40c8-4377-ca1c-0027a2dd78a1"
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
"
],
"text/plain": [
""
]
},
"metadata": {},
"execution_count": 21
}
],
"source": [
"Image(url='https://git.io/JLdsY', width=500)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 487
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:51.274506Z",
"iopub.status.busy": "2021-10-23T10:43:51.272206Z",
"iopub.status.idle": "2021-10-23T10:43:51.403204Z",
"shell.execute_reply": "2021-10-23T10:43:51.404107Z"
},
"id": "mOADI80ulseE",
"outputId": "3262c029-1117-4f8c-d846-abfa9e98d588"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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\n"
},
"metadata": {}
}
],
"source": [
"from sklearn.datasets import make_moons\n",
"\n",
"X, y = make_moons(n_samples=200, noise=0.05, random_state=0)\n",
"plt.scatter(X[:, 0], X[:, 1])\n",
"plt.tight_layout()\n",
"# plt.savefig('images/11_14.png', dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "3CUCHqITlseE"
},
"source": [
"K-평균과 계층 군집:"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 307
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:51.435318Z",
"iopub.status.busy": "2021-10-23T10:43:51.433727Z",
"iopub.status.idle": "2021-10-23T10:43:52.183064Z",
"shell.execute_reply": "2021-10-23T10:43:52.183584Z"
},
"id": "JCnbs2-ElseE",
"outputId": "97711c3f-8140-4176-f8cd-68e0db0414ce"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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HR3F5s2bxdmzZ0VUVJRwc3MTSqVSCCHEtGnTRGxsrLT9sWPHhJ2dnVi9erXIzc0V8fHxwt7eXpw+fdrksbZG/EuXLhXff/+9KCgoEJmZmWLixInCyclJ5OTkWCT+yspK6fUNQHz00UciOztbXLp0SQghRGxsrJg2bZq0/YULF4Szs7OYP3++yM3NFevXrxcdOnQQ3333XZuIf82aNWLv3r0iPz9fnD59WsydO1fY2tqKAwcOmD326Oho0aVLF3HkyBFRXFwsPWpqaqRtrP31315xjOAYYar4rWmM4PjA8UGFSYURIiIiBIBmj8OHD0vbABCbNm2Sfq6vrxdxcXHCy8tLODo6ipEjR4q8vDzzBy+EuHHjhpg0aZLo3LmzcHV1FTNnzlQb7AoLC9XOp6ioSAwfPly4u7sLR0dH0atXLzF//nxRXl5ulng//vhj0aNHD+Hg4CCGDBkijh8/Lv1uxIgRIiIiQm37L774QvTp00c4ODiIp556Suzfv98scWpjSPzz5s2TtvXy8hJjxowRWVlZFoi6gWoJvaYPVcwRERFixIgRzfYJCgoSDg4Owt/fX+3/A3MzNP7ExEQREBAgnJychLu7uwgLCxOHDh2ySOya4m76vtIWXv/tEccIjhGGaKtjBMcHjg8qNg+CIiIiIiIiahHWVBARERERkVGYVBARERERkVGYVBARERERkVGYVBARERERkVGYVBARERERkVGYVBARERERkVGYVBARERERkVGYVBARERERkVGYVBARERERkVGYVBARERERkVGYVBARERERkVGYVBARERERkVH+HxPo94zhdILaAAAAAElFTkSuQmCC\n"
},
"metadata": {}
}
],
"source": [
"f, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 3))\n",
"\n",
"km = KMeans(n_clusters=2, n_init=10, random_state=0)\n",
"y_km = km.fit_predict(X)\n",
"ax1.scatter(X[y_km == 0, 0], X[y_km == 0, 1],\n",
" edgecolor='black',\n",
" c='lightblue', marker='o', s=40, label='cluster 1')\n",
"ax1.scatter(X[y_km == 1, 0], X[y_km == 1, 1],\n",
" edgecolor='black',\n",
" c='red', marker='s', s=40, label='cluster 2')\n",
"ax1.set_title('K-means clustering')\n",
"\n",
"# 사이킷런 1.2버전에서 `affinity` 매개변수가 deprecated되고\n",
"# 1.4버전에서 삭제되므로 대신 `metric`을 사용합니다.\n",
"ac = AgglomerativeClustering(n_clusters=2,\n",
" metric='euclidean',\n",
" linkage='complete')\n",
"y_ac = ac.fit_predict(X)\n",
"ax2.scatter(X[y_ac == 0, 0], X[y_ac == 0, 1], c='lightblue',\n",
" edgecolor='black',\n",
" marker='o', s=40, label='Cluster 1')\n",
"ax2.scatter(X[y_ac == 1, 0], X[y_ac == 1, 1], c='red',\n",
" edgecolor='black',\n",
" marker='s', s=40, label='Cluster 2')\n",
"ax2.set_title('Agglomerative clustering')\n",
"\n",
"plt.legend()\n",
"plt.tight_layout()\n",
"# plt.savefig('images/11_15.png', dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "SpDTGZZXlseE"
},
"source": [
"DBSCAN:"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 487
},
"execution": {
"iopub.execute_input": "2021-10-23T10:43:52.214893Z",
"iopub.status.busy": "2021-10-23T10:43:52.193827Z",
"iopub.status.idle": "2021-10-23T10:43:52.358940Z",
"shell.execute_reply": "2021-10-23T10:43:52.359384Z"
},
"id": "hVZeyHtSlseE",
"outputId": "36968d35-3cb4-4b23-e1f5-e977054845ca"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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\n"
},
"metadata": {}
}
],
"source": [
"from sklearn.cluster import DBSCAN\n",
"\n",
"db = DBSCAN(eps=0.2, min_samples=5, metric='euclidean')\n",
"y_db = db.fit_predict(X)\n",
"plt.scatter(X[y_db == 0, 0], X[y_db == 0, 1],\n",
" c='lightblue', marker='o', s=40,\n",
" edgecolor='black',\n",
" label='Cluster 1')\n",
"plt.scatter(X[y_db == 1, 0], X[y_db == 1, 1],\n",
" c='red', marker='s', s=40,\n",
" edgecolor='black',\n",
" label='Cluster 2')\n",
"plt.legend()\n",
"plt.tight_layout()\n",
"# plt.savefig('images/11_16.png', dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "QU22iAUFlseF"
},
"source": [
"
\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "1HQ-KoH3lseF"
},
"source": [
"# 요약"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "nWjScp3hlseF"
},
"source": [
"..."
]
}
],
"metadata": {
"anaconda-cloud": {},
"colab": {
"name": "ch11.ipynb",
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}