{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import statistics \n", "from collections import Counter\n", "from sklearn.impute import SimpleImputer\n", "import sklearn.preprocessing as sk\n", "from scipy.stats import zscore\n", "import jenkspy\n", "import seaborn as sns; sns.set()\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.tree import DecisionTreeClassifier,export_graphviz,plot_tree\n", "from sklearn import tree\n", "from sklearn.naive_bayes import MultinomialNB\n", "import statsmodels.tools.tools as stattools\n", "from sklearn.metrics import accuracy_score,confusion_matrix,classification_report\n", "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.cluster import KMeans\n", "from mpl_toolkits.mplot3d.axes3d import Axes3D\n", "from sklearn.metrics import silhouette_samples, silhouette_score\n", "from scipy.cluster.hierarchy import dendrogram, linkage,fcluster" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# clustering on Banknote Dataset" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
3.62168.6661-2.8073-0.446990
04.545908.16740-2.4586-1.462100
13.86600-2.638301.92420.106450
23.456609.52280-4.0112-3.594400
30.32924-4.455204.5718-0.988800
44.368409.67180-3.9606-3.162500
..................
13660.406141.34920-1.4501-0.559491
1367-1.38870-4.877306.47740.341791
1368-3.75030-13.4586017.5932-2.777101
1369-3.56370-8.3827012.3930-1.282301
1370-2.54190-0.658042.68421.195201
\n", "

1371 rows × 5 columns

\n", "
" ], "text/plain": [ " 3.6216 8.6661 -2.8073 -0.44699 0\n", "0 4.54590 8.16740 -2.4586 -1.46210 0\n", "1 3.86600 -2.63830 1.9242 0.10645 0\n", "2 3.45660 9.52280 -4.0112 -3.59440 0\n", "3 0.32924 -4.45520 4.5718 -0.98880 0\n", "4 4.36840 9.67180 -3.9606 -3.16250 0\n", "... ... ... ... ... ..\n", "1366 0.40614 1.34920 -1.4501 -0.55949 1\n", "1367 -1.38870 -4.87730 6.4774 0.34179 1\n", "1368 -3.75030 -13.45860 17.5932 -2.77710 1\n", "1369 -3.56370 -8.38270 12.3930 -1.28230 1\n", "1370 -2.54190 -0.65804 2.6842 1.19520 1\n", "\n", "[1371 rows x 5 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bank=pd.read_csv('Banknote.csv')\n", "bank" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
abcde
04.545908.16740-2.4586-1.462100
13.86600-2.638301.92420.106450
23.456609.52280-4.0112-3.594400
30.32924-4.455204.5718-0.988800
44.368409.67180-3.9606-3.162500
..................
13660.406141.34920-1.4501-0.559491
1367-1.38870-4.877306.47740.341791
1368-3.75030-13.4586017.5932-2.777101
1369-3.56370-8.3827012.3930-1.282301
1370-2.54190-0.658042.68421.195201
\n", "

1371 rows × 5 columns

\n", "
" ], "text/plain": [ " a b c d e\n", "0 4.54590 8.16740 -2.4586 -1.46210 0\n", "1 3.86600 -2.63830 1.9242 0.10645 0\n", "2 3.45660 9.52280 -4.0112 -3.59440 0\n", "3 0.32924 -4.45520 4.5718 -0.98880 0\n", "4 4.36840 9.67180 -3.9606 -3.16250 0\n", "... ... ... ... ... ..\n", "1366 0.40614 1.34920 -1.4501 -0.55949 1\n", "1367 -1.38870 -4.87730 6.4774 0.34179 1\n", "1368 -3.75030 -13.45860 17.5932 -2.77710 1\n", "1369 -3.56370 -8.38270 12.3930 -1.28230 1\n", "1370 -2.54190 -0.65804 2.6842 1.19520 1\n", "\n", "[1371 rows x 5 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bank=bank.rename(columns={\"3.6216\": \"a\", \"8.6661\": \"b\",\"-2.8073\": \"c\",\"-0.44699\": \"d\",\"0\":\"e\"})\n", "bank" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 761\n", "1 610\n", "Name: e, dtype: int64" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bank[\"e\"].value_counts()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a: 6.8248 -7.0421 \n", " b: 12.9516 -13.7731 \n", "c: 17.9274 -5.2861 \n", "d: 2.4495 -8.5482 \n", "e: 1 0\n" ] } ], "source": [ "print(\"a: \",max(bank['a']),min(bank['a']),\"\\n\",\"b: \",max(bank['b']),min(bank['b']),\"\\n\"\n", " \"c: \",max(bank['c']),min(bank['c']),\"\\n\"\n", " \"d: \",max(bank['d']),min(bank['d']),\"\\n\"\n", " \"e: \",max(bank['e']),min(bank['e']))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ranges are close together so no need to normalize them" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
abcde
4473.9364010.588500-3.72500-4.3133000
6813.73210-3.8840003.35770-0.0060490
1297-0.960702.696300-3.12260-1.3121001
962.16160-6.8804008.15170-0.0810480
980-6.059809.295200-0.43642-6.3694001
..................
2112.614008.008100-3.72580-1.3069000
5024.929400.2772700.207920.3366200
5370.72252-0.0538115.67030-1.3509000
1220-1.83560-6.7562005.05850-0.5504401
1750.190819.129700-3.72500-5.8224000
\n", "

1096 rows × 5 columns

\n", "
" ], "text/plain": [ " a b c d e\n", "447 3.93640 10.588500 -3.72500 -4.313300 0\n", "681 3.73210 -3.884000 3.35770 -0.006049 0\n", "1297 -0.96070 2.696300 -3.12260 -1.312100 1\n", "96 2.16160 -6.880400 8.15170 -0.081048 0\n", "980 -6.05980 9.295200 -0.43642 -6.369400 1\n", "... ... ... ... ... ..\n", "211 2.61400 8.008100 -3.72580 -1.306900 0\n", "502 4.92940 0.277270 0.20792 0.336620 0\n", "537 0.72252 -0.053811 5.67030 -1.350900 0\n", "1220 -1.83560 -6.756200 5.05850 -0.550440 1\n", "175 0.19081 9.129700 -3.72500 -5.822400 0\n", "\n", "[1096 rows x 5 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d_train,d_test=train_test_split(bank,test_size=0.2,random_state=7)\n", "d_train\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "d_train=d_train.drop([\"e\"],axis=1)\n", "y=d_test[\"e\"]\n", "d_test=d_test.drop([\"e\"],axis=1)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "km=KMeans(n_clusters=2).fit(d_train)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "predictions=km.predict(d_test)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[116 42]\n", " [ 71 46]]\n", " precision recall f1-score support\n", "\n", " 0 0.62 0.73 0.67 158\n", " 1 0.52 0.39 0.45 117\n", "\n", " accuracy 0.59 275\n", " macro avg 0.57 0.56 0.56 275\n", "weighted avg 0.58 0.59 0.58 275\n", "\n" ] } ], "source": [ "print(confusion_matrix(y,predictions))\n", "print(classification_report(y,predictions))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 1, 0, ..., 1, 1, 0])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clusters=km.labels_\n", "clusters" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.81349338, 5.32234564, -0.92630665, -1.84004026],\n", " [-0.4827212 , -4.60799705, 6.04517579, -0.04118516]])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "centroids=km.cluster_centers_\n", "centroids" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
abcd
4473.93640010.58850-3.72500-4.31330
1297-0.9607002.69630-3.12260-1.31210
980-6.0598009.29520-0.43642-6.36940
1249-2.4365003.60260-1.41660-2.89480
6731.3754008.87930-1.91360-0.53751
...............
12090.0250133.39980-4.43270-4.26550
919-5.4808008.181900.27818-5.03230
2112.6140008.00810-3.72580-1.30690
5024.9294000.277270.207920.33662
1750.1908109.12970-3.72500-5.82240
\n", "

721 rows × 4 columns

\n", "
" ], "text/plain": [ " a b c d\n", "447 3.936400 10.58850 -3.72500 -4.31330\n", "1297 -0.960700 2.69630 -3.12260 -1.31210\n", "980 -6.059800 9.29520 -0.43642 -6.36940\n", "1249 -2.436500 3.60260 -1.41660 -2.89480\n", "673 1.375400 8.87930 -1.91360 -0.53751\n", "... ... ... ... ...\n", "1209 0.025013 3.39980 -4.43270 -4.26550\n", "919 -5.480800 8.18190 0.27818 -5.03230\n", "211 2.614000 8.00810 -3.72580 -1.30690\n", "502 4.929400 0.27727 0.20792 0.33662\n", "175 0.190810 9.12970 -3.72500 -5.82240\n", "\n", "[721 rows x 4 columns]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cluster1=d_train.loc[clusters==0]\n", "cluster2=d_train.loc[clusters==1]\n", "cluster1" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "ax = fig.add_subplot(projection='3d')\n", "ax.scatter(xs=cluster1[\"a\"], ys=cluster1[\"b\"], zs=cluster1[\"c\"], zdir='z', s=5, c=[\"green\"], depthshade=True)\n", "# ax = fig.add_subplot(projection='3d')\n", "ax.scatter(xs=cluster2[\"a\"], ys=cluster2[\"b\"], zs=cluster2[\"c\"], zdir='z', s=5, c=[\"orange\"], depthshade=True)\n", "ax.scatter(xs=centroids[0][0], ys=centroids[0][1], zs=centroids[0][2], zdir='z', s=200, marker=\"x\",c=[\"red\"], depthshade=True)\n", "ax.scatter(xs=centroids[1][0], ys=centroids[1][1], zs=centroids[1][2], zdir='z', s=200, marker=\"x\",c=[\"blue\"], depthshade=True)\n", "ax.view_init(-135, 10)\n", "ax.set_xlabel('A')\n", "ax.set_ylabel('B')\n", "ax.set_zlabel('C')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Kmeans algorithms:\n", "\n", "\n", "K-means algorithm to use. The classical EM-style algorithm is “full”. The “elkan” variation is more efficient on data with well-defined clusters, by using the triangle inequality. However it’s more memory intensive due to the allocation of an extra array of shape (n_samples, n_clusters).\n", "\n", "For now “auto” (kept for backward compatibiliy) chooses “elkan” but it might change in the future for a better heuristic." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "interia: 35350.187917091804\n" ] } ], "source": [ "print(\"interia: \",km.inertia_)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\mohammad\\anaconda3\\envs\\DATA_MINING\\lib\\site-packages\\sklearn\\cluster\\_kmeans.py:882: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=5.\n", " f\"KMeans is known to have a memory leak on Windows \"\n" ] }, { "data": { "text/plain": [ "[72879.35425802048,\n", " 35350.187917091804,\n", " 23460.177969352935,\n", " 19429.31284955626,\n", " 15959.910051981004]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "interia_list=[]\n", "for i in range(1,6):\n", " km=KMeans(n_clusters=i).fit(d_train)\n", " interia_list.append(km.inertia_)\n", "interia_list" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAD7CAYAAACFfIhNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3dfVxUdd7/8dcMM3I3IAIzDCKioramJeZouRWoJTciaZRXhpu/XX/d6LU/bfvt2rLqpau7ruZyqdtVdF3t1dZvS7foKsFcxG5MvMESyZtMM28AEQgGULlRYJg5vz/QUbyDUWAG+DwfDx8w33MO8znHgfecc+Z8jkpRFAUhhBACUDu7ACGEEK5DQkEIIYSdhIIQQgg7CQUhhBB2EgpCCCHsJBSEEELYSSgIIYSw0zi7gDt19mwdNtvtXWoREKCjsrK2nSu6c1KXY6Qux0hdjuludanVKvr08b7p9C4fCjabctuhcHl5VyR1OUbqcozU5ZieVJccPhJCCGEnoSCEEMJOQkEIIYSdhIIQQgi7HhsK52obSH59F+drG5xdihBCuIweGwqbduVzJL+STbsLnF2KEEK4jB4ZCudqG9h+oARFgV3flsreghBCXNIjQ+GT3fn27202RfYWhBDikh4XCudqG9j17Y/2x1abInsLQghxSY8LhU9252O75g6ksrcghBDNelwonCiuxmptGQpWm8KJ4vNOqkgIIVxHl+995Khls8fav9frffjHliNs+Pw4Ux8a6MSqhBDCNfS4PYVrTbgvhJBAb97/4jiWJquzyxFCCKdqNRQ+/PBDpk6dav83evRoli9fTk5ODgkJCURHR7N27Vr7/EePHiUxMZGYmBgWLVpEU1MTACUlJcycOZPY2Fjmzp1LXV0dANXV1Tz//PPExcUxc+ZMzGZzB63qjbmp1Tz96BAqzteTtbeoU59bCCFcTauhMH36dDIyMsjIyCAlJYWAgACee+45Fi5cSGpqKpmZmRw+fJjs7GwAFixYwJIlS9i6dSuKopCWlgbAsmXLSEpKIisrixEjRpCamgrAunXrMJlMbNmyhenTp7NixYoOXN0bu3uAP6OH6vnnngKqqus7/fmFEMJVOHT46Pe//z0vvfQSRUVFhIWFERoaikajISEhgaysLIqLi6mvryciIgKAxMREsrKysFgs5ObmEhMT02IcYPv27SQkJAAwZcoUduzYgcViac91bJOnJg5GUeDD7Sc7/bmFEMJVtDkUcnJyqK+vJy4ujvLycvR6vX2awWCgrKzsunG9Xk9ZWRlnz55Fp9Oh0WhajAMtltFoNOh0Oqqqqtpl5RwR6OdJ7Nj+fH2kjB+KznX68wshhCto86eP3n//fX7xi18AYLPZUKlU9mmKoqBSqW46fvnr1a59fPUyanXbd2ACAnRtnvdG9Hof+/ezEoaz50gZaV+eZM1LUbipb1xjZ7i6LlcidTlG6nKM1OWYjqirTaHQ2NhIbm4uq1atAsBoNLY4IWw2mzEYDNeNV1RUYDAY8Pf3p6amBqvVipubm31+aN7LqKiowGg00tTURF1dHX5+fm1egcrK2tu+JZ1e74PZXNNi7MmoQfxnxnd8/MUxxkeE3NbPvVM3qssVSF2OkbocI3U55nbrUqtVt3wz3aa35MeOHWPAgAF4eXkBMHLkSPLz8yksLMRqtbJ582YiIyMJCQnB3d2dvLw8ADIyMoiMjESr1WIymcjMzAQgPT2dyMhIAKKiokhPTwcgMzMTk8mEVqt1eEXby5ifGBga6sfH2aeoq+/8cxtCCOFMbQqFoqIijEaj/bG7uzurVq1i3rx5TJ48mUGDBhEbGwtASkoKK1euJDY2lgsXLjBr1iwAli5dSlpaGpMnT2bfvn386le/AuDFF1/kwIEDxMfHs2HDBpYsWdLe6+gQlUpF0qNDqKu3kLEzv/UFhBCiG1EpinJ7x15cRHsfPrrs71uPseNACctmjyFEf2fnLdqzLmeSuhwjdTlG6nKMUw8f9USPPzwQT3c3Nnx+nC6em0II0WYSCjfh49WLaQ8P4mjhWb75ocLZ5QghRKeQULiF8aP6EqL35oNtx2m0SF8kIUT3J6FwC25qNUmPDqXifD1b9552djlCCNHhJBRaMSysD6a79PxzT6H0RRJCdHsSCm3wLxMHowBpX55wdilCCNGhJBTaILC3J3H392fv0XKOnT7r7HKEEKLDSCi0UdwDYfj7urPh8+O3fV2EEEK4OgmFNnLXuvHUxCEUldeSfbDE2eUIIUSHkFBwgOkuPXeF+rFxh/RFEkJ0TxIKDlCpVCRNGkpdvYV06YskhOiGJBQcFGrQMX5UCF9+U8wZc62zyxFCiHYloXAbHn94EJ7ubvxD+iIJIboZCYXboPPU8nhkc1+kvGPm1hcQQoguQkLhNkVF9KWf3psPtp2QvkhCiG5DQuE2Xe6LVFldT9bX0hdJCNE9SCjcgZ+E9cH0EwOZXxVSeV76Igkhuj4JhTv0LxPCAemLJIToHiQU7lBgb0/iHggj93vpiySE6PokFNpB3P39CfD1YP1nx7HabM4uRwghbpuEQjvopXXjqYmDOWOuZccB6YskhOi6JBTayei79Pykvx8f7zhF7UXpiySE6JokFNqJSqUi6dGhXGhoIn3nKWeXI4QQt0VCoR31M+iYOKofX+4v5ky59EUSQnQ9EgrtbOrDA/H20LLh8x+kL5IQosuRUGhnOk8tjz88kO9Pn5O+SEKILqdNobBt2zYSExOJi4vjj3/8IwA5OTkkJCQQHR3N2rVr7fMePXqUxMREYmJiWLRoEU1NTQCUlJQwc+ZMYmNjmTt3LnV1dQBUV1fz/PPPExcXx8yZMzGbu/4f0qiIEEINOj7YdpwG6YskhOhCWg2FoqIili5dSmpqKps2beLIkSNkZ2ezcOFCUlNTyczM5PDhw2RnZwOwYMEClixZwtatW1EUhbS0NACWLVtGUlISWVlZjBgxgtTUVADWrVuHyWRiy5YtTJ8+nRUrVnTg6nYOtVpF0qNDqKxukL5IQogupdVQ+Oyzz5g8eTJGoxGtVsvatWvx9PQkLCyM0NBQNBoNCQkJZGVlUVxcTH19PREREQAkJiaSlZWFxWIhNzeXmJiYFuMA27dvJyEhAYApU6awY8cOLJau/5HOu/r3Yeyw5r5IFecvOrscIYRoE01rMxQWFqLVapkzZw6lpaWMHz+eIUOGoNfr7fMYDAbKysooLy9vMa7X6ykrK+Ps2bPodDo0Gk2LcaDFMhqNBp1OR1VVFUFBQW1agYAAXdvX9gb0ep87Wv5W5jwRwZxXviAjp5DkWWMcWrYj67oTUpdjpC7HSF2O6Yi6Wg0Fq9XKvn37ePfdd/Hy8mLu3Ll4eHigUqns8yiKgkqlwmaz3XD88terXfv46mXU6raf/66srMVmu71P+ej1PpjNNbe1bFtNfqA/6Tvz2bHvNMPC+rhMXbdD6nKM1OUYqcsxt1uXWq265ZvpVv/6BgYGMm7cOPz9/fHw8ODRRx8lJyenxQlhs9mMwWDAaDS2GK+oqMBgMODv709NTQ1Wq7XF/NC8l1FRUQFAU1MTdXV1+Pn5Obyirip2bH8Ce3vwj89/kL5IQgiX12ooTJgwgV27dlFdXY3VamXnzp3ExsaSn59PYWEhVquVzZs3ExkZSUhICO7u7uTl5QGQkZFBZGQkWq0Wk8lEZmYmAOnp6URGRgIQFRVFeno6AJmZmZhMJrRabUetb6e70hepjmzpiySEcHGtHj4aOXIkzz77LElJSVgsFh588EGefvppBg0axLx582hoaCAqKorY2FgAUlJSWLx4MbW1tQwfPpxZs2YBsHTpUpKTk3njjTcIDg5mzZo1ALz44oskJycTHx+Pj48PKSkpHbi6znHfUD3Dwvqwcccpxg4LQufZfUJPCNG9qJQuftmtq59TuOyMuZbf/y2XqFF9eSb6LpepyxFSl2OkLsdIXY5x2jkF0T766XVMuC+E7fuLOV3mei8wIYQACYVONe1SX6R/fH5c+iIJIVyShEIn8vbQkhg5iGNF58j9vtzZ5QghxHUkFDpZ5Mi+9DfoSPvyhPRFEkK4HAmFTqZWq0iaNJSq6ga2fFXo7HKEEKIFCQUnGBrqx9hhBrZ8fZqKc9IXSQjhOiQUnORfJgxGpYIPvjzh7FKEEMJOQsFJ/H09iH8gjLxjZo4WVDm7HCGEACQUnCr2/ua+SBu+OC59kYQQLkFCwYm0GjeemjiEYnMd2/dLXyQhhPNJKDjZfUMDuXtAH9J3nqLmQqOzyxFC9HASCk6mUql4+tGhXGywsnFnvrPLEUL0cBIKLiAk0JuJo0PIPiB9kYQQziWh4CKmPdTcF2nDZz9IXyQhhNNIKLgILw8tT0QN4ocz59klN+MRQjiJhIILefjevvQP0vG3Tw7T0Ch9kYQQnU9CwYWo1SpmThpKxfl6MqUvkhDCCSQUXMyQfn5EjerHlq9PY5a+SEKITiah4IJ+PuVu1GpI2yZ9kYQQnUtCwQUF+nkyZdwA8n4wc0T6IgkhOpGEgouKGRuK3s+Df3wufZGEEJ1HQsFFaTVuzJg4hOKKOr78ptjZ5QgheggJBRcWMSSQ4QP6kL4zn2rpiySE6AQSCi7scl+kBouV9B2nnF2OEKIHkFBwcX0DvZl4Xz+yD5RQ+KP0RRJCdCwJhS5g6kMD0Hlp2fC59EUSQnSsNoXCM888Q3x8PFOnTmXq1KkcPHiQTz75hMmTJxMdHc369evt8+bk5JCQkEB0dDRr1661jx89epTExERiYmJYtGgRTU1NAJSUlDBz5kxiY2OZO3cudXV17byKXV9zX6Rwjp85z9dHy5xdjhCiG2s1FBRFoaCggIyMDPs/o9HI2rVr2bBhA+np6XzwwQecOHGC+vp6Fi5cSGpqKpmZmRw+fJjs7GwAFixYwJIlS9i6dSuKopCWlgbAsmXLSEpKIisrixEjRpCamtqxa9xFPXRPMGFGHz788qT0RRJCdJhWQ+HUqeYTnLNnz+axxx7jvffeIycnhwceeAA/Pz+8vLyIiYkhKyuLQ4cOERYWRmhoKBqNhoSEBLKysiguLqa+vp6IiAgAEhMTycrKwmKxkJubS0xMTItxcT21WsXMR4dytqaBf35V4OxyhBDdlKa1Gaqrqxk3bhz/9m//hsViYdasWcTFxaHX6+3zGAwGDh06RHl5+XXjZWVl143r9XrKyso4e/YsOp0OjUbTYtwRAQE6h+a/ll7vc0fLd5Qb1aXX+zD+aBlb9xYxdfwQjAHeLlGXK5C6HCN1OaYn1dVqKIwaNYpRo0bZHz/55JOsXLmSuXPn2scURUGlUmGz2VCpVG0ev/z1atc+bk1lZS022+2dfNXrfTCbXe8TPbeqK+GBMPYcKiX1wwPMe+Jel6nLmaQux0hdjuludanVqlu+mW718NG+ffvYs2eP/bGiKISEhGA2m+1jZrMZg8GA0Whs03hFRQUGgwF/f39qamqwWq0t5hc318fHnSk/DWP/8Qq+k75IQoh21moo1NTUsHr1ahoaGqitrWXjxo38+c9/Zs+ePVRVVXHx4kU+/fRTIiMjGTlyJPn5+RQWFmK1Wtm8eTORkZGEhITg7u5OXl4eABkZGURGRqLVajGZTGRmZgKQnp5OZGRkx65xNxA9JhSDnyf/+Pw4TVbpiySEaD+tHj6aMGECBw8eZNq0adhsNpKSkhg9ejQvvfQSs2bNwmKx8OSTT3Lvvc2HMlatWsW8efNoaGggKiqK2NhYAFJSUli8eDG1tbUMHz6cWbNmAbB06VKSk5N54403CA4OZs2aNR24ut2DVuPGU48M5j8++pYvvylm0phQZ5ckhOgmVEoXvxqqp51TuExRFNamHeRkSTUrX3gAX69eLlGXM0hdjpG6HNPd6rrjcwrCNTX3RRpCo8XKx9nSF0kI0T4kFLqw4ABvHhndj50HpS+SEKJ9SCh0cY89OBAfLy3rpS+SEKIdSCh0cV4eGp6ICufEmfN8fUT6Igkh7oyEQjfw4L3BDDD6kPblCeobm5xdjhCiC5NQ6AbUKhVJk4ZyrraRf+4pdHY5QoguTEKhmxgc0ptxw41s3Xua8rMXnF2OEKKLklDoRp4cH46bm5oPtp1wdilCiC5KQqEb6ePjTsJPB7D/eAWH8yudXY4QoguSUOhmJplCMfSRvkhCiNsjodDNaDVqZjwyhNLKC2z7ptjZ5QghuhgJhW5oZHgAIwb5k7HrFNV1jc4uRwjRhUgodEMqlYqnHxlCo8XGxztOOrscIUQXIqHQTQUHePOoqR87D5ZS8GO1s8sRQnQREgrd2GMPDsTHuxfrP5O+SEKItpFQ6MY83TU8ETWIk8XVfPWd9EUSQrROQqGbe/CeYAYG+5C2/QQXG6QvkhDi1iQUurnLfZHOS18kIUQbSCj0AOF9e/PgCCOf5p6mTPoiCSFuQUKhh3jicl+kL6QvkhDi5iQUegg/nTuPPTiAAycqOHxK+iIJIW5MQqEHmWQKJaiPJxukL5IQ4iYkFHoQjZuapx8dwo9VF/gi74yzyxFCuCAJhR7m3vBA7g0PYNPufM5LXyQhxDUkFHqgGZf6In2ULX2RhBAttTkUXnnlFZKTkwE4evQoiYmJxMTEsGjRIpqami+KKikpYebMmcTGxjJ37lzq6uoAqK6u5vnnnycuLo6ZM2diNpsBaGxsZMGCBcTFxfH4449z8qT8keoMRn8vJo0JZfehUvJLpS+SEOKKNoXCnj172Lhxo/3xggULWLJkCVu3bkVRFNLS0gBYtmwZSUlJZGVlMWLECFJTUwFYt24dJpOJLVu2MH36dFasWAHAu+++i6enJ1u2bGHhwoX87ne/a+/1EzeR8NMB+Hj3YsNnP2CTvkhCiEtaDYVz586xdu1a5syZA0BxcTH19fVEREQAkJiYSFZWFhaLhdzcXGJiYlqMA2zfvp2EhAQApkyZwo4dO7BYLGzfvp3HHnsMgDFjxlBVVUVJSUn7r6W4jqe7hunjwzlZUs1X3/3o7HKEEC6i1VBYsmQJL730Er6+vgCUl5ej1+vt0/V6PWVlZZw9exadTodGo2kxfu0yGo0GnU5HVVXVDX/Wjz/KH6jOMm6EkYHBvnz45UnpiySEAEBzq4kffvghwcHBjBs3jo8//hgAm82GSqWyz6MoCiqVyv71atc+vnoZtVp93TKXxx0REKBzaP5r6fU+d7R8R+msuv7Pv0Tw67/sYNuBEn4+ZXir8/f07eUoqcsxUpdjOqKuW4ZCZmYmZrOZqVOncv78eS5cuIBKpbKfKAaoqKjAYDDg7+9PTU0NVqsVNzc3zGYzBoMBAIPBQEVFBUajkaamJurq6vDz8yMoKIjy8nL69+/f4mc5orKyFpvt9o6J6/U+mM01t7VsR+rMuvp4anjwHiMZO05iGhJIkL+XS9TlCKnLMVKXY7pbXWq16pZvpm/5tvztt99m8+bNZGRkMH/+fCZOnMjKlStxd3cnLy8PgIyMDCIjI9FqtZhMJjIzMwFIT08nMjISgKioKNLT04HmoDGZTGi1WqKiosjIyABg3759uLu707dvX4dXUtyZJ6PC0bipef+L484uRQjhZLd1nUJKSgorV64kNjaWCxcuMGvWLACWLl1KWloakydPZt++ffzqV78C4MUXX+TAgQPEx8ezYcMGlixZAsAzzzxDY2Mj8fHxrFixgtWrV7fTaglH9Na589iDAzl4spJDJ6UvkhA9mUrp4vdplMNH7aPJauPf3toLwB/+91g0bte/X5Dt5RipyzFSl2OccvhI9BwaNzVPPzKEsqoLfL5P+iIJ0VNJKAi7e8MDGHm5L1Jtg7PLEUI4gYSCaGHGI0OwNNn4KPuUs0sRQjiBhIJoIcjfi+ixoez6tpRTJdIXSYieRkJBXGfKuAH01vViw+fSF0mInkZCQVzH013Dk1HhnCqpZs9haTsiRE8ioSBuaNwII+F9ffmf7dIXSYieREJB3JBapSJp0lDO1zWyOafA2eUIITqJhIK4qYHBvjx0bzCf5hbxw5lzJL++Sz6qKkQ3J6EgbumJqHB6adW8uek7juRXsml3gbNLEkJ0IAkFcUu9vXsxyRRKVXUDigK7vi2VvQUhujEJBdGq83VXQsDSZOPtLd/TxVtmCSFuQkJB3NK52gZyDpe1GDt0spKV7+WRXyoXtwnR3UgoiFv6ZHf+dRewqVVQ+GMNf/h/+3gj/TBlZy84qTohRHu75Z3XhDhRXI3V2jIUbAr09ffivqF6tu4t4psfzIyPCCHhwQH4evdyUqVCiPYgoSBuadnssfbvb9S/fcKoEDbtLuDL/cXsOlxK3Nj+RI8NxaOXvLSE6IrkN1fckd46d56JuYtJY0L5KPsk6bvy2ba/mKkPDeThe4NveLMeIYTrklAQ7cLo78UvH7+Hk8Xn+fDLE7y79Rif5hbxZNQg7huqR6VSObtEIUQbyNs40a7CQ3rz25n3Mf+Je3FTq3h942H+9F4ePxSdc3ZpQog2kD0F0e5UKhURQwK5J9yf3d/+SPrOU6xa/w0RgwN5Ynw4IYHezi5RCHETEgqiw7ip1USO7Mv9dwfx+b4iMr8qZMlbX/PwvcFMfWgQfXzcnV2iEOIaEgqiw7lr3YgfN4DIkX3ZnFPItm/O8NV3ZUwaE0rc/WF4ecjLUAhXIb+NotP4ePXi6UeH8KipHxt3nuKfewrJPlDClJ8OYMKoELQaOcUlhLPJb6HodHo/T55PGM7Sn48hLEjH+18cZ9Ffv+Kr736U238K4WQSCsJpwow+/HrGKH79VARe7hre/OQIf3hnH98VVDm7NCF6LDl8JJxu+EB/hg0Yw9dHyti44xT//v4Bhg/0Z/r4cPoH+Ti7PCF6lDbtKfzlL39h8uTJxMfH8/bbbwOQk5NDQkIC0dHRrF271j7v0aNHSUxMJCYmhkWLFtHU1Hx/35KSEmbOnElsbCxz586lrq4OgOrqap5//nni4uKYOXMmZrO5vddRdAFqlYpxw42seO4BZkwcTEFpNb9/O5e/fvIdFecuOrs8IXqMVkNh7969fPXVV2zatImPPvqId999l++//56FCxeSmppKZmYmhw8fJjs7G4AFCxawZMkStm7diqIopKWlAbBs2TKSkpLIyspixIgRpKamArBu3TpMJhNbtmxh+vTprFixogNXV7g6rUZN9Nj+vDJnHJMfCGPfMTML//oV739xnNqLFmeXJ0S312oojB07lr///e9oNBoqKyuxWq1UV1cTFhZGaGgoGo2GhIQEsrKyKC4upr6+noiICAASExPJysrCYrGQm5tLTExMi3GA7du3k5CQAMCUKVPYsWMHFov88vd0Xh5anhwfzsrnH+CB4UY+21fEb/9zD//cU0Cjxers8oTottp0+Eir1fLqq68SHx/PuHHjKC8vR6/X26cbDAbKysquG9fr9ZSVlXH27Fl0Oh0ajabFONBiGY1Gg06no6pKTjSKZv6+HsyePIzls8dyV6gfH2Wf4ndvfsXOgyXYbPJJJSHaW5tPNM+fP5/nnnuOOXPmUFBQ0KLBmaIoqFQqbDbbDccvf73azRqkKYqCWt32D0UFBOjaPO+N6PWueSJT6rr+eSPuDubwyQre2XyEt7d8zxf7i/lf8XcTGKiT7eUgqcsxPamuVkPh5MmTNDY2MmzYMDw9PYmOjiYrKws3Nzf7PGazGYPBgNFobHGiuKKiAoPBgL+/PzU1NVitVtzc3OzzQ/NeRkVFBUajkaamJurq6vDz82vzClRW1t72O8Yb3R/AFUhdNxfk687LT0eQd8zMR9kn+cNbXzN8UADTHhpAeN/eTq3tWq6wvW5E6nJMd6tLrVbd8s10q2/Jz5w5w+LFi2lsbKSxsZEvvviCGTNmkJ+fT2FhIVarlc2bNxMZGUlISAju7u7k5eUBkJGRQWRkJFqtFpPJRGZmJgDp6elERkYCEBUVRXp6OgCZmZmYTCa0Wq3DKyp6DpVKheknBv7w7P08Ez2UYnMtK/6eR+rGbymrkluDCnEnWt1TiIqK4tChQ0ybNg03Nzeio6OJj4/H39+fefPm0dDQQFRUFLGxsQCkpKSwePFiamtrGT58OLNmzQJg6dKlJCcn88YbbxAcHMyaNWsAePHFF0lOTiY+Ph4fHx9SUlI6cHVFd6JxUzPhvn4kjB/C+swjZH19mv3HK4gc2ZfHHhpIb7k1qBAOUylK1+4rIIePOo+r13W+rpFNu/PZcaAEjZuamLGhxIztj6e7c67RdPXt5WqkLsd01OEjuaJZdBu9vXvxTPRdRJuabw26aXcB2/cX89hDA4kc2VduDSpEG0goiG4nyN+Lf338Hk6WnOfDL0/y3qc/8FluEU9EhTP6Lrk1qBC3Im+dRLcV3rc3v00axYtP3ovGTU1q+mFWvJvHsdNnnV2aEC5L9hREt6ZSqRg5OJB7BgWw+3Ap6TvzeWXDfkaGB/DE+HD66e/sOhchuhsJBdEjqNUqHr63L/cPC+LzvDP8c08hS/+2lwfvCWbaQwPx9/VwdolCuAQJBdGj9NK6MfmBsEu3Bi1g2zdn+PpIGZNMoUx+oD9eHnKNjOjZJBREj6Tz1DLjkSE8Orr51qBbviok+0AxU346gIn39ZNbg4oeS175okcL9PPkuYThLP3FGAYE+/LBthMsfPMr9hyWW4OKnklCQQigf5APv34qgl/PiMDbU8NfNx9h+du5HM6vdHZpQnQqOXwkxFWGD/Bn2M/HsPdoGR9nn2LNBwe5e0Afpo8fTJjRNTtlCtGeJBSEuIZapeKBu42MHmpg+/5iPskpYNk7uTxwdxCPRw5C7+fp7BKF6DASCkLchFajZtKYUB68J5gtXxfyWW4Rud+XM+G+EBJ+OgAfL2m4J7ofCQUhWuHloeGJqHAm3tePjF2n+CLvDLu/LSXu/jAmjQnFXevW+g8RoouQE81CtFEfH3d+HjeM5f/7fu4K7cPHO07xu//aw46DJVhtNmeXJ0S7kFAQwkEhgd7Mf/JekmfeR4CvB+9s+Z6lf8tl/3EzlzvRn6ttIPn1XZyvbXBytUI4RkJBiNs0NNSPhc+M5pePj8BqU/iPj75l1fpvOFF8nk9253Mkv5JNuwucXaYQDpFzCkLcAZVKxei7DEw5FxAAABB0SURBVIwcHMjOQ6Vk7MrnT+/moVKBosCuQ6U89uAAeuvcnV2qEG0ioSBEO9C4qZkwKoRxw4NY/Y/9FJQ23xHLYrXx8hs5DA31I9TgQ6hBR6hBhzHAS276I1yShIIQ7ai+0Uqxua7FmNWmcL62kWNFZ2iyNp+Q1rip6BvofSkkroSFzlMa8gnnklAQoh19sjv/up5JKrWKIaF+LPnFGH6sukBRea3937enqtj97Y/2efv4uNsDon9Qc1gY/DxRq+VucaJzSCgI0Y5OFFdjtbYMBatV4UTxeTRuavrpdfTT6xg3/Mr083WNFJXXtAiLw6eq7OHSS9u83OWwCDU0/wxPd/n1Fe1PXlVCtKNls8fav9frfTCba1pdprd3L3oPDGDEwAD7mKXJSknFBU5fCosz5bXs+76c7AMlV36+nwehBh/6XxUWAb095B7U4o5IKAjhgrQaN8KMPi2a8CmKwtmaBk5ftUdRVF7L/h/MXN438XTXEKr3bj5PEdQcFCGB3vSSq65FG0koCNFFqFQq/H098Pf1IGJwoH28odHKGXPLoNh1uJSGb6yXlgOjv5d9b2LEEAO+7m746XrJXoW4joSCEF2cey83wkN6Ex7S2z5mUxQqzl1sERQni6vZe7Scj7JPAc13n7v6PEWoQUffQG/5qGwPJ6EgRDekVqkw9PHC0MeL0XcZ7OMX6i3UNNr49odye1h8ub8YS1PzR2Xd1Fd/VPbKP+kI23O0KRRee+01tmzZAkBUVBQvv/wyOTk5rFy5koaGBuLi4njppZcAOHr0KIsWLaKurg6TycSyZcvQaDSUlJSwYMECKisrGThwICkpKXh7e1NdXc1vfvMbioqK8Pf3Z926dej1+o5bYyF6MC8PLWGhPgT5XrnC2mqzUVZ1Za/idHkN3xVUkXP4ykdl/XS9WlxPEWrQYfT3ko/KdkOthkJOTg67du1i48aNqFQqnn32WTZv3kxKSgrvvvsuwcHBvPDCC2RnZxMVFcWCBQv44x//SEREBAsXLiQtLY2kpCSWLVtGUlIS8fHxvP7666SmprJgwQLWrVuHyWTizTffJD09nRUrVrBu3brOWHchBOCmVtM30Ju+gd7cf3eQfbz6QmNzUJRdOQR1pKAKq+3SR2U1akL0LS/A66fX4eUhByC6slb/9/R6PcnJyfTq1bz7GB4eTkFBAWFhYYSGhgKQkJBAVlYWgwcPpr6+noiICAASExN59dVXmT59Orm5ubz++uv28Z/97GcsWLCA7du3s379egCmTJnC8uXLsVgsaLVyZacQzuTr1YvhA/wZPsDfPtZktVFSUdfiXMU3P1Sw42CpfZ7A3h4tDz8F+RDY2wP1LU5qn6tt4N/TDvLs5J9InygnazUUhgwZYv++oKCALVu28LOf/azFIR6DwUBZWRnl5eUtxvV6PWVlZZw9exadTodGo2kxDrRYRqPRoNPpqKqqIijoyjuWWwkI0LVpvpvR613zvrtSl2OkLsfcSV3Bxt6MvuqxoihUVdeTX1JNfsl5+9eDJyq4tFOBp7uGAcG+DOzry8C+vRnY15ewYF88ejX/TfhwxymO5Ffy2TfFzH1i5B2sWcfojv+PN9Pm/bzjx4/zwgsv8PLLL+Pm5kZBQYF9mqIoqFQqbDZbi4+4XR6//PVqN/sonKIoqNVt//RDZWUtNpvS+ow30NaLizqb1OUYqcsxHVVXWKAXYYFejL83GIAGi9W+V3G6rPkivC/zisjMKQBABRj8vQjy9+TwqSoUBT79upCJEcH4+7rOfbC72/+jWq265ZvpNoVCXl4e8+fPZ+HChcTHx7N3717MZrN9utlsxmAwYDQaW4xXVFRgMBjw9/enpqYGq9WKm5ubfX5o3suoqKjAaDTS1NREXV0dfn5+Dq+oEMK1uGvdGBjsy8BgX/uYoihUnK9vcfjpSEGV/Y1dk1VhQeoe+gZ6YwzwIjjAm+AAL/oGeGP098K9l1yE19FaDYXS0lJ++ctfsnbtWsaNGwfAyJEjyc/Pp7CwkH79+rF582aeeOIJQkJCcHd3Jy8vj9GjR5ORkUFkZCRarRaTyURmZiYJCQmkp6cTGRkJNH+aKT09nTlz5pCZmYnJZJLzCUJ0UyqVCr2fJ3o/T+4bqudcbQO//c89183Tx8edM+Y69v9Q0aLBYICvO8ZLQREc4E3fAC+MAd74emnlQrx20moovPXWWzQ0NLBq1Sr72IwZM1i1ahXz5s2joaGBqKgoYmNjAUhJSWHx4sXU1tYyfPhwZs2aBcDSpUtJTk7mjTfeIDg4mDVr1gDw4osvkpycTHx8PD4+PqSkpHTEegohXNCNu8qC3s+T//tUBE1WG2VnL/JjZR0llRcorayjtPICOw+W0mCx2pfx9tDY9yz6BjTvZfQN8CKwt3SYdZRKUZTbOyDvIuScQueRuhwjdbVu6d/2UlRee914qEHXorngtWyKwrmaBkouhURp5QV7cFTXNdrn07ipMfp7YrTvVTQfigry98K9jf2gXGl7Xc2p5xSEEKIj3E5XWWi+YvtyH6iru8sC1NVbLgXFpcCoqON0WQ15x8q5/BZYBQT09rCHxOWvwQFePf7qbQkFIUS34u2hZXBIbwZf1QsKmtuRl5292DIwKuv44fQ5Gi+1+YDmnlDN5yyaD0f9ZFAgXhoVAa1ca9FdSCgIIXoErcbNfpOjq9kuXWdx+TBUaWUdpRV17D9+6aK8bScuLa/G6H8lLC5/Derj2a1ak0soCCF6NLVKRWBvTwJ7e3LPoJaHomovWrhoVTh6ssK+d5FfWk3u0XL7PSxUQKCfR4uguPy1K95zW0JBCCFuQuepZaDeB72u5XmGRsvlQ1FXDkOVVFzgSMFZmqxXDkX5eGlvEBZe+Pu67qEoCQUhhHBQL62bvbfT1Ww2hYrq+uZPQlVc4Meq5k9E7fu+nLr6pquWbz4UdfVJbmOAF0F9vNBqWu/o0JG9oiQUhBCinajVKgx+nhj8PLk3vOW06guN/Fh5gZLKOvvXE8Xn+epImX0elar5Go3LIXH1RXpeHlcORX2yO58j+ZVs2l3AMzF3tes6SCgIIUQn8PXqha9XL4aGtmzj02Cx8mPlBUqr6iituEBpVfPhqMP5lTRZr1yD5evdi74BXvTx9WDvkTIUBXZ9W8pjDw5o170FCQUhhHAid60bYUYfwowtO57abArm89d/hHbvkTL7PS1sitLuewsSCkII4YLUahVBfZrPM0QMDgSw94q6HApWq9Luewtyh24hhOgibtQr6vLeQnuRUBBCiC7iRHE1VmvLULBaFU4Un2+355DDR0II0UXcbq8oR8ieghBCCDsJBSGEEHYSCkIIIewkFIQQQth1+RPNd3qrPVe9VZ/U5RipyzFSl2O6U12tLdPlb8cphBCi/cjhIyGEEHYSCkIIIewkFIQQQthJKAghhLCTUBBCCGEnoSCEEMJOQkEIIYSdhIIQQgg7CQUhhBB2PSIUamtrmTJlCmfOnLlu2tGjR0lMTCQmJoZFixbR1NTkEnW99tprTJgwgalTpzJ16lTWr1/fKTW99tprxMfHEx8fz+rVq6+b7qzt1VpdztpeAH/5y1+YPHky8fHxvP3229dNd9Y2a60uZ26zV155heTk5OvGS0pKmDlzJrGxscydO5e6urpOq+lWdW3cuJGHHnrIvq3Wrl3baTU988wzxMfH25/74MGDLabn5OSQkJBAdHR0+9SldHMHDhxQpkyZogwfPlwpKiq6bnp8fLyyf/9+RVEU5Xe/+52yfv16l6jrhRdeUL755ptOqeWy3bt3K0899ZTS0NCgNDY2KrNmzVI+/fTTFvM4Y3u1pS5nbC9FUZSvv/5amTFjhmKxWJSLFy8qEyZMUE6ePNliHmdss7bU5axtlpOTo9x///3Kb3/72+umPf/888rmzZsVRVGU1157TVm9erVL1LV8+XLlk08+6bRaLrPZbMpDDz2kWCyWG06/ePGiEhUVpZw+fVqxWCzK7Nmzle3bt9/Rc3b7PYW0tDSWLl2KwWC4blpxcTH19fVEREQAkJiYSFZWltPrAjh8+DD/9V//RUJCAsuXL6ehoaHDa9Lr9SQnJ9OrVy+0Wi3h4eGUlJTYpztre7VWFzhnewGMHTuWv//972g0GiorK7FarXh5edmnO2ubtVYXOGebnTt3jrVr1zJnzpzrplksFnJzc4mJiQE69/fxVnUBfPvtt2zcuJGEhAR+85vfcP58+93+8lZOnToFwOzZs3nsscd47733Wkw/dOgQYWFhhIaGotFoSEhIuONt1u1DYcWKFZhMphtOKy8vR6/X2x/r9XrKysqcXlddXR3Dhg1jwYIFbNy4kerqalJTUzu8piFDhtj/eBUUFLBlyxaioqLs0521vVqry1nb6zKtVsurr75KfHw848aNIygoyD7Nma+xW9XlrG22ZMkSXnrpJXx9fa+bdvbsWXQ6HRpNc/PmztxWt6rrci3/+q//yqZNmwgODmb58uWdUld1dTXjxo3j9ddf55133uH9999n9+7d9unXvr4MBsMdb7NuHwq3YrPZUKmutJFVFKXFY2fx9vbmr3/9K+Hh4Wg0GmbPnk12dnanPf/x48eZPXs2L7/8MgMGDLCPO3t73awuZ28vgPnz57Nnzx5KS0tJS0uzjzt7m92sLmdssw8//JDg4GDGjRt3w+k32jadsa1aqwvg9ddfZ/To0ahUKp599ll27tzZ4XUBjBo1itWrV+Pj44O/vz9PPvlki/+njnh99ehQMBqNmM1m++OKioqbHs7pTCUlJfzP//yP/bGiKPZ3Tx0tLy+Pn//85/z617/m8ccfbzHNmdvrVnU5c3udPHmSo0ePAuDp6Ul0dDTHjh2zT3fWNmutLmdss8zMTHbv3s3UqVN59dVX2bZtG3/605/s0/39/ampqcFqtQJgNps7ZVu1VldNTQ3vvPOO/bGiKLi5uXV4XQD79u1jz549LZ776v+na19f7bHNenQohISE4O7uTl5eHgAZGRlERkY6uSrw8PDgz3/+M0VFRSiKwvr165k0aVKHP29paSm//OUvSUlJIT4+/rrpztperdXlrO0FcObMGRYvXkxjYyONjY188cUXjB492j7dWdustbqcsc3efvttNm/eTEZGBvPnz2fixIksXLjQPl2r1WIymcjMzAQgPT29U7ZVa3V5eXnx3//93/ZP/bz33nud9vqqqalh9erVNDQ0UFtby8aNG1s898iRI8nPz6ewsBCr1crmzZvveJt1+Tuv3Y7nnnuO+fPnc88995CSksLixYupra1l+PDhzJo1yyXqWr58OXPnzsVisXDffffxi1/8osOf/6233qKhoYFVq1bZx2bMmMG2bducur3aUpczthdAVFQUhw4dYtq0abi5uREdHU18fLzTX2NtqctZ2+xaixYtYuLEiTzyyCMsXbqU5ORk3njjDYKDg1mzZo1Tarq2rnXr1vH73/+e+vp6BgwYcMOPRXeECRMmcPDgQaZNm4bNZiMpKYlRo0YxdepU3nzzTYKCgli1ahXz5s2joaGBqKgoYmNj7+g55c5rQggh7Hr04SMhhBAtSSgIIYSwk1AQQghhJ6EghBDCTkJBCCGEnYSCEEIIOwkFIYQQdhIKQggh7P4/f7Fafrx3L6sAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot([1,2,3,4,5], interia_list, marker = '^')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "with increasing the cluster numbers the interia decreases too we pick the cluster number that reduses th interia the most and after that no specific changes occurs\n", "so we choose 2 clusters.\n", "\n", "though the most changes occurs between 1 and 2." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[0.43339826892009176,\n", " 0.37739062898538195,\n", " 0.35018986812127817,\n", " 0.3428909610262351,\n", " 0.33512375705469494]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "silhouette_list=[]\n", "for i in range(2,7):\n", " km=KMeans(n_clusters=i).fit(d_train)\n", " silhouette_list.append(silhouette_score(d_train, km.labels_))\n", "silhouette_list" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "the changes between (1,2) and (2,3) has the most changes so we the best cluster maybe 2 or 3.\n", "\n", "we choose 2 clusters same as previous methode of evaluation." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.7" } }, "nbformat": 4, "nbformat_minor": 4 }