{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"Clustering 1.1 Intro - kMeans - Evaluation.ipynb","provenance":[{"file_id":"1d3kIo6D2AP7QNHWqIgeJmcbcCPqHaKCb","timestamp":1605013535615}],"collapsed_sections":["Nre7oxppyO07","SD9NpWgPyO1Y","PkznuNRa4-Hi"]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"code","metadata":{"id":"wOYHDW2gmkcr","colab":{"base_uri":"https://localhost:8080/","height":421},"executionInfo":{"status":"ok","timestamp":1637645247730,"user_tz":-120,"elapsed":13747,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"41182a8d-c444-4544-919c-b495ed58b66e"},"source":[" !pip install --upgrade scikit-learn\n","!pip install --upgrade numpy"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Requirement already satisfied: scikit-learn in /usr/local/lib/python3.7/dist-packages (1.0.1)\n","Requirement already satisfied: joblib>=0.11 in /usr/local/lib/python3.7/dist-packages (from scikit-learn) (1.1.0)\n","Requirement already satisfied: numpy>=1.14.6 in /usr/local/lib/python3.7/dist-packages (from scikit-learn) (1.19.5)\n","Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from scikit-learn) (3.0.0)\n","Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.7/dist-packages (from scikit-learn) (1.4.1)\n","Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (1.19.5)\n","Collecting numpy\n"," Downloading numpy-1.21.4-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.7 MB)\n","\u001b[K |████████████████████████████████| 15.7 MB 5.2 MB/s \n","\u001b[?25hInstalling collected packages: numpy\n"," Attempting uninstall: numpy\n"," Found existing installation: numpy 1.19.5\n"," Uninstalling numpy-1.19.5:\n"," Successfully uninstalled numpy-1.19.5\n","\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n","yellowbrick 1.3.post1 requires numpy<1.20,>=1.16.0, but you have numpy 1.21.4 which is incompatible.\n","datascience 0.10.6 requires folium==0.2.1, but you have folium 0.8.3 which is incompatible.\n","albumentations 0.1.12 requires imgaug<0.2.7,>=0.2.5, but you have imgaug 0.2.9 which is incompatible.\u001b[0m\n","Successfully installed numpy-1.21.4\n"]},{"output_type":"display_data","data":{"application/vnd.colab-display-data+json":{"pip_warning":{"packages":["numpy"]}}},"metadata":{}}]},{"cell_type":"markdown","metadata":{"id":"B7EGUG8YyOzs"},"source":["# Συσταδοποίηση (Clustering)\n","\n","Οι αλγόριθμοι συσταδοποίησης ανήκουν στην κατηγορία της **μη-επιβλεπόμενης μάθησης**. Σε αντίθεση με ό,τι έχουμε δει μέχρι στιγμής, στα προβλήματα αυτά τα δεδομένα μας **δεν συνοδεύονται από ετικέτες**. Αυτό σημαίνει ότι δεν έχουμε τις γνωστές μετρικές (π.χ. accuracy) για να αξιολογήσουμε αντικειμενικά την επίδοση του αλγορίθμου. Χωρίς αυτές, είναι αδύνατη η εκπαίδευση των αλγορίθμων με τις τεχνικές που έχουμε μάθει (backpropagation/gradient descent). Αντίθετα, στα προβλήματα αυτά θέλουμε ο αλγόριθμος να βρει μόνος του τη δομή (την υποκείμενη κατανομή - underlying distribution) των δεδομένων εισόδου.\n","\n","Η [συσταδοποίηση](https://el.wikipedia.org/wiki/%CE%A3%CF%85%CF%83%CF%84%CE%B1%CE%B4%CE%BF%CF%80%CE%BF%CE%AF%CE%B7%CF%83%CE%B7) είναι ένα πρόβλημα το οποίο προσπαθεί να χωρίσει τα δεδομένα εισόδου σε ομάδες/συστάδες (clusters).\n","\n","![](https://cdn-images-1.medium.com/max/1600/0*9ksfYh14C-ARETav.)\n","\n","\n","Μια συστάδα (ένα cluster) είναι μια συλλογή αντικειμένων που ομοιάζουν μεταξύ τους περισσότερο σε σχέση με αντικείμενα που βρίσκονται σε άλλες συστάδες.\n"]},{"cell_type":"markdown","metadata":{"id":"oBsWQnwITfmy"},"source":["\n","## Μετρική απόστασης (ή ομοιότητας)\n","\n","Για να μπορέσουμε να κάνουμε clustering χρειαζόμαστε απαραίτητα μια μετρική απόστασης (ή ομοιότητας).\n","\n","Μετρική ονομάζεται μια συνάρτηση $d:V\\longrightarrow\\mathbb{R}$, όπου $V \\neq \\emptyset$ τυχόν σύνολο, η οποία ικανοποιεί τις παρακάτω ιδιότητες για κάθε $x,y,z∈V$:\n","\n","* $d(x,y)=0$, αν και μόνo αν $x=y$ (ταύτιση),\n","* $d(x,x)=0$ (συνέπεια της αυτό-ομοιότητας),\n","* $d(x,y)=d(y,x)$ (συμμετρία), και\n","* $d(x,y)≤d(x,z)+d(z,y)$ (τριγωνική ανισότητα).\n","\n","Η τιμή $d(x,y)$ ονομάζεται απόσταση των $x,y$ (ενν. μέσω της μετρικής $d$). Οποιοδήποτε σύνολο εφοδιασμένο με μία μετρική ονομάζεται μετρικός χώρος.\n","\n","Σε έναν μετρικό χώρο επιπλέον, μπορεί να δείξει κανείς ότι\n","* d(x,y)≥0,\n","\n","για κάθε $x,y∈X$. Πράγματι, για κάθε $x$ και για κάθε $y$, η τριγωνική ανισότητα δίνει $d(x,y)+d(y,x)≥d(x,x)$ · από τα αξιώματα ταύτισης και συμμετρίας παίρνουμε $2d(x,y)≥0$, δηλαδή $d(x,y) \\geq 0$.\n"]},{"cell_type":"markdown","metadata":{"id":"GP8IFM38Thfq"},"source":["\n","### Είδη μετρικών αποστάσεων\n","\n","Οι μετρικές απόστασης που χρησιμοποιούμε συχνότερα στη Μηχανική Μάθηση είναι#\n","\n","1. Απόσταση Minkowski,\n","2. Ευκλείδια απόσταση,\n","3. Απόσταση Manhattan,\n","4. Απόσταση Hamming, και\n","5. Ομοιότητα συνημιτόνου.\n","\n","Η απόσταση Minkowski (1) τάξεως $p$ (όπου $p$ ακέραιος) μεταξύ δύο σημείων $ X=(x_{1},x_{2},\\ldots ,x_{n})$ και $Y=(y_{1},y_{2},\\ldots ,y_{n})\\in \\mathbb {R} ^{n}$ ορίζεται ως:\n","$$D\\left(X,Y\\right)=\\left(\\sum _{i=1}^{n}|x_{i}-y_{i}|^{p}\\right)^{\\frac {1}{p}}.$$\n","\n","\n","Συνήθως η απόσταση Minkowski χρησιμοποιείται με το $p$ να είναι ίσο με 2 ή 1, που αντιστοιχούν στην Ευκλείδια απόσταση (2) και την απόσταση Manhattan (1). Στην οριακή περίπτωση όπου $p\\rightarrow\\infty$ έχουμε την απόσταση Chebyshev ή μετρική $L_{\\infty}$ που ορίζεται ως η μέγιστη διαφορά των δύο διανυσμάτων σε οποιαδήποτε διάσταση.\n","\n","Από την θεωρία της πληροφορίας, η απόσταση Hamming (4) μεταξύ δύο ισομηκών συμβολοσειρών ορίζεται ως το πλήθος των θέσεων στα οποία τα αντίστοιχα σύμβολα διαφέρων μεταξύ των συμβολοσειρών. Με άλλα λόγια, είναι το πλήθος των αλλαγών σε χαρακτήρες που πρέπει να κάνουμε για να μετατρέψουμε τη μία συμβολόσειρα στην άλλη (sting-edit distance). \n","\n","H ομοιότητα συνημιτόνου (5) ορίζεται ως:\n","\n","$$ S_{C}(X,Y):=\\cos(\\theta )={\\mathbf {X} \\cdot \\mathbf {Y} \\over \\|\\mathbf {X} \\|\\|\\mathbf {Y} \\|}={\\frac {\\sum \\limits _{i=1}^{n}{X_{i}Y_{i}}}{{\\sqrt {\\sum \\limits _{i=1}^{n}{X_{i}^{2}}}}{\\sqrt {\\sum \\limits _{i=1}^{n}{Y_{i}^{2}}}}}},$$\n","\n","παίρνει τιμές στο $[-1,1]$ και είναι ιδιαίτερα χρήσιμη σε εφαρμογές όπως η ανάκληση πληροφοριών (Information Retrieval).\n","\n","\n","\n"]},{"cell_type":"markdown","metadata":{"id":"jUNiw1iDHA1B"},"source":["# Είδη clustering\n","\n","![](https://scikit-learn.org/stable/_images/sphx_glr_plot_cluster_comparison_001.png)\n","\n","Υπάρχουν πολλά είδη clustering, το καθένα με τα δυνατά κα τα αδύνατα σημεία του. \n","\n","Μερικές βασικές κατηγορίες συσταδοποίησης είναι οι ακόλουθες:\n","\n","1. Centroids-based Clustering (Partitioning methods)\n","2. Connectivity-based Clustering (Hierarchical clustering)\n","3. Density-based Clustering (Model-based methods)\n","4. Fuzzy Clustering\n","5. Distribution-based Clustering\n","6. Competitive (SOM)\n"]},{"cell_type":"markdown","metadata":{"id":"35SlKTdNUyIb"},"source":["# Centroids-based Clustering"]},{"cell_type":"code","metadata":{"id":"kIwBVbj-yOzt"},"source":["import numpy as np\n","import matplotlib.pyplot as plt\n","%matplotlib inline"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"l8uFD0SeyOzw"},"source":["Στη μη επιβλεπόμενη μάθηση δεν έχουμε κάποιο σύνολο δεδομένων εκπαίδευσης στο οποίο να γνωρίζουμε εκ των προτέρων σε ποια κατηγορία ανήκει το κάθε παράδειγμα. **Δεν γνωρίζουμε καν σε πόσες διαφορετικές κατηγορίες ανήκουν τα δεδομένα μας!**\n","\n","Θα ξεκινήσουμε με ένα εύκολο παράδειγμα, του οποίου τα δεδομένα μπορούμε και με το μάτι εύκολα να χωρίσουμε σε 2 κατηγορίες. Θα βάλουμε $Ν=100$ σημεία στο χώρο, 50 απ' τα οποία θα ανήκουν σε κάθε κατηγορία. Σκοπός μας είναι να υλοποιήσουμε έναν αλγόριθμο ο οποίος θα μπορεί από μόνος του να χωρίζει τα δεδομένα αυτά σε κατηγορίες. "]},{"cell_type":"code","metadata":{"id":"31eI_smdyOzx","colab":{"base_uri":"https://localhost:8080/","height":282},"executionInfo":{"status":"ok","timestamp":1637645247731,"user_tz":-120,"elapsed":9,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"af3443ef-4b4b-4dfb-fee9-08154922f8a8"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","np.random.seed(55) # για να αναπαράγονται τα αποτελέσματα...\n","\n","p1 = np.random.rand(50,2) * 10 + 1 # 100 τυχαίοι αριθμοί από ομοιόμορφη κατανομή στο διάστημα [1,11), αποθηκευμένοι σε πίνακα διαστάσεων 50x2.\n","p2 = np.random.rand(50,2) * 10 + 12 # 100 τυχαίοι αριθμοί από ομοιόμορφη κατανομή στο διάστημα [12,22), αποθηκευμένοι σε πίνακα διαστάσεων 50x2.\n","\n","points = np.concatenate([p1, p2]) # ενώνουμε τους αριθμούς σε έναν ενιαίο πίνακα διαστάσεων 100x2\n"," # η πρώτη στήλη του πίνακα αντιστοιχεί στη συντεταγμένη x ενώ η δεύτερη στην y\n"," # δηλαδή η 30η γραμμή του πίνακα αντιπροσωπεύει τις 2 συντεταγμένες του 30ου παραδείγματος \n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","plt.scatter(points[:,0], points[:,1]) # για να σχεδιάσουμε τη γραφική παράσταση διακριτών σημείων χρησιμοποιούμε την scatter\n"," # τα 2 της ορίσματα είναι οι συντεταγμένες x και y όλων των σημείων\n"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{},"execution_count":3},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"yPujmf15yOz2"},"source":["## Συσταδοποίηση $k$-μέσων\n","\n","Ο πιο απλός αλγόριθμος συσταδοποίησης είναι ο αλγόριθμος **[$k$-μέσων](https://en.wikipedia.org/wiki/K-means_clustering)** ($k$-means), ο οποίος θα δούμε βήμα βήμα πώς δουλεύει.\n","\n","Η λειτουργία του αλγορίθμου είναι απλή:\n","- Ορίζουμε πρώτα τον πλήθος των συστάδων ($k$) στις οποίες θέλουμε να χωρίσει ο αλγόριθμος τα δεδομένα μας. \n","- Η λογική του αλγορίθμου είναι ότι χωρίζει συστάδες με βάση σημεία στο χώρο, τα οποία αναπαριστούν τα κέντρα των ομάδων αυτών. Τα κέντρα αρχικοποιούνται τυχαία. \n","- Έπειτα ελέγχουμε την απόσταση του κάθε δείγματος του σύνολου δεδομένων μας από το κάθε κέντρο. Το κέντρο το οποίο είναι πιο κοντά στο σημείο είναι και αυτό στου οποίου την συστάδα θεωρούμε ότι ανήκει. Τη διαδικασία αυτή την ονομάζουμε *ανάθεση* (assignment). \n","- Τέλος, για κάθε συστάδα, υπολογίζουμε το μέσο όρο όλων των σημείων της και μετακινούμε το κέντρο στο σημείο αυτό. Τη διαδικασία αυτή την ονομάζουμε *ενημέρωση* (update). \n","-Η ανάθεση των σημείων και η ενημέρωση των κέντρων επαναλαμβάνεται έως ότου έρθει σε σύγκλιση ο αλγόριθμος.\n","\n","![](http://stanford.edu/~cpiech/cs221/img/kmeansViz.png)\n","\n","Στο παραπάνω σχήμα:\n","\n","- (α): Δεδομένα εισόδου\n","- (β): Τυχαία αρχικοποίηση κέντρων\n","- (γ): Πρώτη ανάθεση σημείων σε συστάδες\n","- (δ): Πρώτη ενημέρωση κέντρων\n","- (ε): Δεύτερη ανάθεση\n","- (στ): Δεύτερη ενημέρωση\n","\n","Μπορούμε να δούμε ολόκληρη τη διαδικασία της εκπαίδευσης και στο παρακάτω σχήμα.\n","\n","![](https://www.projectrhea.org/rhea/images/e/ef/RunyanKmeans.gif)\n","\n","Η μόνη παράμετρος που χρειάζεται ο αλγόριθμος αυτός για να δουλέψει είναι το $k$, δηλαδή το πλήθος των συστάδων στις οποίες θέλουμε να κατανείμει τα δεδομένα. Μόλις δώσουμε στον αλγόριθμο το $k$, αυτός δημιουργεί $k$ τυχαία σημεία στο χώρο, που αναπαριστούν τα κέντρα των συστάδων."]},{"cell_type":"code","metadata":{"id":"n1bBxea1yOz2","colab":{"base_uri":"https://localhost:8080/","height":265},"executionInfo":{"status":"ok","timestamp":1637645248279,"user_tz":-120,"elapsed":554,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"10ee10c9-835c-4336-8dd1-afc578d09db5"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","k = 2 # υπερπαράμετρος του k-means --> ο αριθμός των συστάδων που θα ψάξει να βρει ο αλγόριθμος\n","\n","np.random.seed(55)\n","centroids = np.random.rand(k,2) * 22 # ΒΗΜΑ 1: φτιάχνει τυχαία 2 σημεία στο ίδιο διάστημα που βρίσκονται και τα δεδομένα μας\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","plt.scatter(points[:,0], points[:,1]) # τυπώνουμε τα σημεία με μπλε (default)\n","plt.scatter(centroids[:,0], centroids[:,1], color='r', s=50) # και τα 2 κέντρα με κόκκινο χρώμα και μεγαλύτερο μέγεθος\n","axes_scaling = plt.axis('equal') # o λόγος των δύο αξόνων να είναι 1 https://matplotlib.org/gallery/subplots_axes_and_figures/axis_equal_demo.html"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"bj0sxDnRyOz5"},"source":["Για να μπορέσουμε να συνεχίσουμε, χρειαζόμαστε έναν τρόπο να υπολογίζουμε πόσο κοντά είναι το ένα σημείο στο άλλο. Το μέτρο που θα χρησιμοποιήσουμε για το σκοπό αυτό είναι η [Ευκλείδεια απόσταση](https://en.wikipedia.org/wiki/Euclidean_distance). Για τις 2 διαστάσεις η απόσταση 2 σημείων $a$ και $b$ υπολογίζεται ως:\n","\n","$$\n","d \\left( a, b \\right) = \\sqrt{ \\left( a_x - b_x \\right)^2 + \\left( a_y - b_y \\right)^2}\n","$$"]},{"cell_type":"code","metadata":{"id":"kBMb3JwTyOz6","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1637645248279,"user_tz":-120,"elapsed":33,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"c69613ae-63ab-4f1a-9681-49807772d0a6"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","def euclidean_distance(point1, point2):\n"," # υλοποίηση της Ευκλείδειας απόστασης από τον παραπάνω τύπο\n"," # δέχεται 2 σημεία (που το καθένα έχει 2 συντεταγμένες) και επιστρέφει την απόσταση\n"," return np.sqrt( (point1[0] - point2[0])**2 + (point1[1] - point2[1])**2 )\n","\n","print('the distance from (5,2) to (2,5) is:', euclidean_distance((5,2), (2,5)))\n","print('the distance from (3,3) to (3,3) is:', euclidean_distance((3,3), (3,3)))\n","print('the distance from (1,12) to (12,15) is:', euclidean_distance((1,12), (12,15)))"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["the distance from (5,2) to (2,5) is: 4.242640687119285\n","the distance from (3,3) to (3,3) is: 0.0\n","the distance from (1,12) to (12,15) is: 11.40175425099138\n"]}]},{"cell_type":"markdown","metadata":{"id":"9fEpe7UMyOz9"},"source":["Αντί της παραπάνω συνάρτησης θα μπορούσαμε εναλλακτικά να χρησιμοποιήσουμε τη μέθοδο [pdist](https://docs.scipy.org/doc/scipy-0.19.1/reference/generated/scipy.spatial.distance.pdist.html) από τη βιβλιοθήκη *scipy.spatial.distance*.\n","\n","Το δεύτερο βήμα του αλγορίθμου είναι να υπολογίσει για κάθε σημείο πόσο απέχει από κάθε κέντρο. Για τον υπολογισμό αυτό θα χρησιμοποιήσουμε τη βοηθητική συνάρτηση που ορίσαμε παραπάνω."]},{"cell_type":"code","metadata":{"id":"bqJq3XAPyOz-","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1637645248280,"user_tz":-120,"elapsed":27,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"6ad1f7bb-c402-4072-eb09-28d6468fc08f"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","def calc_distances(centroids, points):\n"," # δέχεται δύο σύνολα σημείων, το πρώτο είναι το σύνολο των κέντρων των συστάδων\n"," # ενώ το δεύτερο είναι το σύνολο των σημείων που θέλουμε να ομαδοποιήσουμε\n"," distances = np.zeros((len(centroids), len(points))) # φτιάχνουμε έναν πίνακα (διαστάσεων (k x N)) που θα αποθηκεύσει τις αποστάσεις.\n"," for i in range(len(centroids)):\n"," for j in range(len(points)):\n"," distances[i,j] = euclidean_distance(centroids[i], points[j])\n"," return distances\n"," # Το παραπάνω μπορεί να γραφτεί ως εξής:\n"," # return np.reshape(np.array([euclidean_distance(centroids[i], points[j]) for i in range(len(centroids)) for j in range(len(points))]), (len(centroids), len(points)))\n"," \n","\n","print('first 10 distances from the first centroid:')\n","print(calc_distances(centroids, points)[0, :10])\n","print('...')"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["first 10 distances from the first centroid:\n","[10.66051639 18.34697375 18.03210907 21.35516886 12.70487826 12.63056227\n"," 14.22553545 13.44270615 17.74860179 11.96433364]\n","...\n"]}]},{"cell_type":"markdown","metadata":{"id":"D0tQpoH4yO0A"},"source":["Έπειτα, χρησιμοποιεί τις αποστάσεις αυτές για να δει σε ποια συστάδα ανήκει το κάθε σημείο (δηλ. σε ποιο κέντρο βρίσκεται πιο κοντά)."]},{"cell_type":"code","metadata":{"id":"SPkZfeDXyO0B","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1637645248280,"user_tz":-120,"elapsed":21,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"579933e5-1495-4ba2-b972-b394c25cb87c"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","def assign_cluster(centroids, points):\n"," distances = calc_distances(centroids, points)\n"," return np.argmin(distances, axis=0)\n","\n","print('which cluster does each point belong to?')\n","print(assign_cluster(centroids, points))"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["which cluster does each point belong to?\n","[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"," 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 1\n"," 1 1 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1]\n"]}]},{"cell_type":"markdown","metadata":{"id":"HxN8YYv8yO0F"},"source":["Επειδή έχουμε $k=2$ ο διαχωρισμός των 2 συστάδων γίνεται γεωμετρικά από τη μεσοκάθετο. Τις γραμμές (ή επίπεδα σε χώρους μεγαλύτερων διαστάσεων) που χωρίζουν τις ομάδες τις αποκαλούμε [*όρια αποφάσεων*](https://en.wikipedia.org/wiki/Decision_boundary) (decision boundaries). Για λόγους εξοικείωσης με τη matplotlib θα προσπαθήσουμε να σχεδιάσουμε τις ομάδες και τη μεσοκάθετο.\n","\n","Όσον αφορά την επιλογή των χρωμάτων, η matplotlib έχει δώσει σε αρκετά χρώματα [ονόματα](https://matplotlib.org/examples/color/named_colors.html) με τα οποία μπορούμε να τα καλέσουμε. Αυτός είναι και ο πιο εύκολος τρόπος να διαλέξουμε χρώμα. Δίνει βέβαια τη δυνατότητα να [δημιουργήσουμε](https://matplotlib.org/api/colors_api.html) και δικά μας (π.χ. αν γνωρίζουμε τις RGB ή HSV τιμές του χρώματος).\n"]},{"cell_type":"code","metadata":{"id":"n9mC35EdyO0G","colab":{"base_uri":"https://localhost:8080/","height":278},"executionInfo":{"status":"ok","timestamp":1637645248281,"user_tz":-120,"elapsed":15,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"678d11e5-d8e9-4f28-808f-1e7b1c7c97f0"},"source":["# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","# Αρχικά θα υπολογίσουμε τη συνάρτηση της μεσοκαθέτου\n","def generate_perp_bisector(centroids):\n"," midpoint = ((centroids[0,0]+centroids[1,0])/2, (centroids[0,1]+centroids[1,1])/2) # το μέσο των 2 κέντρων\n"," slope = (centroids[1,1]-centroids[0,1]) / (centroids[1,0]-centroids[0,0]) # η κλίση της ευθείας που ενώνει τα 2 κέντρα\n"," perpendicular = -1/slope # η κάθετος στην κλίση αυτή\n"," #perpendicular = slope\n"," return lambda x: perpendicular*(x-midpoint[0]) + midpoint[1] # η συνάρτηση της μεσοκαθέτου\n"," #lambda είναι μια ανώνυμη συνάρτηση δλδ lambda argument: manipulate(argument)\n","\n","\n","perp_bisector = generate_perp_bisector(centroids)\n"," \n","# Φτιάχνουμε μια απεικόνιση με το τι χρώμα θέλουμε να έχει η κάθε ομάδα και κάνουμε την αντιστοίχιση\n","map_colors = {0:'orange', 1:'deepskyblue'}\n","colors = [map_colors[i] for i in assign_cluster(centroids, points)]\n","\n","# Δίνουμε στην scatter το όρισμα c, το οποίο περιέχει μια λίστα με το χρώμα του κάθε σημείου\n","plt.scatter(points[:,0], points[:,1], c=colors, lw=0, s=30, label='data points') # η παράμετρος lw=0 ορίζει ότι δεν θέλουμε πλαίσιο γύρω από τα σημεία αυτά\n","plt.scatter(centroids[:,0], centroids[:,1], c=['orange', 'deepskyblue'], s=80, label='centroids') # την παράμετρο label θα την χρησιμοποιήσει η λεζάντα\n","\n","# Τυπώνουμε και με την plot το decision boundary μας με μωβ χρώμα\n","plt.plot(range(25), [perp_bisector(x) for x in range(25)], c='purple', label='decision boundary')\n","\n","# Ορίζουμε τα πλαίσια της γραφικής για κάθε άξονα\n","plt.xlim([0,22])\n","plt.ylim([1,23])\n","\n","# Σβήνουμε την αρίθμηση και τα σημεία από τους άξονες\n","plt.tick_params(axis='both', which='both', bottom=False, left=False, top=False, right=False, labelbottom=False, labelleft=False)\n","\n","# Βάζουμε τίτλους στους άξονες και στο κείμενο\n","plt.xlabel('x')\n","plt.ylabel('y')\n","plt.title('KMeans: Random Centroid Initialization')\n","\n","# Ορίζουμε την τοποθεσία της λεζάντας μας. Τα ονόματα τα πήρε από τα label των αντικειμένων παραπάνω\n","plt.legend(loc='lower right')\n","axes_scaling = plt.axis('equal')"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{}}]},{"cell_type":"markdown","metadata":{"id":"-yBd3jp_yO0K"},"source":["Το τρίτο βήμα είναι να πάρει όλα σημεία της κάθε ομάδας, να υπολογίσει τη μέση τιμή τους και να τοποθετήσει το αντίστοιχο κέντρο στη θέση που αντιστοιχεί στη μέση τιμή αυτή."]},{"cell_type":"code","metadata":{"id":"h3_f4C1-yO0L","colab":{"base_uri":"https://localhost:8080/","height":264},"executionInfo":{"status":"ok","timestamp":1637645248661,"user_tz":-120,"elapsed":392,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"49806831-340f-4623-c29b-b6dfc364c816"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","def update_centers(centroids, points):\n"," clusters = assign_cluster(centroids, points) # τρέχει πρώτα τη διαδικασία της ανάθεσης για να δει σε ποια συστάδα ανήκει το κάθε παράδειγμα\n"," new_centroids = np.zeros(centroids.shape) # πίνακας που θα αποθηκευτούν οι νέες θέσεις των κέντρων\n"," for i in range(len(centroids)):\n"," cluster_points_idx = [j for j in range(len(clusters)) if clusters[j] == i] # βρίσκει τις θέσεις των σημείων που αντιστοιχούν στην i-οστή συστάδα\n"," if cluster_points_idx: # αν υπάρχουν σημεία που έχουν ανατεθεί στο κέντρο, αυτό ενημερώνεται\n"," cluster_points = points[cluster_points_idx] # παίρνουμε το slice των αντίστοιχων θέσεων\n"," new_centroids[i, 1] = cluster_points[:,1].sum() / len(cluster_points) # υπολογίζουμε τη νέα θέση των κέντρων\n"," new_centroids[i, 0] = cluster_points[:,0].sum() / len(cluster_points)\n"," else: # αλλιώς κρατάμε την παλιά του θέση\n"," new_centroids[i, :] = centroids[i, :]\n"," return new_centroids\n","\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","# Υπολογίζουμε τις νέες θέσεις των κέντρων και με βάση αυτές το νέο όριο απόφασης και τις νέες αναθέσεις\n","new_centroids = update_centers(centroids, points)\n","new_boundary = generate_perp_bisector(new_centroids)\n","new_colors = [map_colors[i] for i in assign_cluster(new_centroids, points)]\n","\n","# Όπως είδαμε πριν δημιουργούμε τη γραφική παράσταση μετά την ενημέρωση των κέντρων\n","plt.scatter(points[:,0], points[:,1], c=new_colors, lw=0, s=30, label='data points')\n","plt.scatter(centroids[:,0], centroids[:,1], c=['orange', 'deepskyblue'], s=80, alpha=0.3, label='old centroids') # παλιά κέντρα\n","plt.scatter(new_centroids[:,0], new_centroids[:,1], c=['orange', 'deepskyblue'], s=80, label='new centroids')# νέα κέντρα\n","plt.plot(range(25), [new_boundary(x) for x in range(25)], c='purple', label='new boundary') # νέο όριο απόφασης\n","plt.plot(range(25), [perp_bisector(x) for x in range(25)], c='black', label='old boundary', alpha=0.3) # παλιό όριο απόφασης\n","plt.xlim([0,22])\n","plt.ylim([1,23])\n","plt.tick_params(axis='both', which='both', bottom=False, left=False, top=False, right=False, labelbottom=False, labelleft=False)\n","plt.title('KMeans: Boundary changes after first centroid update')\n","plt.legend(loc='lower right')\n","axes_scaling = plt.axis('equal')\n","\n","# Σχεδιάζουμε και τα βελάκια που θα δούμε παρακάτω στο σχήμα\n","for i in range(k):\n"," plt.arrow(centroids[i,0], centroids[i,1], new_centroids[i,0]-centroids[i,0], new_centroids[i,1]-centroids[i,1],\n"," length_includes_head=True, head_width=0.5, color='black')"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{}}]},{"cell_type":"markdown","metadata":{"id":"Fau4tHETyO0O"},"source":["Τα βήματα 2 και 3 επαναλαμβάνονται μέχρι να μη μετακινούνται άλλο τα κέντρα. Ένα πολύ ωραίο visual example να δοκιμάσετε τον αλγόριθμο σε διάφορους τύπους δεδομένων και με διάφορες αρχικές συνθήκες θα βρείτε [εδώ](https://www.naftaliharris.com/blog/visualizing-k-means-clustering/).\n","\n","Για λόγους διευκόλυνσής μας θα γράψουμε τον αλγόριθμο αυτό σε μορφή κλάσης. Η κλάση αυτή θα αρχικοποιείται μόνο με την παράμετρο $k$, Θα έχει μια μέθοδο που θα ονομάσουμε `.fit()` η οποία θα δέχεται τα σημεία που θέλουμε να ομαδοποιήσουμε και θα εκπαιδεύει τον αλγόριθμο έως ότου έρθει σε σύγκλιση. Επίσης θα έχει μια μέθοδο `.predict()` η οποία θα δέχεται ένα ή περισσότερα σημεία και θα επιστρέφει σε ποια κλάση ανήκουν τα σημεία αυτά. "]},{"cell_type":"code","metadata":{"id":"WnKZu0EAyO0O"},"source":["class KMeans:\n"," \n"," def __init__(self, k, term_distance=0.05, max_steps=50, seed=None):\n"," # Constructor της κλάσης, δέχεται τις παραμέτρους και αρχικοποιεί το αντικείμενο\n"," self.k = k\n"," self.seed = seed\n"," self.history = [] \n"," # Συνθήκες τερματισμού:\n"," self.term_distance = term_distance # ελάχιστη επιτρεπτή απόσταση μετακίνησης των κέντρων\n"," self.max_steps = max_steps # μέγιστος επιτρεπτός αριθμός εποχών\n"," \n"," def initialize(self, data):\n"," # Βάζει k σημεία σε τυχαίες θέσεις στο χώρο που ορίζουν τα σημεία μας\n"," np.random.seed(self.seed)\n"," self.centroids = np.random.rand(self.k,2) * data.max()\n"," self.history = [self.centroids] # κρατάει ιστορικό με τις παλιές θέσεις των κέντρων\n"," \n"," def calc_distances(self, points):\n"," # Υπολογίζει τις αποστάσεις των σημείων points από τα κέντρα\n"," distances = np.zeros((len(self.centroids), len(points)))\n"," for i in range(len(self.centroids)):\n"," for j in range(len(points)):\n"," distances[i,j] = self.euclidean_distance(self.centroids[i], points[j])\n"," return distances\n"," \n"," def assign_cluster(self, points):\n"," # Συγκρίνει τις αποστάσεις των σημείων points από τα κέντρα και πραγματοποιεί την ανάθεση\n"," distances = self.calc_distances(points)\n"," return np.argmin(distances, axis=0)\n","\n"," def update_centers(self, points):\n"," # Υπολογίζει τις νέες θέσεις των κέντρων\n"," clusters = self.assign_cluster(points)\n"," new_centroids = np.zeros(self.centroids.shape)\n"," for i in range(len(self.centroids)):\n"," cluster_points_idx = [j for j in range(len(clusters)) if clusters[j] == i]\n"," if cluster_points_idx:\n"," cluster_points = points[cluster_points_idx]\n"," new_centroids[i, 1] = cluster_points[:,1].sum() / len(cluster_points)\n"," new_centroids[i, 0] = cluster_points[:,0].sum() / len(cluster_points)\n"," else:\n"," new_centroids[i, :] = centroids[i, :]\n"," return new_centroids\n"," \n"," def fit(self, data):\n"," # Πραγματοποιεί όλη τη διαδικασία της εκπαίδευσης:\n"," # 1) αρχικοποιεί τα κέντρα με την initialize\n"," # 2, 3) υπολογίζει τις αποστάσεις και ενημερώνει τα κέντρα με την update_clusters\n"," # Επαναλαμβάνει τα βήματα 2 και 3 έως ότου ικανοποιηθεί η συνθήκη τερματισμού\n"," self.initialize(data)\n"," self.previous_positions = [self.centroids]\n"," step = 0\n"," cluster_movement = [self.term_distance + 1] * self.k\n"," while any([x > self.term_distance for x in cluster_movement]) and step < self.max_steps:\n"," new_centroids = self.update_centers(data)\n"," self.history.append(new_centroids)\n"," cluster_movement = [self.euclidean_distance(new_centroids[i,:], self.centroids[i,:]) for i in range(self.k)]\n"," self.centroids = new_centroids\n"," self.previous_positions.append(self.centroids)\n"," step += 1\n"," \n"," def predict(self, points):\n"," # Ελέγχει αν το points είναι πίνακας με πολλά σημεία ή οι συντεταγμένες ενός σημείου και πραγματοποιεί την ανάθεση \n"," if isinstance(points, np.ndarray):\n"," if len(points.shape) == 2:\n"," return [np.argmin([self.euclidean_distance(point, centroid) for centroid in self.centroids]) for point in points]\n"," return np.argmin([self.euclidean_distance(points, self.centroids[i]) for i in range(self.k)])\n"," \n"," \n"," def fit_predict(self, points):\n"," # Τρέχει την fit και επιστρέφει τα assignments\n"," self.fit(points)\n"," return self.predict(points)\n"," \n"," @staticmethod\n"," def euclidean_distance(point1, point2):\n"," # Υπολογίζει την Ευκλείδεια απόσταση μεταξύ 2 σημείων\n"," return np.sqrt( (point1[0] - point2[0])**2 + (point1[1] - point2[1])**2 )"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"f-ycG7TayO0S"},"source":["Στην αρχή για να δούμε αν δουλεύει σωστά θα τρέξουμε μερικές επαναλήψεις μόνοι μας (χωρίς να κάνουμε χρήση της `.fit()`. Πρώτα αρχικοποιούμε τα $k$ κέντρα των ομάδων."]},{"cell_type":"code","metadata":{"id":"bXrXHXDhyO0T","colab":{"base_uri":"https://localhost:8080/","height":264},"executionInfo":{"status":"ok","timestamp":1637645249084,"user_tz":-120,"elapsed":426,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"38cb7f24-07fe-4608-8b81-f004ca68a0e4"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","km = KMeans(2, seed=13)\n","km.initialize(points)\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","colors = [map_colors[i] for i in km.predict(points)]\n","decision_boundary = generate_perp_bisector(km.centroids)\n","\n","plt.scatter(points[:,0], points[:,1], c=colors, lw=0, s=30, label='data points')\n","plt.scatter(km.centroids[:,0], km.centroids[:,1], c=['orange', 'deepskyblue'], s=80, label='centroids')\n","plt.plot(range(25), [decision_boundary(x) for x in range(25)], c='purple', label='decision boundary')\n","plt.xlim([0,22])\n","plt.ylim([1,23])\n","plt.tick_params(axis='both', which='both', bottom=False, left=False, top=False, right=False, labelbottom=False, labelleft=False)\n","plt.legend(loc='upper left')\n","plt.title('KMeans: Boundary after initialization')\n","axes_scaling = plt.axis('equal')"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAV0AAAD3CAYAAAC+eIeLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3dd3zURfrA8c8k2TRCCIQaWoLSE0ILoDQFRRHEXrDrWc6G53moPyt3lvP0vFM8Tz30RO8sHHpgPU89QUBEBATpvSVASCGBkJ6d3x+zSbYmu0m2JHner9e+YOfbJtnNs7PznXlGaa0RQggRGGHBroAQQrQmEnSFECKAJOgKIUQASdAVQogAkqArhBABJEFXCCECSIKu8DulVLJSSiulIkKgLl2UUsuUUieUUs/76Rr/UUpd3xT7KqVeVUo96uW5liqlbrb9/2ql1Jfe1dh7SqmHlFKvN/V5W5NWH3SVUvuUUmfZPb9SKXVMKTXRLlj85HRMR6VUuVJqX8Ar7CW7uhfZHtlKqb8qpSzBrluQ3QrkAvFa6/vsA1VT0VpP1Vq/5eu+SqkblFIrnLb/Umv9RAPq8I7Weoqvx9lTSp2hlMp0Ou/TWusm/X21Nq0+6NqztTheBqZprb+12xSrlEq1e34VsDeglWu4BK11HJAGnAbcGeT6+MQPrePewBbdRLOClFLhTXEe0YporVv1A9gHnAXchmkBjbTblgxo4BHgObvyNcDDwD67siTgQyAHE5Bn2W0bBXwPFACHgb8AkXbbNfBLYKdtn5cBZdt2KvAtUGir3wIvf67qukfYlT0L/M3u+UBgqe2am4EZdtuWAjfbPb8BWOFlncOBP9rquwcT6GvqAtwIbAVO2LbfZnfeM4BM4AHgCPAPYBNwvt0+Ftu5h7n5udsDn9peh2O2//ewbZsPVADlQBHwHVAFlNqe/8W23wDgKyAf2A5cbnf++cArwOfASeAsN3Wo+d1V/95sv49jtvfGVOd9ba9Fqa0+RUCB3fWerO9n83Rd2//vt52z+lEBzK/rtQDaACWA1e64JGAO8E+7a87AvHcKbNcf6PS39RvgZ8z7dwEQHey/+WA/gl6BYD9sb4wPgWwg3WlbMiZYJAMHMcFkELANE6j32fYLA9YCjwGRQB/bG/gc2/YRwBggwnaurcCv7K6jbX9ACUAv2x/VubZt72ECfBgQDYyzO+5T4EEPP1d13asDXRKwAbjJ9twC7AIestV5ku0Pr79te80fsO15zR+xF3X+pe131BPoACxxqss04BRAAROBYmC4bdsZQCXwByAKiMEEjQV2174A2Ojh504ELgFigbbAQmCx3fb52IKYh5+zje21vtH2eg3DBPhBdscXAmOrXxM3dag5p+33VgHcgnn/3A4covYDynnfFU7nqqmvFz9bneeylfe0XX+ql69FptPxc7AFXaAf5oPnbMz76X7MeyrS7m9rNea91wHzvv9lsP/mg/2Q7gXjbGAVsNHD9kxMi+cs4DpM68teBtBJa/07rXW51noPMA+4EkBrvVZrvUprXam13ge8hnmD23tGa12gtT6ACVJDbeUVmK/ESVrrUq11TZ+f1nq61vqZen62XKVUAZCF+QP5wFY+BoizXbdca/0NJojOrOd83tT5cuAFrfVBrXU+8Hv7g7TWn2mtd2vjW+BLYLzdLlbgca11mda6BPgncJ5SKt62/VpcX4Pqc+dprT/UWhdrrU8AT+H6u67LdMyH6Zu21+snzIfyZXb7fKS1/k5rbdVal3pxzv1a63la6yrgLaAb0MWHOgGN/9mUUjHAYuBFrfV/bOes77WoyxXAZ1rrr7TWFZjWfAxwut0+c7XWh2zvg0+ofY+0WhJ0jdsxn9qvK6WUh33exrQeZuL6B98bSFJKFVQ/MC3ILgBKqX5KqU+VUkeUUseBp4GOTuc4Yvf/YkxABNN6UMBqpdRmpdRNPv5sHbXWCZjW0XfAf23lScBBrbXVbt/9QHcfzu2pzkmY1qL9eWsopaYqpVYppfJtv6vzcPx95NgHM631IVvdL1FKJQBTgXfcVUgpFauUek0ptd/2u14GJPjQ99obGO30Wl4NdLXb56D7Qz2q+T1prYtt/43zsK9HTfCzvQFs11r/we6c9b0WdUnC7rW1vZcO4vge8vQeabUk6BrZwGTMJ/xfPezzIear2B5by87eQWCv1jrB7tFWa32ebfsrmK/bfbXW8ZiA7Cm4O9BaH9Fa36K1TsL0O/9VKXWqTz+dOU8J5qvqGKVUR8xXzJ5KKfv3QC9MixhMqzjWbpt90KnPYczXWPvzAqCUisL8Lv8IdLF9IHyO4+/D3U2ut4BrMC3O77XWWW72AbgP6A+Mtv2uJ1Rf2sP+ztc6CHzr9FrGaa1vr6d+TaG+8/r6s9VQSj2IaVj8wq6svteivvocwnxIVZ9PYV53T6+NQIJuDVtrajJwrlLqz262n8T0e7obLrMaOKGUekApFaOUCldKpSqlMmzb2wLHgSKl1ABMy9orSqnLlFI9bE+PYf4QrHUc4uk8UZiv5UeAPOAHTMvjfqWURSl1BnA+8L7tkPXAxbbW1anY/bF64V/ALKVUD6VUe+BBu22RmL7aHKBSKTUV8GZo02JgOHAP5luHJ20xN4AKlFIdgMfrOW82pg++2qdAP6XUtbbfi0UplaGUGuhFHRsrG+ihlIr0sN3Xnw0wrVlgFnCR7cO3Wn2vRTaQqJRq5+HU/wKmKaUm24Yi3geUASu9qVdrJUHXjq0FOwm4VCn1ezfb12itd7spr8L0BQ7F3J3OBV4Hqt+sv8EMMzuB6etd4EO1MoAflFJFwMfAPbY+4+qB9Q/Vc3yB7dhszJCxGbb+u3JMkJ1qq+9fgeu01ttsx/0Zc5c/G9PKdPt13oN5mG6MDcA64N/VG2x9kbMwf7DHML+Xj+s7oS1YfAik2J/PjRcw/Yq5mH76L+o59YuY1/uYUmqurX5TMP3xhzAfUtU39fztG8xIgCNKqVw323392apdAXQCttqN2361vtfC9l54D9hj62pJsj+p1no75tvHS7Y6nY8ZZVLu7Q/cGlXfQRUi5CmlHgP6aa2vCXZdhGiooE/LFMIbtq/Tv8B0kQjRbEn3ggh5SqlbMDe4/qO1Xhbs+gjRGNK9IIQQASQtXSGECKA6+3Q7duyok5OTA1QVIYRoGdauXZurte7kbludQTc5OZk1a9b4p1ZCCNFCKaX2e9om3QtCCBFAEnSFECKAJOgKIUQA+Tw5oqKigszMTEpLvcloJ1qS6OhoevTogcXS2lf8EaLhfA66mZmZtG3bluTkZDxnQRQtjdaavLw8MjMzSUlJCXZ1hGi2fO5eKC0tJTExUQJuK6OUIjExsUV/w7Fq+Dof3smG3BaSsqXMCu9lwzP7YWNRsGsjoIG5FyTgtk4t+XUvt8I5P8PSAvO8TRh8PgQmJAS3XvXRGl7MhH9kQ9twmN0LpiWabRVWmLQeVh43zx/eC28NgGt8yYwsmpzcSBMCWJhTG3ABTlrhfpcknqHnxUy4dzesK4JvC2HGRvjBFmQ/yasNuGCSMD/UXNawbsGafdCdM2cOf/zjHxt07Omnn17n9vPOO4+CgoI69/HGDTfcwAcffFD/jk0oLq7Vr4rikx3FbspKXMtCzVvZjs+tmO4RgKwy1/0PlZnWsQieZh90G2PlyroT3H/++eckJIT498smoLXGavV5MYoW5ez2rmVT3JSFmrZuVkeLs5VNSwSLU4/QhR2hBfcSNQvNMug+9dRT9OvXj3HjxrF9+/aa8t27d3PuuecyYsQIxo8fz7ZtZhGE7OxsLrroItLT00lPT68JttWtwcOHDzNhwgSGDh1Kamoqy5cvB8w06Nxck8D/T3/6E6mpqaSmpvLCCy8AsG/fPgYOHMgtt9zC4MGDmTJlCiUl7ptHX3/9NSNHjqRfv358+umngLkpeeONN5KWlsawYcNYsmQJAPPnz+euu+6qOXb69OksXbq0ps4PP/ww6enpjBkzhuxs06zZu3cvp512GmlpaTzyyCM1xxYVFTF58mSGDx9OWloaH330UU3d+/fvz3XXXUdqaipPPPEEv/rVr2qOmzdvHvfee6/Pr02w/XQClhwz/Zm+GJcAz58CCba7HFPaw0t9m75+3qi0wuIcuG8XzN4N/803N/ncmd3T8Y+4fQTc2s38v08MfDAYBsWaPuorOsHf+vu9+qIejUpi/sWvvuDI+iP17+iDrkO7cu4L53rcvnbtWt5//33Wr19PZWUlw4cPZ8SIEQDceuutvPrqq/Tt25cffviBO+64g2+++YZZs2YxceJEFi1aRFVVFUVFjrdx3333Xc455xwefvhhqqqqKC4udrnmm2++yQ8//IDWmtGjRzNx4kTat2/Pzp07ee+995g3bx6XX345H374Iddc47qwwb59+1i9ejW7d+/mzDPPZNeuXbz88ssopdi4cSPbtm1jypQp7Nixo87fz8mTJxkzZgxPPfUU999/P/PmzeORRx7hnnvu4fbbb+e6667j5Zdfrtk/OjqaRYsWER8fT25uLmPGjGHGjBkA7Ny5k7feeosxY8ZQVFREeno6zz33HBaLhTfffJPXXnut7hcrhJRZ4cJN8EW+eZ4cDV8NgVNj6z7O3q97wt3docQK8UFK7//jcZi2EUqtcKLKlL2aBR0s8N8hMKCN4/7nd4TvhsE/s02db+0GyTG122d0NA8ROprdyhHLly/noosuIjbW/DVVB5CioiJWrlzJZZddVrNvWZnp1Prmm294+22zlmF4eDjt2jmus5eRkcFNN91ERUUFF154IUOHDnXYvmLFCi666CLatDHv+Isvvpjly5czY8YMUlJSavYfMWIE+/btc1vvyy+/nLCwMPr27UufPn3Ytm0bK1as4O677wZgwIAB9O7du96gGxkZyfTp02uu99VXXwHw3Xff8eGHHwJw7bXX8sADDwCm6+Chhx5i2bJlhIWFkZWVVdM67t27N2PGjAFMC3rSpEl8+umnDBw4kIqKCtLS0uqsSyh560htwAXYVwr/txcWDvbu+G+OwfwjEBsGd3SHIUHoEt9dApM2QFGVY3mRFU6WwdifYOso6Oy0bOWYduYhmodGBd26WqSBZrVaSUhIYP369T4fO2HCBJYtW8Znn33GDTfcwK9//Wuuu+46r46NiqpdrzA8PNxj94LzcKu6hl9FREQ49LHaj421WCw1x4aHh1NZWVnnOd955x1ycnJYu3YtFouF5OTkmvNVf4hUu/nmm3n66acZMGAAN954o8f6haINbsagrvdyXOpHuXDRptr1xt/OhtXDITXAgff3+6G0yv02DRRXwStZ8LjMTWnWml2f7oQJE1i8eDElJSWcOHGCTz75BID4+HhSUlJYuHAhYFp4GzZsAGDy5Mm88sorAFRVVVFYWOhwzv3799OlSxduueUWbr75ZtatW+ewffz48SxevJji4mJOnjzJokWLGD9+vE/1XrhwIVarld27d7Nnzx769+/P+PHjeecds8jujh07OHDgAP379yc5OZn169djtVo5ePAgq1evrvf8Y8eO5f33zerp1ecEKCwspHPnzlgsFpYsWcL+/R4zzjF69GgOHjzIu+++y8yZM336+YJtrJuW3jgvW39zM2sDLpjuhb8dbpJq+eS9o1BZx/ZSDfOCUC/RtJpd0B0+fDhXXHEF6enpTJ06lYyMjJpt77zzDm+88Qbp6ekMHjy45qbRiy++yJIlS0hLS2PEiBFs2bLF4ZxLly4lPT2dYcOGsWDBAu655x6Xa95www2MGjWK0aNHc/PNNzNs2DCf6t2rVy9GjRrF1KlTefXVV4mOjuaOO+7AarWSlpbGFVdcwfz584mKimLs2LGkpKQwaNAgZs2axfDhw+s9/4svvsjLL79MWloaWVlZNeVXX301a9asIS0tjbfffpsBAwbUeZ7LL7+csWPH0r59M7h1b+fKzqY/s/pm/mnx8Ewf744td3OTqjzAgzms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\n","text/plain":["
"]},"metadata":{}}]},{"cell_type":"markdown","metadata":{"id":"sNyStph_yO0X"},"source":["Και στη συνέχεια τρέχουμε μια επανάληψη και ενημερώνουμε τα κέντρα."]},{"cell_type":"code","metadata":{"id":"b2mWzeDmyO0Y","colab":{"base_uri":"https://localhost:8080/","height":264},"executionInfo":{"status":"ok","timestamp":1637645249631,"user_tz":-120,"elapsed":550,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"1598793e-e33e-460a-ef7f-14d4798531f9"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","old = km.centroids\n","km.centroids = new = km.update_centers(points)\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","colors = [map_colors[i] for i in km.predict(points)]\n","decision_boundary_new = generate_perp_bisector(new)\n","\n","plt.scatter(points[:,0], points[:,1], c=colors, lw=0, s=30, label='data points')\n","plt.scatter(old[:,0], old[:,1], c=['orange', 'deepskyblue'], s=80, label='old centroids', alpha=0.3)\n","plt.scatter(new[:,0], new[:,1], c=['orange', 'deepskyblue'], s=80, label='new centroids')\n","plt.plot(range(25), [decision_boundary(x) for x in range(25)], c='black', label='old boundary', alpha=0.3)\n","plt.plot(range(25), [decision_boundary_new(x) for x in range(25)], c='purple', label='new boundary')\n","plt.xlim([0,22])\n","plt.ylim([1,23])\n","plt.tick_params(axis='both', which='both', bottom=False, left=False, top=False, right=False, labelbottom=False, labelleft=False)\n","plt.legend(loc='upper left')\n","plt.title('KMeans: Boundary changes after first centroid update')\n","axes_scaling = plt.axis('equal')\n","\n","for i in range(km.k):\n"," plt.arrow(old[i,0], old[i,1], new[i,0]-old[i,0], new[i,1]-old[i,1], length_includes_head=True, head_width=0.5, color='black')\n"," "],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{}}]},{"cell_type":"code","metadata":{"id":"NJSemyvoyO0b","colab":{"base_uri":"https://localhost:8080/","height":264},"executionInfo":{"status":"ok","timestamp":1637645250077,"user_tz":-120,"elapsed":454,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"e192a77f-bd1d-4db6-df9c-7c069f14e81d"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","old = km.centroids\n","new = km.update_centers(points)\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","decision_boundary = decision_boundary_new\n","colors = [map_colors[i] for i in km.predict(points)]\n","decision_boundary_new = generate_perp_bisector(new)\n","\n","plt.scatter(points[:,0], points[:,1], c=colors, lw=0, s=30, label='data points')\n","plt.scatter(old[:,0], old[:,1], c=['orange', 'deepskyblue'], s=80, label='old centroids', alpha=0.3)\n","plt.scatter(new[:,0], new[:,1], c=['orange', 'deepskyblue'], s=80, label='new centroids')\n","plt.plot(range(25), [decision_boundary(x) for x in range(25)], c='black', label='old boundary', alpha=0.3)\n","plt.plot(range(25), [decision_boundary_new(x) for x in range(25)], c='purple', label='new boundary')\n","plt.xlim([0,22])\n","plt.ylim([1,23])\n","plt.tick_params(axis='both', which='both', bottom=False, left=False, top=False, right=False, labelbottom=False, labelleft=False)\n","plt.legend(loc='upper left')\n","plt.title('KMeans: Boundary changes after second centroid update') \n","axes_scaling = plt.axis('equal')\n","\n","for i in range(km.k):\n"," plt.arrow(old[i,0], old[i,1], new[i,0]-old[i,0], new[i,1]-old[i,1], length_includes_head=True, head_width=0.3, color='black')"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAWgAAAD3CAYAAAAwos73AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOydeVgUV/aw39vN0uwIbuAGKi6AgKDghnvUyWKixsliNJqYmSQmmWR+MU5mMcYkM5nRyTLZky+jozHGqNGsZqJjjCKuKG64IIoiruz72vX9cQtomu6mQQTEep+HR7vurVunblWdunXuuecIRVHQ0NDQ0Gh96FpaAA0NDQ0Ny2gKWkNDQ6OVoiloDQ0NjVaKpqA1NDQ0WimagtbQ0NBopWgKWkNDQ6OVoinoVoAQIkAIoQghHFpYjm1CiLktKcONRAjxhBDiihCiQAjh29LyNDdCiFQhxPiWlqMhCCFmCCF+slHebPes+oz2bo5jVVGvgja/qEKI+4UQ2UKIUSaK5aDZPu2FEGVCiNQbIHOTYCJ7gfp3RQjxvhDCsaVl02h61Ov6BjBBURR3YIAQ4kILi9WmaYqBh6IoqxRFmdCUct1omnLA1aARtBDiYeA94A5FUX4xKXIVQoSa/H4QOHu9wjUT3lUPLDAUmNfC8jSIlh5130R0AgzAsaZoTOv3pkHrR9vYraCFEL8F/glMVBQl3qx4JfCwye9ZwAqz/f2FEOuFENeEEGeFEM+YlEULIXYJIXKEEJeEEO8KIZxMyhUhxONCiGS1zntCCKGW9RZC/CKEyBVCZAgh1th/+jUoinIV2AwEmxy3v/oJlSOEOCaEmGxSVuvTSggxWwgRZ6fMeiHEUlXeM8AdZn01RwhxXAiRL4Q4o/Z9VdloIcQFIcQCIcRlYJkQ4qgQ4i6TOo5q2wMtnasQ4m4hRKIQIk8IkSKEmGRS3EMIsVM99k9CiPYm+60VQlxW+3q7ECLEpGy5eo7fq/vuEUL0MimfIIQ4qe77vnrNTPvvEfWcs4UQ/xVC9FC3CyHEm0KIq6q8R8wGA/X2mxCiD3BSrZYjhPgZ2AT4m3xB+QshdEKIP6h9kimE+FII4aO2UTUqelQIcR7YauH47YUQ36nXO0sIsUMIoVPLbN3/eiHEH9Xj5gshEoQQ3dSyYUKIfWq/7RNCDDPZb5sQ4hUb12umEOKcei5/stRnJnVdhBD/VOvnCiHihBAuatkQIUS8el6HhBCj7ZRhu0mfFwghhgr5nOxUr2kmsEgI4SWEWKH2zTkhxJ9N+s38ubpNCHFClfFdQNg4p+VCiFdNfo8WJl9NQloHXhRCJKn33TIhhMGkfL6Q+uiiEOIRs7bvEEIcVO/JNCHEIpPiOuet7mPxHreJoig2/4BUYD1wBQg3KwsAFPXfNECPVHAngPFAqlpPByQACwEnoCdwBqnsAaKAIYCD2tZx4FmT4yjAd4A30B24BkxSy1YDf1KPYQBGmOz3HfAHK+dVJbuD+tsfOAQ8ov52BE4Df1RlHgvkA33V8m3AXJP2ZgNxdsr8uNpH3QAf4GczWe4AeiFvvlFAERCplo0GKoC/A86AC/ACsMbk2HcDR6ycdzSQC9ym9lkXoJ/JOaUAfdR2twGvm+z7COChHvctINGkbDmQqbbvAKwCvlDL2gN5wFS17HdAeVX/qfKeBvqr5X8G4tWyich7x1vtj/6An5Vzs9Vv5td7NHDBbP/fAbuBruo5fgSsNtt/BeAGuFg4/t+AD5H3jiMQq8pS3/0/HzgC9FXrhwO+6r2RDcxU++UB9bdvfdcL+RwWACPVc3kDed+Mt9J376n7d0E+x8PU/bqo1/V29TxuU393sEOGWn1u8pxUAE+r5+Si9unXyHsrADgFPGr+XCHvo3zgXrV/n1PbmmvlnJYDr5r8rnXNkbrtKDXP4c6q+sAkpM4LVa/35+q59DZpa4DaJ2Fq3XtsnLfVe9ym/rVTQeepHaizpuSALciH6XWkwjRV0DHAebN9XwSWWTnms8AGM2Vnqni/RFW86sX9GOha37lYkT1H/VOAeMBTLY8FLpueM/JlsKgBCtqazFuBx03KJphfUDNZNwK/M7kxygCDSbk/8satkn0d8IKVtj4C3rRStg34s8nvJ4EfrdT1VmX2MnkY/p9J+e3ACfX/s4BdJmUC+UKvUtCbUB9I9bcOqVx7IF+Mp5AvcJ0lWWxcY9N+q75XLT2s6rbjwDiT337IF4mDyf49bRxvMfI56W223eb9jxzd322hvZnAXrNtu4DZ9V0v5MvgC5MyN/W+qaOg1f4uxmwAppYtAFaabfsv8LAdMtTqc5Pn5LzJb70qV7DJtt8C28yfK/U+2m12H13g+hS06XN4O5Ci/v/f1B6c9MFEQVs41luoz5WV87Z6j9u6h+01cTyhCvj/hBDWPilWqJ35ANLkYUoP5OdkTtUfcmTaCeQnqPppeFkIkQf8Ffm2NOWyyf+LAHf1/y8gL9ReIc0Qj9Aw2iuK4g24It+g/1W3+wNpiqIYTeqeQ44o7MWazP5IBWXabjVCiF8JIXarn8k5yBvHtD+uKYpSUvVDUZSLquzThBDewK+QI1hLdEOOeBoks/oZ/rr6GZ6HvLkxk8uu81XkHWo6QdcDeNvk3shCXtMuiqJsBd5FjvCuCiE+FkJ4WhLcjn6rjx7ABhM5jgOVqPepSprFPSVLkKOkn4Q0sfzBpF2r9z/Wr4k/ZvcGde9Be/u8EDnytUR75NenJRl6ANPNZB+BfHnVJ4M1TPuwPXI0bHqe1p4zS/eRrethD+bPob+lY1H3GY0RQvysmmVykV/Ftu41q/e4LeHsVdBXgHHIUeX7VuqsR35inlEU5bxZWRpwVlEUb5M/D0VRblfLP0B+8gcpiuKJvHmt2pZMURTlsqIojymK4o98874vGuEKoyhKMfKNO0S1oV0EulXZwlS6A+nq/wuRSr2Kzg043CXkQ2naLgBCCGdkXy4FOqkvjx+o3R+KhTb/AzwETEeOVtMt1AF5LXpZKbPFg8jPtPGAF3KUAPZdp0tIs4HcQb7ku5qUpwG/Nbs/XBR1rkNRlH8pihKF/GzvgzQJ1MLOfjPFUh+mAb8yk8Ng1peW9kOVM19RlP9TFKUnMBn4vRBiHPXf/9auyUXkg22K6T1oi1r3mBDCFWk2sUQGUGJFhjTkCNpUdjdFUV63QwZrfWW6PQP5lWJ6ntbO0fycBLWfI3PseUbNn8OLlo6FyTOq8jnwDdBNURQvpGmr6l6zdm9ZvcetYfckoTpKGwdMEkK8aaG8EPk5askncS+QL+TElos6GgsVQgxWyz2QZpQCIUQ/5IjdLoQQ04UQVQ97NrJzjDZ2sdaOM/KT8jJypLEHORp4QchJt9HAXcAX6i6JwFQhhKv6Qni0AYf7EnhGCNFVCNEO+INJmRPS9ncNqBBC/AppAqmPjUAk0o66wka9T4E5QohxQk6KdVH7vD48gFJk37giv3Ls5XukW9s9Qs7az6P2w/Ih8KJQJx3VSaPp6v8Hq6MVR+QDV4Ll69vQfrsC+AohvMzkeE3UTFB2EELcbe9JCiHuFHLSWiDt/JWqrPXd//8PeEUIESQkYUL6af8A9BFCPCiEcBBC3Id8SX1nhzjrgDuFECOEnHBfjJXnXf1K/DfwhpCTmXohJ/Scgc+Au4QQE9XtBiEn27paasuMa+r597RWQVGUSuTz8JoQwkPt+9+rxzXneyBECDFVvY+ewfbAKBG4XQjhI4TojDSdmjNPfQ59kKbZKieDL4HZQohg9eX2ktl+HkCWoiglQoho5ADG1nlbvcdt0SA3O3VkPBa4VwjxNwvl+xVFqfOZpF6EO4EIpPtdBvKmrHo4nkeeYD7wCTWdZA+DgT1CiALkG+13iqKcARBCbBJC/LGe/XPUfa8g3ewmK5IypEL+lSrv+8AsRVFOqPu9ibSdXUGOXq2ZFCzxCdKUcgg4AHxVVaAoSj7yxvsS+cJ5UD0vm6hfAOuBQNP2LNTbC8xR5c8FfqHuKM0SK5CfeelAEnIyzS4URclAjuz/gVTwwcB+pMJHUZQNyEnPL1TzyVFkvwN4IvsrWz1+JtKUYH6MBvWbeh1XA2fUz05/4G11n5+EEPnqOcbYe55AEHIupgBpK35fUZSf7bj/31Dl/gk5UPkUOQmZqe73f+p5vwDcqfanTRRFOYZ8EX6OHA1mU9usZM7zyInKfcjP778jbf5pyC+nPyIVTxryC6Ze3aEoShHwGrBT7eMhVqo+jXz5ngHiVJn/baG9qvvodWR/BCFNe9ZYiXzGUpF9a0mvfK6WnUGaeF5Vj7UJaVfeijRbmXvtPAksVu+ThcjrZ/W867nHrSJUg7VGG0AIsRDooyjKQy0tiy1Us9EFYIaiKD+3tDwatyZCLqSbqyjKlpaWxRraUu82gvqJ9ijSo6XVoX4ie6ufzVVzDHaPwjU0bkU0Bd0GEEI8hvz03KQoyvb66rcQQ5GfkBlI09E9qllGQ0PDCpqJQ0NDQ6OVoo2gNTQ0NFopjQpU0r59eyUgIKCJRdHQ0NBo2yQkJGQoitLB3vqNUtABAQHs37+/MbtqaGho3LIIIcxXhtpEM3FoaGhotFI0Ba2hoaHRStEUtIaGhkYrpcmyGZSXl3PhwgVKSkrqr6zRYhgMBrp27Yqjo5bZS0OjtdNkCvrChQt4eHgQEBCAsBqRVKMlURSFzMxMLly4QGBgYEuLo6GhUQ9NZuIoKSnB19dXU86tGCEEvr6+2leOhsZNQpPaoDXl3PrRrpGGxs2DNkl4A1AUhfxL+ZQVlbW0KBoaGjcxt4SCdne3nIFn9uzZrFu3rs720aNHX9dCHKVSoehaEVmnsigvLq+3fmpqKqGhFhNVa2ho3MLcEgq6udE56PAJ8gEBmacyqSitaNL2Kyqatj0NDY3WSZtS0G+88QahoaGEhoby1ltv1SlXFIWnnnqKvn37Mn78eK5evWq1rZUrVxIREUFoaCh79+4FICsri3vuuYewsDCGDBnC4cOHAVi0aBFLly6t3jc0NJSTKSfJFJnE3hPL7AdnExIcwoQJEygulhE2ExISCA8PJzw8nPfee69639TUVGJjY4mMjCQyMpL4eJmybNu2bcTGxjJ58mSCg4NZuHBhrXP805/+xNtvv30dvaehodHaaDI3O1OOHTtGbm5uk7bp5eVFSEiI1fKEhASWLVvGnj17UBSFmJgYRo0axcCBA6vrbNiwgZMnT5KUlMSVK1cIDg7mkUcsJwEvKioiMTGR7du388gjj3D06FFeeuklBg4cyMaNG9m6dSuzZs0iMTHR4v56vZ5yYzln087y/l/f540BbzBv0TzWr1/PQw89xJw5c3j33XcZOXIk8+fX5EDt2LEjmzdvxmAwkJyczAMPPFBtbjlw4ABHjx4lMDCQ1NRUpk6dyrPPPovRaOSLL76ofpFoaGi0DW6Igm4J4uLimDJlCm5ubgBMnTqVHTt21FLQ27dv54EHHkCv1+Pv78/YsWOttvfAAw8AMHLkSPLy8sjJySEuLo7169cDMHbsWDIzM8nLy7O4v4uLCzqdjh49ehA9LprCtEL6de/H2TNnycnJIScnh5EjRwIwc+ZMNm3aBMgFP0899RSJiYno9XpOnTpV3WZ0dHS1/3JAQAC+vr4cPHiQK1euMHDgQHx9rSVt1tDQuBm5IQra1kj3ZsHcHc2We5qDgwNGY02i6So/Y2dnZwwGA4qTgou/C8IoyL+aj7HSetLxN998k06dOnHo0CGMRiMGg6G6rOrlU8XcuXNZvnw5ly9ftvoloKGhcfPSZmzQsbGxbNy4kaKiIgoLC9mwYQOxsbG16owcOZI1a9ZQWVnJpUuX+Pln6/lK16yRCYDj4uLw8vLCy8uL2NhYVq2Sybu3bdtG+/bt8fT0JCAggAMHDgDSDHH27NnqdoQQuLm5IVwEDh4OVJZVomQqeHt7ExcXB1DdJkBubi5+fn7odDpWrlxJZWWlVRmnTJnCjz/+yL59+5g4cWIDe0xDQ6O102ZMHJGRkcyePZvo6GhAji5NzRsgFdrWrVsJDg6me/fuDB061Gp7BoOBgQMHUl5ezr//LTPAL1q0iEceeYSwsDBcXV35z3/+A8C0adNYsWIFISEhxMTE0KdPn1ptOTo64u7ujs5Zh95NT2leKW+98hbz5s1DCMGECROq6z755JPV7U2aNKnOqNkUJycnxowZg7e3N3q9vmEdpqGh0eppVE7CQYMGKeZ+wsePH6d///5NJVebpLKyksLCQsqyyyi7VoarryteAV6NXt1nNBqJjIxk7dq1BAUF2b2fdq1sU1gJp4qgryu4tvL3XmY5HMiHUDfwc25paTTqQwiRoCjKIHvrtxkTx82AXq/H3d0dZx9nHH0cKcosIi8tj8a8JJOSkujduzfjxo1rkHLWsM2aq+AfD5EJ0GUXbLjW0hJBXgX86QyMSYTfn4YMdYHqZ5eh6y6YcBi674a3L7SsnBpNT5sxcdws6HS6arOFYlQovFqI0As8u3g2qJ3g4GDOnDlzI0S8ZcmtgEdPQKE6h5tTAXNOwAQfcGvBkfS0Y7AlW/5/W4782x4B85KhRJW1QoH5KXBfB+isjaTbDNoIugXQ6XS4u7vj5ueGg6cDBZcKyL+U39Ji3fIcLqhRzlXkVsLxwpaRB+BMcY1yruJgAXyTAXlm88flChwraj7ZNG48moJuIYQQuLq64t7VHb27nvz0fAqvtqAmaKMoCuTbuTI+xA0MZk+Eux76uDa9XPaitzI9EegC7c1yLrjoYKDlsDMaNymagm5BqpS0Vw8v9G56cs/nUpShDYGais1Z0HsPeMZB+D45mWYLH0f4V29wVpWiiw7eCwLPFjQE9jDAZLP1R0M9YagXrOwHHVQl7e0An/aV56DRdtBs0K0Ag4sBESjITskmJzUHdODq04LDtjZAfgXce6zGDHC4UP4+HQM6K6PSK2VwrBAGeUBPF3gtELoZLNdtTr4Ihn+lQ3yuHCE/101un+QLF4ZCcjEEGlq/x4lGw9FG0HayfPlynnrqqRvWvrPBGZ9ePugMOnLO5lCcU3zdYU9vZXbl1bXRni2R7nOWMCow/hC8nQ4782DlFXgy+cbLaQ8ueljQHb4eAIsCwctkWOWkk6YZTTm3TTQF3YpwMjjhE+SDzklHdko2xgrrS8ItYWvV4a1GLxcwHyi76sDfiofDzlw4ajYF8F0mXNCyg2m0IG1GQaemptK/f38ee+wxQkJqh/ZMSUlh0qRJREVFERsby4kTJ6isrCQwMBBFUcjJyUGv17N9+3ZALglPTq47fEpLS2P06NEEBQXx8ssvV2+3FObUPAj/0qVLWbRoESATAixYsIDo6Gj69OnDjh07ACguLmbWw7MYPX00j85/lIKcAkoKpIZ44oknGDRoECEhIbz00kvV7QYEBLBgwQIiIyN5/fXXiYyMrC5LTk6u9ftWopcLPNu19rZXA63bky1Nxgkr2zU0mosbYoP+8dkfuZx4uUnb7BzRmUlvTbJZJzk5mdWrV/PJJ5/w61//ujq0529+8xs+/PBDgoKC2LNnD08++SRbt26lb9++JCUlcfbsWSIjI9mxYwcxMTGkpaVZXPyxd+9ejh49iqurK4MHD+aOO+5ACGExzGm7du1sylpRUcHevXv54YcfePnll9myZQsffPABrq6unDhxgoR9CcQMjaEgvYDi/GJee+01fHx8qKysZNy4cRw+fJiwsDAAfH19q2OBbNmyhcTERCIiIli2bBlz5sxpZI/f/LzRG/yc4ONL4CTA0YayHeoJUe6QUFCzbVoHbXWeRsvSpiYJAwMDiYiIACAqKorU1FQKCgqIj49n+vTp1fVKS0sBGWBp+/btnD17lhdffJFPPvmEUaNGMXjwYIvt33bbbdUhPadOnUpcXBxCCIthTidPnmxT1qlTp9aSE2Q41GeeeUZuHxzFgNABAOSk5LB221qWr1hORUUFly5dIikpqVpB33fffdXtzp07l2XLlvHGG2+wZs2aWzpG9PYcWHAGqtZpPn0aHAQ83qVuXSFgczi8eQEOFcAIL3ima916GhrNyQ1R0PWNdG8Uzs41wx29Xk9xcTFGoxFvb2+LgfVHjhzJBx98wMWLF1m8eDFLliypzlxiiaYIQWouq16vt5rCSugEXj28OH/hPG++8SY7duygS/cuzJkzp1Z7pgGVpk2bxssvv8zYsWOJioq6pWNEr7xSo5yr+M8VywoaoJ0jPNwZXjsH32TKVXovdAfnNmMI1LjZaPO3nqenJ4GBgaxduxaQaa8OHToEyAD48fHx6HQ6DAYDERERfPTRR9WB9M3ZvHkzWVlZFBcXs3HjRoYPH241zGmnTp24evUqmZmZlJaW8t1339Ur68iRI/n8888BOHr0KIcPH8bR4IjeV4+rwRWRLTibcrY6uL8lDAYDEydO5IknnrilzRsAHhY8GzxteDsUVsLIg7DsMsTlwsJUePyU9foaGjeaNq+gQcZb/vTTTwkPDyckJISvv/4akKPYbt26MWTIEECaPPLz8xkwYIDFdqKjo5k2bRphYWFMmzaNQYMG1QpzGhMTUx3m1NHRkYULFxIdHc1tt91Gv3796pXziSeeoKCggP79+7Nw4UKioqIAGDR0EJGDI4m9O5aHZzxMTHSMzQBLM2bMQKfT1QpjeivyhH9thawHnu9mvf73mXCxrPa2VVeguIWcY1KL4YUUGR9kS1bLyKDRsmjhRm8iSnJKyErJQmfQ4drVFXcPd3S6uu/YpUuXkpubyyuvvGKxnVvpWp0phk8uQVElzOwEg2zEpNpwDaYeq73NoIPs4WBoZj/j9FK5+jHTxPq1oh/M7Ny8cmg0LQ0NN9qmJgnbOgZvA+0C25F9Jpvi9GLoAm7ubrWC9U+ZMoWUlBS2bt3agpK2Hnq6wN962lf3dl8IcpEr86r4rV/zK2eA5ZdrK2eAf6ZpCvpWQ1PQNxkuPi4YK43knsul+FIxip+Cm5sbDg7yUm7YsKGFJbx5cdZB3EAZV/lUMUxsB4/4tYwsRRbMKsUNW7ek0QbQFPRNiFsHNxSjQl5aHqVXSlE6SiXt6KhFyrleOjrBa3aOuO0hsxzeTYfTqsKf0Um69NXHjE6wNA3KTCyQc7TR8y2HpqBvUtw7uaNUKuRfzEfoBYUU4urqipOTU0uLpqFSaoQRB+GEGv/jsysyXrM9JpdgN+mX/fp5yCqHBzrBM1bcAzXaLpqCvolx93PHWGmk8EohOp2OIoowGo0YDK0gBFsbotwogy+1d5SK016+z6xRzlW8cwEWB4CjHf5TI73ln8atyy3hZtdWEULg2dUT1/aulGaWYswzUlJSQlFRUaPyHGrU5UShjCk9KhFC9sH0Y2BvDCtLNuMyBSqv49KklcA9R8AnDkYdhAQtEU+bps0q6EWLFrF06VKbdTZu3EhSUtINlePixYvce++99db761//2qj2hZCrDV18XCi5WgKFUFZWpilplVNFsP6adFtrDP+XAudN9l13DdbamUj2Lt+agPpVPNDx+rxCph6DrzMhuwK258Kkw5YnFDXaBm1WQdtDcyhof39/1q1bV2+9xipokEraO8AbZy9nii4VoSvVUV5eTmFhYa3l5rcaC89Cv70yUH/Ablh2qeFtHCywb5s5/7kM0QkyznRfF4h0hz/3gI/6NFyGKs6VwH6zEXNGuUwiq9E2aRkFXZoJO6bDF07wTS8492WTNPvaa6/Rp08fRowYwcmTJ6u3f/LJJwwePJjw8HCmTZtGUVER8fHxfPPNN8yfP5+IiAhSUlIs1jNn0aJFzJw5k6FDhxIUFMQnn3wCyCXk8+fPJzQ0lAEDBrBmzRqgdtjR5cuXM3XqVCZNmkRQUBAvvPACAH/4wx8oLi4mIiKCGTNmUFhYyB133EF4eDihoaHVbdlC6AQ+vXxw8nCiIK0AhwoHKioqblklfbYYXj1XE4ujQoHnTjd8tDnMwsKWofUkYN+eA7NPwMli6ct8shh+5QOvBF7f6NnboSYdlymdtXnhNkvLKOi9j0PaOjCWQ8EZiH8Q8k7Wv58NEhIS+OKLL0hMTOSHH35g37591WVTp05l3759HDp0iP79+/Ppp58ybNgwJk+ezJIlS0hMTKRXr14W61ni8OHDbN26lV27drF48WIuXrzIV199RWJiIocOHWLLli3Mnz+fS5fqDtkSExNZs2YNR44cYc2aNaSlpfH666/j4uJCYmIiq1at4scff8Tf359Dhw5x9OhRJk2yL/iU0Al8evvg6OZI3rk8nBQnjEYjBQUFt1ww/+NFdQMl5VbChQaaOt7oDeHqxKAeeNIf7mlve5/1Fkwg6+w0i9jCy6HuUvUp7SHS4/rb1midtIyCTv+m9m+lEtLrDyZkix07djBlyhRcXV3x9PSsFe7z6NGjxMbGMmDAAFatWsWxY8cstmFvvbvvvhsXFxfat2/PmDFj2Lt3L3FxcTzwwAPo9Xo6derEqFGjar0kqhg3bhxeXl4YDAaCg4M5d+5cnToDBgxg8+bNLFiwgB07duDl5WV3P+j0OnyDfHEwOJB7Nhcn4YSiKBQUFFiNmtcW6eJUN6NKN2cZyL8hdDdA4mA4PhjSh8F7fer3Y7Y0om2qUe6rPWFLOPylB3wZLP802i4to6Bdu9fd5mZhWxMxe/Zs3n33XY4cOcJLL71UJ/RnQ+s1JOyoOeYhUS0pzT59+nDgwAEGDBjAn//8ZxYvXmx3+wA6Bx2+fXzROerIScnBoDcghKCgoIDy8vIGtXWz8sq5uiPox/0bnyGlnxt0slPJzvWDHiaB/p0E/CWgcce1xLh2sDgQpncEh1t6Fqnt0zKXN+JvIEyMce2HQdd7rqvJkSNHsnHjRoqLi8nPz+fbb7+tLsvPz8fPz4/y8nJWrVpVvd3Dw4P8/Px665nz9ddfU1JSQmZmJtu2bWPw4MHExsayZs0aKisruXbtGtu3byc6Otpu+R0dHauV58WLF3F1deWhhx5i/vz51dlSGoLeUS+VtF5H9ulsDA4G9Ho9hYWFt8RIOj6v7rbsZjrtDk5wcBC801um2ToyWCrV1kClAv/Lhv9mSf9ujdZNyyxU6X4veCdJs4Zbd+h6N+iub5lyZGQk9913H+Hh4XTs2PoGdIIAACAASURBVLFWVpRXXnmFmJgYOnToQExMTLVSvv/++3nsscf417/+xbp166zWMycsLIwxY8aQkZHBX/7yF/z9/ZkyZQq7du0iPDwcIQT/+Mc/6Ny5c3W2lPr4zW9+Q1hYGJGRkcyaNYv58+ej0+lwdHTkgw8+aFSfODg74NvHl4yTGWQlZ9G+b3tKRAllZWWcPHmSvn37Nqrdm4FId/g+q+625qKdIzzVQhlZSo2QXQ6dzdJ1ZZbDmEQ4oibH7WmA7QOhi5bWq9WihRttIIsWLcLd3Z3nn3++pUWxm/KicjJOZkjTR19fjh0/xvnz5+nevTthYWENMtHcLJwohImHa3yYp3eAz/u3fZPAB+nwx7OQUyFzLH4RDL1dZdmLKfB6Wu3609rDutC67WjcGBoabrSN364aAI6ujvgG+WIsN5KVnIWD3oGgoCDOnz/Pvn372qSHRz83SImB7RGQNBi+DGn7yjmpEOYlS+UMMgHuIybOUZuz6+6zxcI2jdaDFoujgSxatKilRWgUTu5O+PT2ITM5k8LcQsIHhWMwGDhy5Ai7du0iOjq6zQVactBBrJ2xLEqN8OVVGWb0tnY1MTC2ZsM76TI/4aOdYYgnPJEs7bj9XaUb3qhWEi/j55y6E6M7cqWt2VEn/ajNKdcWm7Zq2viYQsMUZ09nfHr5UFlWyeq7VtOlYxcGDRpEbm4uO3fupLi4uP5G2iBGRS6ZnnVCLm4ZlQhLz8OuXJhwCDZmwI9ZMD0Jxh+C7zJlnI0DBXDnEWnvBRmj41wJ7M6FvblwsVS23Vz0d627LcilJjDT/1lI93X7rZtT+KZAU9C3GAZvA67tXTm34xxfTvuSjr4dGTJkCKWlpcTFxZGXZ8H9oY2zNbvuculXz8HHF8Hc+HPS7B1WUCnNBFfL4POrMoJdUiEcLpSKfd1VyGsm75Ex3vBgx5rfLjp4u3fN71/5wqIAcFGnHEZ7w7tBzSObRuPQFPQtiJObE3d9fBenfzzNVzO+op1XO4YNGwbAzp07yczMbGEJm5crFlzDcyvrLnQBy9u8HeCbDHAUcjFMByfpM93NGYqM8G2GNKHcaISAVcGwL1IuYDk/RCplU14KgIwRcGUY/Bxhv2+3RsvQcgq6sgzKsqE8D7Soa81O5NxIJrwxgaR1SXz72Ld4uHswYsQIDAYDu3fv5uLFiy0tYrMxyQfczWJkTGgHkyx8/pvfqXf6gpu6r3kbAL6OkFcpM3TXR7kRnkkG9+3gGwevptojfV0GecpFLO2tKF9Xvcwco9H6aX4FXVEEV3fCmeVwbg2kfg5p66Gg7pLnpsLd3bID7OzZs+2KNNdYli9f3ihFd/vtt5OTUzdEmT0hVBvC0OeGMmrRKBKXJ/Ljcz9iMBgYMWIE3t7eJCQkcPbs2SY7VmvG1xE2DZCBkdo7ypCgn/W37h/8ZTC8FghfhcCGEDhWKNuooqykpFaoV28HmUmlPpakyQnJQiNkVcBfUmHN1es7N42bm+b14qgoggvfyFGzcwfQqYcvz4f0b6HTOPBuO77Uy5cvJzQ0FH9//zpllZWVtbJxm/LDDz/caNGqGbVwFKV5pex+YzfOns6MfWUsQ4YM4cCBAxw9epTS0lL69evXbPK0FCO8YWdk7W0+jnWzfEd7yNFpFZVqAH4HE9vHPx+fAULw4jL58o/Pge+z4eVUmNYBJvtCuHvdmB7fWrAsfZMB93Wsu13j1qB5R9BZB6VydvGrUc4Ajh7g4g/XfoGKwkY3/8YbbxAaGkpoaChvvfVWnXJFUXjqqafo27cv48eP5+pVy8OT06dPM378eMLDw4mMjCQlJQWAJUuWMHjwYMLCwnjppZcAGU60f//+PPbYY4SEhDBhwgSKi4tZt24d+/fvZ8aMGURERFBcXExAQAALFiwgMjKStWvXsnr1agYMGEBoaCgLFiyoPn5AQAAZGRmA9RCq//rXvwgODiYsLIz777+/0X0mhGDC0gkMnDuQHa/uYOeSnej1egYNGkSPHj1ITk4mMTHxlgxZqhfwU5gcUfdzhUc6wzcD6tbx1NeEMc2pgJTL19j13Xr+cEZmCH/3EpwtkROHL6XCwASZneWsieI/W2zZ46NHE2Yvu1oGTyfDkAR4NlnmOtRo5SiK0uC/qKgoxZykpKQ622pRUaoopz5WlHNfKUraN5b/Tn2oKFmHbbdjhf379yuhoaFKQUGBkp+frwQHBysHDhxQFEVR3NzcFEVRlPXr1yvjx49XKioqlPT0dMXLy0tZu3Ztnbaio6OVr776SlEURSkuLlYKCwuV//73v8pjjz2mGI1GpbKyUrnjjjuUX375RTl79qyi1+uVgwcPKoqiKNOnT1dWrlypKIqijBo1Stm3b191uz169FD+/ve/K4qiKOnp6Uq3bt2Uq1evKuXl5cqYMWOUDRs2VNe7du1a9TkVFhYqubm5Sq9evZQlS5YoiqIofn5+SklJiaIoipKdnd2gvrJ0rSorKpW1961VFrFI2fdhjcwnT55UvvnmG2X37t1KeXl5g45zq5BUoCjvXlCUP55WFKct5Qrd+yuAQvAQRWw1KvysWPybekTu/1G6ougslHePV5SLJU0jo9GoKAP31W5/WELTtK1hP8B+pQG6tvlG0JWFgLH2yNkcvQuUZTSq+bi4OKZMmYKbmxvu7u5MnTqVHTt21Kqzffv26pCg/v7+jB07tk47+fn5pKenM2XKFAAMBgOurq789NNP/PTTTwwcOJDIyEhOnDhBcnIyAIGBgURERAAQFRVlM/7GfffdB8C+ffsYPXo0HTp0wMHBgRkzZrB9+/ZadW2FUA0LC2PGjBl89tlnODhcv6VKp9cxZeUU+tzZh++f+J4jnx8BZGS98PBwrl27xq5duygrK7vuY7U1ervICb4lF6AsLwsunJIFaSdRbCyj35MHxZXwQgqYf5/8NRCODga/JoqTcaCgbiaY+Dw43vgPVo1moPkUtNBTdw7cDGMF6Frn9LKiKLz44oskJiaSmJjI6dOnefTRRwH7QohW4ebWgLTQNvj++++ZN28eBw4cYPDgwU0SoU7vqOfeL+8lYHQAG2Zt4MTXJwDo3r07gwYNIi8vj7i4OIuZZm5lHHWwM1dNBtuuI9wzD3R68Au0ud8gD7hcJl36zAlxA48mnCFysvKecNYcbVs1zXd5HDzAub2cELSGsQTcezaq+djYWDZu3EhRURGFhYVs2LCB2NjYWnVGjhxZHRL00qVL/Pzzz3Xa8fDwoGvXrmzcuBGA0tJSioqKmDhxIv/+978pKJDDkPT0dKs2bNO2rEXEi46O5pdffiEjI4PKykpWr17NqFGj6shrKYSq0WgkLS2NMWPG8Pe//53c3Nxqua4XRxdH7v/6fvwH+bPu1+s4s+UMAJ07d2bo0KGUlZURFxdHbm5ukxyvrfBdlskoePYicHSGgNpRiEwftt4usLQXBBjkRKQpLjoYYX+OBrsY4A7jzUKeTvaFng1MYKDRvDSfF4cQ4BMts6noDXXDi5ZckROFhk6Naj4yMpLZs2dXx2CeO3cuAwcOrFVnypQpbN26leDgYLp3787QoUMttrVy5Up++9vfsnDhQhwdHVm7di0TJkzg+PHj1fu4u7vz2WefWfXEAOnG9/jjj+Pi4sKuXbtqlfn5+fH6668zZswYFEXhjjvu4O67765zTpZCqFZWVvLQQw+Rm5uLoig888wzeHs3XUAIZw9nZvwwg+Wjl/PF3V8wc/NMug3rho+PDyNGjGD37t3Ex8czaNAgOnTo0GTHvVlRFBmroxqPdrD4K/D1q1XPWSdjQ2eWy9GzTh3VfhkMM0/A0UK5uOXdIOlB0tRsDIX302Xi2SGe8ERd5yKNVkbzhxvNOQ7XVFur3kWaNYwlUjn7TQQH7ZV+o7H3WhVcLmDZyGUUXi1k9rbZdI7oDEBJSQl79uyhoKCAiIgIunTpcqNFbtUcL4TgutnN6hDqJhW0NbLKpc+0ru1Ff9VQaf3hRr37Q+BDMouKWzfw6gvdpkDXyZpybmW4d3Zn1pZZOHs6s3LCSjJOyAlcg8HAsGHDaNeuHQcOHODMmTMtLKl9LDkPvXZD3z3w7oWma7eDY/0PkpsO5lsIVmSKj6OmnDVq0zJTBA5u0G4AdBoDHYZLv2ihzVa0Rry6ezFryyyEEKy8bSU5qXKFo6OjI0OGDMHPz49jx46RlJREY77GmotPLsILZ+BMiQwp+vRpWNtEq/TaO8FzNrKnuOggxlOaFTI132ONBqBpRY168e3jy8zNMykrKGPF+BXkX5ITnzqdjqioKAIDA0lJSeHgwYOtdkHLl9fqbmvKZdRLe8OPA2C4p1TIHnr556WHuZ3lApa+e6FzPDx3Wgs/o2EfmoLWsItOYZ2YsWkGBZcLWHnbSooypaudEILQ0FD69+9Peno6e/fubZVJaTtYmHRr6oBBE30hLhKyR0DcQNg5EK4Ol9HyDqhONhUKvHXB8rJuDQ1zNAWtYTddh3TlgW8fIOt0FqsmraI0r7S6rHfv3kRERJCRkUF8fDylpaU2Wmp+5neTduAqvB3gdzcoqauzDsLcpWubkw7iLHgk7tC8FDXsoOUUdMk1yNgNOUdAaZ2fxRp1CRwTyPS107mceJnVd62mvKjGqNqtWzeio6MpKCggLi6OwsKWWaYWlwPrr0FOOaSVyFjMAz2kB8UrAXKV3pFB0NdCBpIbQbiFYIrhTbNeSaON0/wKuiAVtt0JG7vBz5Pgp2GwsSskf3JLGOYSExMbFa3uww8/ZMWKFXW2p6amEhravGmZ+97Vlykrp8isLPd+SWVZzVK4jh07MmzYMCoqKoiLi7MYNvVGUW6ESYcgNhHuPQa+O6H7bugSD59dhkAX+HMAvNgDujZhEKL6WNIL/E3MKZN9tQh1GvbRvAq6IBV+jIJLm8BYCuW5UFEAxZfgwLNw+C/NKk5LYEtB27LdPv7448yaNetGidVgQu8PlVlZNsmsLMaKmq8gb29vRowYgYODA/Hx8fWuuGwq1l2D/5pkqa6SKLMC5pyUOQJbghA3ODMENofBwSj4ekBNnkANDVs0722y/ykoz7Fs0qgsghP/hPzTjWraWthPgJSUFCZNmkRUVBSxsbGcOHGCyspKAgMDURSFnJwc9Hp9dbCikSNHVgdCqhavspLnn3+e0NBQwsLCeOeddwBISEhg1KhRREVFMXHiRC5dugTA6NGjWbBgAdHR0fTp04cdO3ZQVlbGwoULWbNmDREREaxZs4ZFixYxc+ZMhg8fzsyZM0lNTWXs2LGEhYUxbtw4zp8/D9QO1p+QkEB4eDjh4eG899571TIeO3aM6OhoIiIiCAsLq3MOTY15VhbFJF6mm5sbI0aMwN3dnb1795KWlnZDZQFIshEipEKxbAtuLpx1MN4HIjyuv62fs2W40KXnaxLWarRNmk9Bl1yDy/+zbW82VsKp96yX10NycjLz5s3j2LFjeHt7s379egB+85vf8M4775CQkMDSpUt58skn0ev19O3bl6SkJOLi4oiMjGTHjh2UlpaSlpZGUFDtbJoff/wxqampJCYmcvjwYWbMmEF5eTlPP/0069atIyEhgUceeYQ//elP1ftUVFSwd+9e3nrrLV5++WWcnJxYvHgx9913H4mJidWR7ZKSktiyZQurV6/m6aef5uGHH64+xjPPPFPnPOfMmcM777zDoUOHam3/8MMP+d3vfkdiYiL79++na9cbNAtmgnlWFlNfaGdnZ4YNG4avry+JiYk3/IUxrp7V7iFtwO77QTqMPQRvp8P8MzDkABRaCLak0TZovlgcBSmgd5bLuq2hlEP2wUYfwlLYz4KCAuLj45k+fXp1vSoPg9jYWLZv387Zs2d58cUX+eSTTxg1alR1zAtTtmzZwuOPP14d2tPHx4ejR49y9OhRbrvtNkCOsv38auIvTJ06tZYs1pg8eTIuLnIV5a5du/jqq68AmDlzJi+88EKtujk5OeTk5DBy5MjqOps2bQJg6NChvPbaa1y4cIGpU6fWecncKCxlZanCwcGBmJgYEhMTOXHiBKWlpYSEhCBshOFsLKPbwauB8LdzMm2UoCZ+4nNdm0ZB51XApTIZ4KglVv29ZpYZ7lSxNO083Ln5ZdG48TSfgnZwA8WOV72jZ6MPYR72s7i4GKPRiLe3N4mJiXXqjxw5kg8++ICLFy+yePFilixZwrZt2+pEwbOGoiiEhITUCYRkLk9zhSB98MEHiYmJ4fvvv+f222/no48+shjzuqmpyspSmlfKjld34OzpzPD5w6vLdTodAwcOxGAwkJKSQklJCZGRkeh0Tf8B96ce8PuuUFApbdBxudDfFYKboIvfSIO/nJWZunsaYH1I05gsGkKOhdtocxakFMtEtyOaLmaWRiug+UwcXiH1K18HDwh8uEkP6+npSWBgIGvXrgWkUq0yDURHRxMfH49Op8NgMBAREcFHH31UPTo15bbbbuOjjz6qVrRZWVn07du3OpA9QHl5OceOHbMpj60QpADDhg3jiy++AGDVqlV1Xhbe3t54e3sTFxdXXaeKM2fO0LNnT5555hnuvvtuDh8+bFOWpkQIwZ0f3kno/aFseWEL+z/aX6c8ODiYkJAQLl26xO7duykvvzEGVBe9zKQ97xQ8nyJHnenXOUGYVAj/lyKVM8gl43NO2t7nRjDDLNijDlh1FV45J71X3rjxpn6NZqQZA/brYMBi0FtxPhU6cPKRQZOamFWrVvHpp58SHh5OSEgIX3/9NSBHuN26dWPIkCGANHnk5+czYMCAOm3MnTuX7t27ExYWRnh4OJ9//jlOTk6sW7eOBQsWEB4eTkREBPHx8TZlGTNmDElJSdWThOa88847LFu2jLCwMFauXMnbb79dp86yZcuYN28eERERtWy+X375JaGhoURERHD06NFm9/rQ6XXcs+Ke6qwsh1fVfUH07NmTyMhIsrOziY+Pp6TEhsmrkVQqMOEQrM+A1BL4/CoMOyCzlzSWnRYmGBMLmt/++1ZveL6bNLGEu9XNxPLKOeluqNE2aP5wo4cWwoklckJQUUdQDh5SOd/2C7j1aLA8Gg3D7mvVSMqLy/n8js85t/0cv17/a/rdXTcr+LVr19i/f3910CV3dwurORpIpQJvpsHyy3DMgkfHADdIiLLu4lZulMGMOltIM7U3D2IO1N4W5AKnYq5b7Ebz2WUZR9oUAeSOaNpsLBpNR+sPNxq+GG4/Cn2ego6joctdMGQZTE7WlHMbwVpWFlM6dOjAsGHDMBqNxMXFkZWVdd3HXXhWejZYUs4ARwqtx8D47DJ02QV+uyBsHxw1S1AT7QnPdJEKEGQm76f84Y7DELlfmlEqmnnkOsmn9vJ1kHZoTTm3HZp/BK3R4jTXtSrOKmb56OVkp2RXZ2Uxp6ioiN27d1NcXExUVBSdOzfeHaHzThmYyBYfBMHjZvkF0kqg5x7pK11FmBscshBc/3QRpJTIlYExB6DYRCm/0A3+3qvR4jeKHTkyjOqpIpjgA//qDR1MVi2eL5Evj+NFMK6dlNHFehIgjRtMi46gW3M8YA1Jc14jFx8XZv40E48uHqy6fRWXEy/XqePq6sqIESPw9PRk//791QtzGoOhnrvZoIO72tfd/ktObeUMcLgQMiwkMO/tChN94Ies2soZpGmlqTlSAL8/Dc+ftpyBO9YbdkVC5ghYHVxbOZcaYVQifHxJBmdalAqPtMDEpkbjaTIFbTAYyMzM1JR0K0ZRFDIzMzEYmi8QhbWsLKY4OTkxdOhQOnTowKFDhzh16lSjjvV7swF6J0d4oCN0dIQYD/huAHSxYF/ub8EFz88J2tnIC2huWgBwb+KR6a5cGJQAb16Af16AqARItJFz2ZzNWXKS1JQvr8ogUho3B01mreratSsXLlzg2jULkdE1Wg0Gg6FZVhiaUpWVZVnsMlaMX8EjcY/gHVDbYdfBwYHBgwdz+PBhTp48SUlJCQMGDGjQgpZnukJ3Z+m94e8ET3WBbna8i6I84Ld+8JFcpY+jkN4SehuHfrATvH4e0k1G2fWltGoob12AMpPxTrER3kmHT+vOuVrEwYL8eqGl1bqZaDIbtIZGfVw5fIXlo5fj4uPCnB1z8PCzvMrjxIkTJCcn07lzZyIjI21mTm9KEvPhRBGM8gY/CyNtcy6VwgcXZRCmaR3gV75NK8/th2GT2dzpvR1gbYh9+1cYIXx/7Rglj/nBx32bTkaNhtFQG7SmoDWalQt7LrBi3Aq8A7yZ/ctsXH0t+8WfPXuWo0eP4uPjQ3R0NI6ONuwNbZCSSrjzCPzPLFrrN6GW7ejWyCiTI/EkdZLwt37goEXSazFav5udxi1N1xjrWVlMCQwMZNCgQeTk5BAXF1cdmfBW4aXUusr5D90bppxBJrR9tSd8FQrzumjK+WZDu1wazY6trCym+Pn5MWTIEEpKSoiLi7O5RP56MCqwKRPeS5dudM3F5iz49TF4MElmgTFlY925VC1q3S2IpqA1WgRbWVlM8fX1ZfhwGXhp586dZGY2bbZVoyJNCbcfgaeSod9eWH2lYW2UG+G7DPjqmv3LyTdlwsTDsPYarL4KYw5Jr40qulmwgXe1wy6u0bbQFLRGi1ErK8tDX2GstLwUz9PTkxEjRuDs7Mzu3burkyI0BZuza0/EVSIXftg7NZNRJifi7joK045Bn71w1g5rzPsXa0KhgvTD/vBize9FAeBi8nQGucBcPzRuMTQFrdGiVGdlWVs3K4spLi4uDB8+HC8vL/bv328zvnZDsKRM00uh3E4F/dYFuUqviguldWM2AxwrhP9mQZE6wrZ0mqabRnjDiWh4sxcs6wsHosDn1pon1aA540FraFhh6HNDKc0t5ZeXf8HJw4lJb02y6P9ctaDlwIEDHDlyhJKSEvr1s9Mp2AqTfKS/sOlKwvHtwMnOoctJCwr+hInCVhSYdQI+U80m7fQwv3tNTI8q9MBvzEbI3Q3wbDe5XNuST7NG20cbQWu0Cka9NIohzw1h77/28vPCn63W0+v1DBo0iO7du5OcnMyhQ4eua/VqgAus7g89nKXSnNAOljVA549vZ3vbpqwa5QyQXQl/PAvfq2YVXwfp27wlvG6w/SMF0H8v9Ngtgzh9chGNWwxtBK3RKhBCMOGfEyjNt5yVxbxueHg4BoOBU6dOUVpaSlRUVKMXtNzbUf5VGBvuhjbXTyrSTy7JcKf3d5TucFXE15OoNrMCnu0Kw73qls08XjMaz6mAx09JX+aeLg2TUePmRVPQGq2GqqwsZfllbHlhC86ezgz6rXWf/r59+2IwGDhy5Ajx8fHExMTg5ORktX59NMZHWC/g3T4yip1RqRvq0x7ThKXM3DnlcMgsOJIR2J4D7R1lSi9/zaujzaOZODRaFTq9jikrpxB0RxDfP/E9Rz4/YrN+jx49GDRoEHl5ecTFxVFU1IyOzCa46S3HYb6jnuXfnZ3kqNgcTwfLrnbbcqDjThm7esQBudxco+2iKWiNVofeUc/0tdMJGBXAhlkbOPH1CZv1O3fuzNChQykrKyMuLo68vLxmkrR+BnvCTJM8ggKI9YJeBpjsK23PluIz6wS8G1Q7hOodPvCfK1Cqmtx35sHvU26o+BotjBaLQ6PVUppfysrxK7mceJkHv3+QnuN72qyfn5/Pnj17KC8vZ/DgwbRv38B10TeQuBzpjje2HfRqgA05o0xmJg9yhRWX4R9mSWE7O8GlYU0rq8aNQ4vFodFmcPZwZsamGfj29eWLu78gLd52ymoPDw9GjBiBi4sLe/bsIT09vZkkrZ8R3vCYf8OUM8hYGvd0gBA3CLUQt9rSNo22g6agNVo11VlZ/K1nZTHFYDAwfPhw2rVrx4EDBzhzpm4+xJuV+zpKv+0qOjjCEtsfFRo3OZqC1mj1uHd2Z+aWmTazsphSlSncz8+PY8eOkZSU1CYy/TjpYFMY7I6Eb0MhdQhEWA6prdFG0BS0xk2Bdw9vZm2ZhRCCFeNXkJOaY7O+TqcjKiqKgIAAUlJSOHjwIEZjM6fdvkHEeMKd7cFVS/7a5tEUtMZNg28fXx766SHKC8tZMX4F+Zdshx8VQjBgwAD69etHeno6e/fupaKiopmk1dC4fjQFrXFT0Tm8MzM2zaDgcgErb1tJUWb9fs9BQUFERESQkZFBfHw8paWa87DGzYGmoDXsJ/c4HHkFTr4LZbZNDDeSrkO68sA39WdlMaVbt24MHjyYgoIC4uLiKCwsrHcfDY2WRlPQrYnKEtj/DHzVCb4PgXNrWlqiGi7+FzaFw5GFkPA0bBoIpU0bPL8hBI61LyuLKZ06dWLo0KFUVFQQFxdHTk7LvWQ0NOxBU9CticQX4dQ7UHIVcpMg/kHISmhpqSTHXgGjiRIsTIWUf7eYOGB/VhZT2rVrx/Dhw3FwcCA+Pp6rV682g6QaGo1DU9CtibR1tX8rRkj7qmVkMafYgv9xiY3cUErzeEzUysoy4yuMFfUf193dneHDh+Pm5sbevXu5cOFCM0iqodFwNAXdmjB0srCtc+PaKsuB7ESoLLs+maroPt1sg4Bu0+rWKy+A+JmwxiBNNSffbZrj26A6K8u6JL79jfWsLKZULWjx9fXl4MGDnD59+obLqaHRUDQF3ZoYsAiESUg0jyAInGV7n4oiKEitnUTv5DuwwV/aib/uDle3N4FsL0O/38sXhlcwDF0JHYbWrZf4B0j9TJpDSq5Ke/WVbdd//HoY+txQRi0aReKyRH587ke7FqY4ODgQExNDly5dOH78OEePHm0TC1o02g5aPOjWRJc74fZDcH49GDpAwIPg6Gm9fvIHUiGW54FnXxixFhzc4cCzNSaGkiuwazZMPg3iOt7HeieI/Kf8s8XF7+puS/8OOo2u+V1wFoougG+MbLeJGLVwFKW5pex+czcGLwNjFo+pdx+dTsfAgQNxdnbmzJkzlJaWMnDgQHQ6beyi0fJoCrq14RUMA4Lrr5eXwp2DnwAAHQxJREFUDPvmUZ1qNO8k7HoY+r9Q1/5beFYqapdmSAvt1gMKzbKmugXU/H/vE3D6I0CRo/HR34FPVJMc2jQry/ZXtuPk4WQ1K4v5fiEhIRgMBpKSkigtLWXw4ME4OmpZWjVaFm2YcLNybTu180AD2QfBsw91UpK6dgXnjs0jV9iroHet+e0dBj0flv+//D84/SHVcpdchn1PNenhq7KyhNwXwpYXtrD/I/vD4vbq1YvIyEiysrKIj4+npKSkSWXT0GgomoK+WfEKrbvNLQDaDYSwxTW2bL0LOHrDz7dZ9wipKIbLW+Qo/HrpGAt3JcPg92H4Gpi4FxzViD5ZFpRldtO7ETY0K4spXbp0ISYmhqKiIuLi4igoKGhy+TQ07EVT0Dcr7WMg6Mma33pXGPQeCAGhf4a7z8mJvcpiyD0KV36GHdPg4o+127m2C77uBltvg+/6wZ65tScc7aGiGC58LZW8YgRXfwh6Anr8GvQmeZvaW5hU9B3SsGPZSUOzspjSoUMHhg0bhtFoZOfOnWRnZ98QGTU06kNT0Dczg9+DO47ByK9hygXocntNmas/ZO6tu88Zs8Ul+5+qvSIw5VO48j/7Zcg7Bd/2gu33SCX/3xg5aWmJjiMheEHN6N69Fwz+wP5jNRBHF0fu/+Z+/KP8WffrdZzZYn9saC8vL4YPH46joyO7du3iyhUbPt8aGjcITUHf7HgFQ9fJ4GQh86jeQvoO8205h+rWyU60//iHF0LxpZrfWfvh9MfW60e8DlPS4VeH4K5T4B1i/7EaQUOzspji5ubG8OHD8fDwYN++fZw/f/4GSqqhURdNQbckheekMrxRvrd9n6ntV61zgj5mk3IdLHg5dBhhu93SLLgWLxel5B2vW56bZHt/Q0doF3Z9bn8NoDorSxf7srKY4uzszNChQ2nfvj2HDh0iOTn5BkqqoVEbTUG3BIoRds+BrwPlYpIfQuVik6amYyxM2AW9fyvt1RP3gO/g2nUGfyR9qAF0znKxTHsbduHkD2BjF9g8XC6Gce1Rt06nsU12Ck2Fe2d3Zm42ycpy0nZWFlMcHByIjo6ma9eunDhxgsOHD2sLWjSaBS2rd0twbg3svL/2tm73QuzalpFHUaQHh0sny6aSKoovy5WJpkGTnNpB++Fw8Xs5Qg96HCLflJOVrZDMU5ksi12G3knPnB1z8A7wbtD+x48f5/Tp03Tu3JnIyEj0ei2tiYb9aFm9bwYy9tTddvE7OPQXKFM9BoyV8s8S2Yfh/Fq5lLopEAK8+tlWziDNMUazsJ5l2TDwHzAtQ/5FvQWn3oOv/GCNi/QKqShuGjmbAN8+vszcPJOygjK7srKY079/f0JCQrh8+TK7d++mvLz+MKcaGo1FU9Atga+FF2hlCRx7Ff43HvY/B2s95V/Cc7UV9d7HZVzmuF/Dxu6QtqH55G43EHRmq+uc24N7T3D2AUd3uRgl4Wm5CKWyRHqFHP5L88loB53COlVnZflswmd2ZWUxpWfPnkRFRZGTk8POnTspLm49LyCNtoWmoFuC7vdBjwctl2UfgFNvQWWR/Dv5FiS/L8sy96nLpFWMpbD7USjJ+v/t3Xt0VOW5x/HvnklmJvdAEkhCINwiSIhccoMkCrYKqIBgpdUquDxt1Z6eXs6xtl31dGm17artavW0PadibbWCthUvxRtW1FZMSEJIhAQQCQiES4gQbgkkM0lmzh9vQvYwk2SS7MlMMs9nrSzZOzN7XnH5ZOfd7/v8/D9mUFMgOb/rXgkSHgf5f3Rf63z0Nc/3Hd04NOPrh65UlsbaRp6/wbdUFr3U1FTy8/NpaWmhuLiYpqb+3YkL4Qsp0IFgMkPh83BdsW+vP/6W+qe31RFtZ+CNDDi7y7jx9WbqPbDyOCwqU/9MW+7+/agJnu/xdi4IXEpl+agzlaWlf9MViYmJFBaqVTAlJSWcPj1EPyhFyJACHUhjCmHcMvdz3uaBoyd1vn6B96VpjtNQ87Bvn+nsUCtGBtMn2hKvdjKGRXp+b8pXIHZ697E5Uu1oDFL6VJYNt27wKZVFLzY2lsLCQqxWK6WlpdTX1/f9JiF8JAU60Ar/AjN/pIrvFd+Ea/8BEand349IUR3qAKInQt7TarXE5Zp8aDjf8AG8Nkl9bRzvn7QWSzwsqVT9orN/ozajjOljXbWeywn178D+p+GC75tKBmPmbTNZunYptW/V8sqdr+Ds6F8aTGRkJIWFhcTFxbF9+3YOHTrkn4GKkCPL7IJRWzMc/TvggrQV3c2Guhx8HkrvdD935fdgzmM9X9PZBhvT3Xf9mSPVrj5L/5aa+Y2zAz64Cer/oY5N4VD0kuc0ip+U/rqUd+5/h9l3z2b508vRTP1bKtjR0UFlZSUNDQ1kZGQwffr0vt8kQoossxsJwqNh0p0wabVncQaYdAdkPqia82thMPEOyHqo92ue3+denEE9hGysMG7cg3X8re7iDOqHykffHbKPn/9f81nwUP9SWfTMZjO5ublMmDCB2tpadu7cKRtaxKBIw/7hatZPVFF2tkOYl54bl4tKh7AYaNetNtDMEHel/8bYX81epmmaDwzpEBY8tIDWc62UP1HucyqLnqZpzJo1C5vNxr59+7Db7WRnZ8uGFjEgcgc9nJnCfSvOoO7Ksx/v7s2hmVTf6Mi0gX22/bSaI26pVz8kjJCyGI+wgZQlxlzbR5qmsfjXi5nzlTlseXQLJb8sGdB1pk2bRlZWFg0NDZSWluJwGBTeK0KK3EGHkilfAUuCmkpIW64yEPur9ZRKc2lp6NzO7QKzDUbnqc56g9ni3VQLkeNVXiFOGPt5yPvDwK83QJqmsXTtUhxNDt793rtYY63k3OvztOElEydOxGq1UlVVRUlJCfn5+URGeln5IkQP5A46lGz/Jny4Eg78AT5YBrt/3r/320/D0VfVQ8zINIgYBxFpYI5RgQD9aVN6djcU3wZv50L1Q9C4XQUKXKwDOldRxGWqvtYBMJhUFr2UlBTmz5+P3W6npKSE8+d76JUthBdSoAPB2a62aO99wpiYqS77/g9eTYMXo9WW8A5dpl7Tftj3O/fX7/oxOM76fv1TZaCFe67VNltVsT5VBu0X+r6O4yy8twDq/qb6R+96BMq/Bq7L1iDXvej72PzAbBl4Kove6NGj3Ta0nDrleyc9EdqkQA81Z7tKHvnwFqj6T3hzBhz66+Cve+I92P4NaDmmiuT+terOtEvzQc/3dLSqDnW+aGuCC3VgGe39+6YwQPOtberRje4pLqBiubyNryOwwa2DSWXRi4mJoaioiIiICMrLyzl+/LjBIxUjkRTooXb8TfjsX93HLifs+P7gr1v3sue5Y7oeGEkFKjxWL3pKZwq4Dzpa1PyyptHe3sGNa36MNn45drtue7TZCm3n+r5WT0kv1iT3c21nYc8vfBufH11KZbmi/6ksehERERQWFhIfH09lZSUHD3r5oSmEjhTooXbBS2xSy1FVqAfjxGbPcxG6FRphUbBgo3qQBzA6F655tedUk8btsHU1bLlF3fGaLLicHXzn4T8QPmklm/5ZySP3fxmrVdfdztnmffv35dKWQ0yG+7lp3/YeFODt3ysAIkZHsHrzamJS+5/KohceHs68efNITk5m165dfPyxl0QaITrJKo6hlnoDVIWBS7c0LXXp4OKfTpV7X0N85f3ux2OuUSGzzrbutqEddjjyMtSuBUcjxExV/UG2/Tu4OpeGHX2V/91/F//x0J8BWH3LQp59/DuYTLoxu5xAB0RN7Hu8ZhtcX6L6RjcfgNQbYeLtsPNBOPa6+2tjg2c3XnRyNKvfXc0zVz/DukXruPvDu0mcltjv65jNZnJycti1axf79++ntbWVWbNmuf99CoFs9Q6MupfVtMaFQ2qpW95TKqdvoI5vgn/d6Hl+xVGIHOf9PYdfVA8pz3ykjp1dc72aWivtUlMXr1fB8l+p7+TlzOaDP92FLTbVfZrC5VS/BcRnqR8CA9V6Et69uvvBaeR4uG6L6kESRAabyqJXW1vL3r17SUpKIicnh7AwuWcayfq71VsK9EjQ0QqvTXbfyj3mGrjuA++vP7oRtqzw+q1WB6x4HCYmwtr31bm4SNj/bC6Jq7ZB82H47H1ob1V3/V1TM/FXqSkKk4875s7sUOMds8B9WsTZprZ7O9vUbxtmm2/XG2Indp7gzwv/TERCBHd/eDcxKV625Puorq6O6upq4uLiyMvLw2q19v0mMSxJgQ5V5/bAjh/A2RpV9Ob8oue78g9uhmOejfXb2mHJY1CyD+ydMzD7fgUZyajudJM6GzQ526HluFrZYbKojnvh0b6N09mh8hiPvKSOrYmwcJP3lJkgd7TsKM9d9xyjJo3irn/dRWTCwDehNDQ0UFlZic1mIz8/n6ioKANHKoKFNEsKVXEzYMFrcPNBmP9s71Mm3lZRAF/8Lby/B8LDIMwEL3/HRMaMXNVRbpKue54pTDXhj8+E2AzfizOolSVdxRnAfkotNxyGBpvKojd27Fjmz59PW1sbJSUlnDvnw2oYMeJJgQ5F076FR88LIGs8PHgz/OkeqHkMVuRHwYwHYMIXjPvss1525J2tNu76Q8wjleXiwENkR40aRWFhISaTia1bt3Ly5EkDRyqGIynQoSipADJ/2N04qdMjt8JPvgir8mF6Kpi0djW3bOhnX+3lXB8PFg+9ABsnwl8tUPyl7uTzIKFPZXnx1hf7ncqiFx0dTVFREZGRkZSXl3Ps2DEDRyqGGynQoWrGD7wns1yiqV4YsdOM/dzkz8GUe4HOh4lxWZD7u55ff7YGSlfDhcPqwWHdi1DxDWPHZICZt81k2VPL2L9p/4BSWfRsNhsFBQUkJCRQVVXFgQND23JVBA8p0KEqPBrm/9n7fLRmgvBY9WDQaCfehYN/AjrvMh2Nvf+gOPam5yaey9dKB4m5X53Lol8tYs+GPbz+tddxOQferD88PJz8/HxSU1PZs2cPu3fvlub/IUgKdCibcCssfAsS8lSRDIsGkxXSVqpcwTg/bBLZ/TN1J9yl5Tjsf6rn1w+jlHAYfCqLnslkYu7cuUyePJlPP/2Ujz76CKdzkDtOxbAiq+JD3diFsLgcWj9TXeYiktXds7/YvXRya+3lYdj4L0DCb6GxTB1rYTDrZ/4Zm0EWPLQA+3k7ZY+XDSiVRU/TNDIzM7FarXz88cfY7XZyc3NlQ0uIkP/KQrGNGdxuxt4ceRVqf6/+HDfTcyVH+hd7fq/ZqjbcHNsIF4+pbegxU/wzToNomsaiXy3Cft7Olke3YI21UvDdgkFdc+rUqdhsNnbs2HGp+b/NFpybeIRxpEAL/zr2pmqtqjfhNmgsVXfqV36/7+3hZgtMWOW/MfqBPpVl8wObscZayb4ne1DXTEtLw2q1UlFRQUlJCfPmzZMNLSOcFGjhXwf+6HnOaYebDw35UIZaVyqL44KDN+57A0u0hawvZw3qmklJSRQUFFBeXk5xcTF5eXmMGjWq7zeKYUkeEgr/ujwlBTozB0ODUaksevHx8RQVFREWFkZpaSkNDQ0GjFQEIynQwr8ikj3PeXtQOIJ5pLK8N7BUFr2oqCiKioqIjo6moqKCujovfcbFsCcFWviXLcXznOZjx7sRxCOVpXRgqSxu17RaKSgoIDExkZ07d1JbW2vASEUwkQIdSjrscGan6kI3VCwJePT9mPrVofv8IHIplSUlhhdufGHAqSx6YWFh5OXlMW7cOPbu3UtNTY1saBlBpECHiuP/gL+nwabZ8GoqHHjG/5/5WTFUfRvQFYy0lXDl9/z/2UGqK5XFEmNh3aJ1nPpk8NM9JpOJOXPmMGXKFA4dOkRlZaVsaBkhpEAHC2cbHPm7Kpw9bdxwnIVPfgM7f6Qa3vfn2mV3dc/9tjdDxX1qc4o/Hf4LbsUZ4MJBFT4bwuLT41nz7ho0TWPddes4e/jsoK+paRozZswgMzOT+vp6ysrKaGsbeGc9ERykQAeDtmb4Rz58uBLK/02lo5wqc3+N4yy8nQOV34bdP4G3s+HIK75dv+kAtF72pN/pgNOVxoy/JxYvUVAWWRIGkHBFAne+cyeOZgfPff45muqNmXaaPHkyc+fO5cyZM5SUlNDa2tr3m0TQkgIdDD59tjsbENQd7s7/dn/NwXUqYLWLywm7Hu372meqoeJePOaBtTDjW4lebup9KjFF/5lXft+/nzmMJM9K5o5Nd9B8opn1i9ZzsfGiIdcdN24c+fn5tLS0UFxcTFPTED5zEIaSAh0Mmr0su2q+rMWk3cu0R289LAA6HCpM9rMtuE01mMJhzi97DpQF9TDxo+/Drp/AxeO9f05PosbDDTsg6xG48gFYUgGpiwd2rRHKI5WlaeCpLHqJiYkUFhbidDopKSnh9OnThlxXDC0p0IHU1qy6uzVu8/xe6g3ux+FepgbG95F00lgGLV4avl+7GaZ/p+f31W9W0ykf/wKqf6QeLF7wsiyspQEu9LH+NnIcZP1IZSSOmt37a0OURypLizFzx7GxsRQVFWGxWCgtLeXEicGvGhFDSwp0IH2wFHY+CKdK1LEWrtYIT1gFsx9zf+3+Jz3f722OV8/mZZOIFgaxfbQR3fNzcLV3H9tPwv613cfOdti6Bv6eChvT4b3r1By5UTrs0G7Mr/vDxbRl01jx3AoObznMhls3DCqVRS8yMpKioiJiY2PZvn07hw8fNuS6YmhIgQ6UMzvhsw/cz7na4MYaKHoRwmPcv3fBy/9Yux6Bupc8z3eJvQImrXE/d8U3IWKs99dfOKIeHNq9/Dqsj5k68Ec4tK67kX7De1DzcM/j8JXLBVX3w0ujYEMcbF0NHaHzkCvr9iyWrl1K7Vu1g05l0bNYLBQUFJCUlER1dTWffPKJIdcV/ifNkgLF2cOvsVoPPzPHLYUjL3ue3/OYarzfk3nPqKmQ01WQON/7HLDLBRVf72yc7wLL6MsHBem3dR+e/NDzGp95Oddfnz4Le3/dfXxoPURPhqt+PPhrDxPZX8vGft7O5u9uxhJtYfnTy9FMg1+WaDabyc3Npbq6mn379tHa2spVV12FFuJLHoOdFOhAGZ0No+bCmaruc2Ou6TkDMPdJtSKj+bLtvG3ne/8czQRpy9VXT4694T6F4TgNMRnqvWHRamPJGF3Ya/ws4Hn3axgxv3ziHc9z9e+EVIEGKLi/QPWSfmQLlhgLS55YYkghNZlMzJ49G5vNRm1tLQ6Hg7lz52I2h97W++FCCnSgaBpc+zbs/qmaVkicB5kP9vx6WyJc/SJsygZ0v/pOvNO3z3O2qfXQUekQdlkOobeHlPZTcGsPT/4zvg7HXoOTxeo4JgOyHvZtHL2JyfA8F3vF4K87DC18eCH283bKnygfdCrL5aZPn47NZqOmpobS0lLy8vKwWHoLEBaBIgU6kGxJkP2E+rPLqVZP2D+DlBtUQb7cqNmw8E31EM9xGtJvhxk+rCuu36ySsVsb1EaR3N9D+pe6v5+Q5/me0bk9Xy88Gq7/EE5tg46LkHQ1mAy4C7viW1C3Ac53tuS0JUPmf/f+nhFK0zQW/3rxpVQWS4yFwgcKDbv+xIkTsVqtVFVVXWr+HxHhJUBYBJQ2kMYqOTk5ru3bt/thOCGqww7vX989txsWBQs3uU8rDPjaDtg43n1btzkCVh7r3tXncsG2e+HA04ALoiapMFl/hMb6Mt76TervZNxN6u8ihDk7nLx8+8vs2bCHm568iZx7cwy9fmNjIxUVFZjNZvLz84mN9WMepUDTtEqXy+Xzf0RZxREMDv/V/cFb+wXY8QNjrt20z7PnRkeL+zZvTYP8p+Dmg7B4GyyrDUxxBhVvlXazyikM8eIMKpXllvW3kHFjBm9+/U1qXqjp+039kJCQQGGhujPfunUrjY2Nhl5fDI4U6GDw6bOe55r2GXPt6EmeKd1aGMRler42Kh0Sco2ZrhCGMVvMrHppFenXpBuWyqIXExNDUVERVquVsrIyjh8f4M5RYTgp0IHW0tD9sE1vzEJjrh8WBdm/BZNVHWthMPvnEOGlkb4IWuER4dz++u2GprLoRUREUFRURHx8PJWVlRw8eNDQ64uBkQIdaM373XftdZl6j3GfMXkNrDii5rVvPgRX3m/ctcWQ8Ucqi154eDjz5s0jOTmZXbt2sXevsXfqov+kQAfaqLmeLTitSWpNtJFsSZC6pPcGSSLo+SOVRc9sNpOTk0N6ejq1tbXs2LFDmv8HkBToQAuLUFu7o9LVcdQkdWy2BnZcImj5I5VFT9M0rrrqKqZNm8aRI0eoqKigvd3Lb3nC72SZXbBwOVX7UFtSz9u9hdBp3NfIM1c/g9li5u7iu4lP76N51gDU1dVRXV1NXFwc+fn5sqFlkGSZ3XClmVQTIynOwkf+SmXRmzBhArm5uZw/f57i4mIuXgytLoOBJtVAiGHMX6ksemPHjmX+/Pk4HA6Ki4s5d+6c4Z8hvJMCLcQw569UFr3Ro0dTVFSEyWRi69atnDzZR5qPMIQUaBFYJ96Djx6A2rUh16TfSP5KZdGLjo6mqKiIyMhItm3bxrFjXtJ6hKHkIaEYWifeh9rfqz9bRsGBP3R/b3QuLNoKJunhNVA1f6nhlTteIeOGDL706pcwW4zfFdrW1kZFRQWNjY1kZmYyefJkwz9jpJKHhKKbswOqH4bXMuDtXDjySmDHc+J9+Of1cOQl9aUvzgCnK6D+7cCMbYTwVyqLXteGlpSUFHbv3s2ePXsYyI2e6Jvcqoxku38Ku3TN7otXwfWlkOilvehQ2L+2OyarJ3Zp1jNY/kpl0TOZTGRnZ7N7924OHDhAYmIiY8aMMfQzhBToke3wC+7HLifU/S1wBbovYdGQelOgRzEi6FNZrLFWFj++2PB4K03TmDlzJsnJySQmeulfLgZNCvRI5pEt2MO5oZJxn5rauHQXbYKUxXCuBqKnwqyfeQ8qEAOiT2WxxloNTWXRk+LsP1KgR7LMH8KWFeDqUMcRKTDlK4Ebz9hr4drNsP9JFRKQcR8kfz5w4xnhulJZHE0Otjyq7qQLvlsQ6GGJfpACPZKNWwqLK1QggGUUTL5b7VYMpOTPqS8xJDRNY+napTiaHGx+YDPWWCvZ92QHeljCR1KgR7rRc9SXCFkms4mV61biaHbwxn1vYImxkHV7VqCHJXwgy+yECAFuqSyrX+WT1z4J9JCED6RACxEi9KksG764wfBUFmE8KdBChJBLqSwZKpXlaNnRQA9J9EIKtBAhRp/K8vwNz3Nip7GpLMI4UqCFCEGXUlmiLaxftN7wVBZhDCnQQoSo+PR41ry3BoB1163j7OGzAR6RuJwUaCFCmD6VZd1162g+0RzoIQkdKdBChLiuVJam+ibWXb+OltMtgR6S6CQFWghB2rw0btt4G421jaxfst4vqSyi/6RACyEAmPz5yazasIr6qnq/pbKI/pECLYS4ZNqyaaxct5LDWw6z4dYNdDg6Aj2kkCYFWgjhJuv2LJY+6d9UFuEbaZYkhPCQfU829ib/prKIvkmBFkJ4VXB/AfZzdrY8ugVLjIUlTywxPJVF9E4KtBCiRwt/3JnK8j/l2OJsfktlEd5JgRZC9KgrlcXeZJdUlgCQAi2E6JVm0lj21DJJZQkAKdBCiD6ZzCZuWX8LbRfaVCpLtIWsL0sqi7/JMjshhE/cUlnWSCrLUJACLYTwmaSyDC0p0EKIfrk8leVI6ZFAD2nEkgIthOi3iNER3PnOncSkxPDCjS9IKoufSIEWQgxITEoMq99dTWpuKpEJkYEezogkqziEEAMWnx7P6ndWB3oYI5bcQQshRJCSAi2EEEFKCrQQQgQpKdBCCBGkpEALIUSQkgIthBBBSgq0EEIEKSnQQggRpDSXy9X/N2naSeCw8cMRQogRLd3lciX5+uIBFWghhBD+J1McQggRpKRACyFEkJICLYQQQUoKtBBCBCkp0EIIEaT+HxoA6v+NhY0JAAAAAElFTkSuQmCC\n","text/plain":["
"]},"metadata":{}}]},{"cell_type":"markdown","metadata":{"id":"_dRnCs03yO0d"},"source":["Τώρα που βλέπουμε ότι δουλεύει, μπορούμε να δοκιμάσουμε και τη μέθοδο `.fit()` η οποία αναλαμβάνει όλη τη διαδικασία εκπαίδευσης για όσες επαναλήψεις χρειαστεί."]},{"cell_type":"code","metadata":{"id":"Lzz572TiyO0d","colab":{"base_uri":"https://localhost:8080/","height":264},"executionInfo":{"status":"ok","timestamp":1637645250078,"user_tz":-120,"elapsed":12,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"4554c23e-de79-4f40-8986-5b544ce82df3"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","km = KMeans(2, seed=44)\n","km.fit(points)\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","colors = [map_colors[i] for i in km.predict(points)]\n","decision_boundary = generate_perp_bisector(km.centroids)\n","\n","plt.scatter(points[:,0], points[:,1], c=colors, lw=0, s=30, label='data points')\n","plt.scatter(new[:,0], new[:,1], c=['orange', 'deepskyblue'], s=80, label='new centroids')\n","plt.plot(range(25), [decision_boundary_new(x) for x in range(25)], c='purple', label='new boundary')\n","plt.xlim([0,22])\n","plt.ylim([1,23])\n","plt.tick_params(axis='both', which='both', bottom=False, left=False, top=False, right=False, labelbottom=False, labelleft=False)\n","plt.legend(loc='upper left')\n","plt.title('KMeans: Complete training')\n","axes_scaling = plt.axis('equal')\n","\n","# Χρησιμοποιούμε την km.history για να δούμε και να σχεδιάσουμε τις προηγούμενες θέσεις των κέντρων\n","steps = len(km.history)\n","for s in range(steps-2): # την τελευταία θέση (όπου s==steps-1) τη σχεδιάσαμε παραπάνω, την προ-τελευταία την αγνοούμε για 2 λόγους:\n"," # 1) για να τερμάτισε σημαίνει ότι έχει μηδαμινή κίνηση από την τελευταία και\n"," # 2) γιατί τα arrow πρέπει να είναι κατά 1 λιγότερα από τα σημεία\n"," plt.scatter(km.history[s][:,0], km.history[s][:,1], c=['orange', 'deepskyblue'], s=80, label='old centroids', alpha=1.0/(steps-s))\n","\n"," for i in range(km.k):\n"," plt.arrow(km.history[s][i,0], km.history[s][i,1], km.history[s+1][i,0]-km.history[s][i,0], km.history[s+1][i,1]-km.history[s][i,1], length_includes_head=True, head_width=0.3, color='black', alpha=1.0/(steps-s))"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{}}]},{"cell_type":"markdown","metadata":{"id":"clDYOj8VyO0g"},"source":["Μόλις έχει εκπαιδευτεί το σύστημα, μπορούμε να χρησιμοποιήσουμε και την `.predict()` για να δούμε σε ποια ομάδα ανήκει το κάθε σημείο."]},{"cell_type":"code","metadata":{"id":"qsFWmMJsyO0h","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1637645250607,"user_tz":-120,"elapsed":538,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"e0ea70e4-d0eb-41a2-e110-f39eaffbced3"},"source":["print(' (0,0) belongs to cluster:', km.predict((0,0)))\n","print(' (5,5) belongs to cluster:', km.predict((5,5)))\n","print('(10,10) belongs to cluster:', km.predict((10,10)))\n","print('(15,15) belongs to cluster:', km.predict((15,15)))\n","print('(20,20) belongs to cluster:', km.predict((20,20)))\n","print('(25,25) belongs to cluster:', km.predict([25,25]))"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":[" (0,0) belongs to cluster: 0\n"," (5,5) belongs to cluster: 0\n","(10,10) belongs to cluster: 0\n","(15,15) belongs to cluster: 1\n","(20,20) belongs to cluster: 1\n","(25,25) belongs to cluster: 1\n"]}]},{"cell_type":"markdown","metadata":{"id":"pTZbaLx8yO0j"},"source":["Τι θα γίνει όμως αν βάλουμε μεγαλύτερο $k$ από αυτό που χρειάζεται;"]},{"cell_type":"code","metadata":{"id":"ZDctsUs6yO0j","colab":{"base_uri":"https://localhost:8080/","height":265},"executionInfo":{"status":"ok","timestamp":1637645250609,"user_tz":-120,"elapsed":18,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"450083a7-86c3-4f35-a286-a899e0ff444a"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","km = KMeans(5, seed=13)\n","km.fit(points)\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","# Ως colors μπορούμε για ευκολία να βάλουμε και τα index των αναθέσων αντί για μία λίστα με χρώματα όπως προηγουμένως\n","plt.scatter(points[:,0], points[:,1], c=km.predict(points), s=30, lw=0)\n","plt.scatter(km.centroids[:,0], km.centroids[:,1], c=range(5), s=80)\n","axes_scaling = plt.axis('equal')"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"SEVYy_ZZyO0m"},"source":["Ή αν έχουμε κάποιο πιο πολύπλοκο πρόβλημα όπου δεν ξέρουμε τι $k$ να χρησιμοποιήσουμε;"]},{"cell_type":"code","metadata":{"id":"AwJ8RkFKyO0m","colab":{"base_uri":"https://localhost:8080/","height":266},"executionInfo":{"status":"ok","timestamp":1637645251164,"user_tz":-120,"elapsed":569,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"8a2fd526-226b-412f-e590-7411f8d1b0aa"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","np.random.seed(77)\n","\n","# Θα φτιάξουμε 4 συστάδες από 50 σημεία με κέντρα τις θέσεις (7,7), (7,17), (17,7) και (17,17)\n","# Θα δημιουργήσουμε τα σημεία, όμως, με πολύ μεγάλη διασπορά ώστε να μην φαίνονται οι ομάδες\n","# με το μάτι\n","\n","lowb, highb, var = 2, 12, 10\n","\n","p1 = np.random.rand(50,2) * var + lowb\n","p2 = np.random.rand(50,2) * var + highb\n","\n","a = np.array([highb]*50)\n","b = np.array([lowb]*50)\n","c = np.zeros((50,2))\n","c[:,0], c[:,1] = a, b\n","p3 = np.random.rand(50,2) * var + c\n","c[:,1], c[:,0] = a, b\n","p4 = np.random.rand(50,2) * var + c\n","\n","points = np.concatenate([p1, p2, p3, p4])\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","plt.scatter(points[:,0], points[:,1])\n","axes_scaling = plt.axis('equal')"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","metadata":{"id":"Ssf59U2vyO0o","colab":{"base_uri":"https://localhost:8080/","height":266},"executionInfo":{"status":"ok","timestamp":1637645251165,"user_tz":-120,"elapsed":17,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"db8370a6-7585-495c-88f2-0d0df30bccff"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","k = 5\n","km = KMeans(k, seed=77)\n","km.fit(points)\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","plt.scatter(points[:,0], points[:,1], c=km.predict(points), lw=0, s=30)\n","plt.scatter(km.centroids[:,0], km.centroids[:,1], c=range(k), s=80)\n","axes_scaling = plt.axis('equal')"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","metadata":{"id":"4RniYD5cyO0v","colab":{"base_uri":"https://localhost:8080/","height":281},"executionInfo":{"status":"ok","timestamp":1637645251774,"user_tz":-120,"elapsed":618,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"917a410c-6d31-4066-9555-aa834545062f"},"source":["# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","# Δημιουργούμε 4 subplots πάνω στο ίδιο διάγραμμα\n","f, ax = plt.subplots(2, 2)\n","seed = 55\n","\n","# k = 2\n","km = KMeans(2, seed=seed)\n","ax[0, 0].scatter(points[:,0], points[:,1], c=km.fit_predict(points), lw=0)\n","ax[0, 0].set_title('k = 2')\n","ax[0, 0].set_aspect('equal')\n","\n","# k = 3\n","km = KMeans(3, seed=seed)\n","ax[0, 1].scatter(points[:,0], points[:,1], c=km.fit_predict(points), lw=0)\n","ax[0, 1].set_title('k = 3')\n","ax[0, 1].set_aspect('equal')\n","\n","# k = 4\n","km = KMeans(4, seed=seed)\n","ax[1, 0].scatter(points[:,0], points[:,1], c=km.fit_predict(points), lw=0)\n","ax[1, 0].set_title('k = 4')\n","ax[1, 0].set_aspect('equal')\n","\n","# k = 5\n","km = KMeans(5, seed=seed)\n","ax[1, 1].scatter(points[:,0], points[:,1], c=km.fit_predict(points), lw=0)\n","ax[1, 1].set_title('k = 5')\n","ax[1, 1].set_aspect('equal')"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"DZJ2mdFGXPm9"},"source":["### Υπερπαράμετρος $k$\n","\n"]},{"cell_type":"markdown","metadata":{"id":"Ekx1hnTLXcAA"},"source":["Παρατηρούμε ότι ο αλγόριθμος kMeans έχει μια βασική υπερπαράμετρο που είναι το $k$. Προκειμένου να διαλέξουμε το βέλτισο $k$ χρειαζόμαστε κάποιον τρόπο να μπορούμε να αξιολογούμε την ποιότητα των clustering που προκύπτουν για $k=1,2,3,...$.\n","\n","Οι μετρικές που χρησιμοποιούμε στην επιβλεπόμενη μάθηση για την αξιολόγηση ενός αλγορίθμου (accuracy, confusion matrix, f1-score) χρειάζονται ετικέτες για να υπολογιστούν. Πώς μπορούμε, λοιπόν, να αξιολογήσουμε την επίδοση ενός αλγορίθμου συσταδοποίησης;\n","\n","Ένα απλό μέτρο που μπορούμε να σκεφτούμε είναι να συγκρίνουμε για κάθε συστάδα τη διασπορά των παραδειγμάτων της συγκεκριμένης συστάδας.\n","\n","Για τη συστάδα $C$ το παραπάνω μπορεί να υπολογιστεί ως εξής:\n","\n","$$\n","I_C = \\sum_{i \\in C}{(x_i - \\bar{x}_C)^2}\n","$$\n","\n","όπου $x_i$ ένα παράδειγμα που ανήκει στη συστάδα $C$ με κέντρο $\\bar{x}_C$.\n","\n","Όσο πιο μικρό το μέτρο αυτό, τόσο μικρότερη διασπορά έχει η αντίστοιχη συστάδα, πράγμα επιθυμητό καθώς σημαίνει ότι είναι πιο \"συμπαγής\". Μετρικές σαν αυτή τις ονομάζουμε **inertia** (αδράνεια). Για να υπολογίσω τη συνολική αδράνεια, απλά προσθέτω τις διασπορές για όλα τα cluster.\n","\n","$$\n","Ι = \\sum_{C = 1}^k{I_C}\n","$$\n","\n","Πολλές φορές το σταθμίζουμε και με τη συνολική διασπορά στο σύνολο δεδομένων. Ας δούμε ένα αντίστοιχο παράδειγμα με το προηγούμενο, χρησιμοποιώντας την υλοποίηση του [KMeans](http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html) από το scikit-klearn..."]},{"cell_type":"code","metadata":{"id":"1zJWDlfByO0x","colab":{"base_uri":"https://localhost:8080/","height":670},"executionInfo":{"status":"ok","timestamp":1637645253034,"user_tz":-120,"elapsed":1271,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"45b5feef-f4e3-4d4c-d384-08c24bc2d76b"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","from sklearn.cluster import KMeans\n","\n","k = 5\n","km = KMeans(k, random_state=99)\n","km.fit(points)\n","\n","print(km.inertia_)\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","plt.scatter(points[:,0], points[:,1], c=km.predict(points), lw=0, s=30)\n","plt.scatter(km.cluster_centers_[:,0], km.cluster_centers_[:,1], c=range(km.n_clusters), s=80)\n","axes_scaling = plt.axis('equal')"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["2693.518419516413\n"]},{"output_type":"error","ename":"OSError","evalue":"ignored","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mOSError\u001b[0m Traceback (most recent call last)","\u001b[0;32m_ctypes/callbacks.c\u001b[0m in \u001b[0;36m'calling callback function'\u001b[0;34m()\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.7/dist-packages/threadpoolctl.py\u001b[0m in \u001b[0;36mmatch_library_callback\u001b[0;34m(info, size, data)\u001b[0m\n\u001b[1;32m 546\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 547\u001b[0m \u001b[0;31m# Store the library controller if it is supported and selected\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 548\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_make_controller_from_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 549\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 550\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.7/dist-packages/threadpoolctl.py\u001b[0m in \u001b[0;36m_make_controller_from_path\u001b[0;34m(self, filepath)\u001b[0m\n\u001b[1;32m 671\u001b[0m \u001b[0mprefix\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mprefix\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 672\u001b[0m \u001b[0muser_api\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0muser_api\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 673\u001b[0;31m \u001b[0minternal_api\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minternal_api\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 674\u001b[0m )\n\u001b[1;32m 675\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlib_controllers\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlib_controller\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.7/dist-packages/threadpoolctl.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 784\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 785\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 786\u001b[0;31m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 787\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mthreading_layer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_threading_layer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 788\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marchitecture\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_architecture\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.7/dist-packages/threadpoolctl.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, filepath, prefix, user_api, internal_api)\u001b[0m\n\u001b[1;32m 752\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprefix\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mprefix\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 753\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfilepath\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfilepath\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 754\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_dynlib\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mctypes\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCDLL\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0m_RTLD_NOLOAD\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 755\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mversion\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_version\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 756\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/lib/python3.7/ctypes/__init__.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, name, mode, handle, use_errno, use_last_error)\u001b[0m\n\u001b[1;32m 362\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 363\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mhandle\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 364\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_handle\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_dlopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 365\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 366\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_handle\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mhandle\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;31mOSError\u001b[0m: /usr/local/lib/python3.7/dist-packages/numpy.libs/libopenblasp-r0-09e95953.3.13.so: cannot open shared object file: No such file or directory"]},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"WpeVa3CmyO0z"},"source":["Όσο μικρότερη η αδράνεια, τόσο καλύτερο clustering έχει γίνει. Προφανώς θέλουμε να **ελαχιστοποιήσουμε** το κριτήριο αυτό. Ας τρέξουμε λοιπόν τον $k$-means για $k$ από 1 μέχρι 100 να δούμε σε ποια τιμή ελαχιστοποιείται ο δείκτης αυτός."]},{"cell_type":"code","metadata":{"id":"Z1nNY9rVyO00","colab":{"base_uri":"https://localhost:8080/","height":283},"executionInfo":{"status":"ok","timestamp":1637645288691,"user_tz":-120,"elapsed":35666,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"87836e9c-c743-4a95-f5dc-681589ade51e"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","cluster_scores = []\n","for k in range(1, 101):\n"," km = KMeans(k, random_state=77)\n"," km.fit(points)\n"," cluster_scores.append(km.inertia_)\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","plt.plot(range(1, 101), cluster_scores)"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[]"]},"metadata":{},"execution_count":21},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"F_CRqirgyO02"},"source":["Παρατηρούμε ότι η αδράνεια μικραίνει όσο μεγαλώνει το $k$, και φτάνει στο 0 όταν $k=N$, όπου $N$ το πλήθος των παραδειγμάτων μας. Το να ορίσουμε μια συστάδα για κάθε δείγμα είναι τετριμμένη λύση, γιατί δεν μας βοηθάει να εξηγήσουμε τα δεδομένα και να εξάγουμε γνώση από αυτά, που είναι ο στόχος στην μη-επιβλεπόμενη μάθηση.\n","\n","Άρα δεν μπορεί να μας βοηθήσει το κριτήριο αυτό για τον υπολογισμό του βέλτιστου $k$.\n","\n","Ένα **εμπειρικό** κριτήριο που μπορεί να βοηθήσει είναι αυτό που αποκαλούμε [μέθοδο του \"αγκώνα\"](https://en.wikipedia.org/wiki/Elbow_method_(clustering)) (elbow). Κοιτάμε δηλαδή στη γραφική παράσταση της αδράνειας ή της διασποράς ως προς το $k$, σε ποιο σημείο σχηματίζει έναν \"αγκώνα\" η γραφική. Αυτό υπολογίζεται κοιτάζοντας και τη δεύτερη παράγωγο της αντίστοιχης γραφικής.\n","\n"]},{"cell_type":"code","metadata":{"id":"STb0jGmxyO04","colab":{"base_uri":"https://localhost:8080/","height":282},"executionInfo":{"status":"ok","timestamp":1637645289110,"user_tz":-120,"elapsed":430,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"d1490e03-75f8-4bd6-92e5-f40a920d22e4"},"source":["# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","plt.plot(range(2,8), cluster_scores[2:8])\n","plt.annotate(\"elbow\", xy=(3, cluster_scores[3]), xytext=(5, 4500),arrowprops=dict(arrowstyle=\"->\"))\n","plt.annotate(\"elbow\", xy=(5, cluster_scores[5]), xytext=(5, 4500),arrowprops=dict(arrowstyle=\"->\"))\n","plt.annotate(\"elbow\", xy=(6, cluster_scores[6]), xytext=(5, 4500),arrowprops=dict(arrowstyle=\"->\"))"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Text(5, 4500, 'elbow')"]},"metadata":{},"execution_count":22},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"WpPHUDDcYkqc"},"source":["Δηλαδή στη συγκεκριμένη περίπτωση θα ήταν $k=3$, $k=5$ ή $k=6$.\n","\n","Το κριτήριο που χρησιμοποιήσαμε για την εύρεση του βέλτιστου $k$ μας φέρνει στη γενικότερη συζήτηση σχετικά με την αξιολόγηση της όποιας συσταδοποίησης."]},{"cell_type":"markdown","metadata":{"id":"5P5k9Vw1yO0x"},"source":["# Αξιολόγηση Συσταδοποίησης\n","\n","Όταν διενεργούμε συσταδοποίηση θέλουμε να επιτύχουμε τα δύο ακόλουθα#\n","\n","* Συνοχή εντός του κάθε cluster (intra-cluster cohesion). Θέλουμε τα σημεία να απέχουν όσο γίνεται λιγότερο από τον κεντροειδή του cluster. Συνήθως χρησιμοποιούμε κάποια μετρική του τύπου αθροίσματος τετραγώνων (SSE) που θέλουμε να ελαχιστοποιήσουμε.\n","\n","* Διαχωρισμός μεταξύ διαφορετικών clusters (inter-cluster separation). Θέλουμε οι κεντροειδείς των διαφόρων clusters να είναι όσο το δυνατόν πιο μακριά μεταξύ τους.\n","\n","Σημειώστε ότι το πρόβλημα της συσταδοποίησης είναι αλγοριθμικά δύσκολο. Συγκεκριμένα για τον kMeans ακόμα και για k=2 το πρόβλημα είναι NP-hard.\n","\n","Yπάρχουν δύο βασικοί τρόποι [αξιολόγησης αλγορίθμων συσταδοποίησης](https://en.wikipedia.org/wiki/Cluster_analysis#Evaluation_and_assessment): η *εξωτερική* (external) και η *εσωτερική* (internal)."]},{"cell_type":"markdown","metadata":{"id":"zveA4SlUyGIb"},"source":["### Εξωτερική Αξιολόγηση\n","\n","Η εξωτερική αξιολόγηση (Extrinsic evaluation) απαιτεί την εκτέλεση του αλγορίθμου σε ένα πρόβλημα επιβλεπόμενης μάθησης (που έχουμε τις ετικέτες δλδ ποιο δείγμα ανήκει σε ποια ομάδα) και την \"εξωτερική\" του αξιολόγηση με βάση αυτές. Δεν αποτελεί τυπική περίπτωση συσταδοποίησης και δεν θα την εξετάσουμε περισσότερο.\n"]},{"cell_type":"markdown","metadata":{"id":"UO23IBPxyrwW"},"source":["\n","### Εσωτερική Αξιολόγηση\n","Η Εσωτερική αξιολόγηση (Intrinsic Evaluation) απαιτεί την ανάλυση της δομής ή της ευστάθειας των παραγόμενων από τον αλγόριθμο συστάδων. Για να το πετύχουμε αυτό, χρησιμοποιούμε διάφορους δείκτες ή συντελεστές.\n","\n","\n","- [Dunn index](https://en.wikipedia.org/wiki/Dunn_index):\n","Ο αριθμητής του dunn index είναι ένα μέτρο της **μικρότερης απόστασης μεταξύ δυο συστάδων** (π.χ. απόσταση μεταξύ των κέντρων τους). \n","Στον παρονομαστή μπαίνει ένα μέτρο του **μεγέθους της μεγαλύτερης συστάδας** (π.χ. η απόσταση μεταξύ των 2 πιο απομακρυσμένων παραδειγμάτων που ανήκουν στη συστάδα αυτή).\n","\n","$$\n","DI= \\frac{ min \\left( δ \\left( C_i, C_j \\right) \\right)}{ max \\, Δ_p }\n","$$\n","\n","όπου $C_i, C_j$ είναι δυο τυχαία κέντρα συστάδων, $δ \\left( C_i, C_j \\right)$ είναι ένα μέτρο της απόστασής τους και $Δ_p$ είναι ένα μέτρο της \"διαμέτρου\" της συστάδας $p$, όπου $p \\in [0,k]$.\n","\n","- [Silhouette coefficient](https://en.wikipedia.org/wiki/Silhouette_(clustering)):\n","$$\n","s \\left( i \\right) = \\frac{b \\left( i \\right) -a \\left( i \\right) }{max \\left( a \\left( i \\right) , b \\left( i \\right) \\right)}\n","$$\n","\n","Έστω $i$ ένα σημείο (point) οποιασδήποτε συστάδας. \n","\n","Το $a(i)$ είναι η μέση απόσταση του $i$ από όλα τα υπόλοιπα σημεία της συστάδας στην οποία ανήκει. Όσο μικρότερο είναι το $a(i)$, τόσο περισσότερο ομοιάζει το $i$ στα υπόλοιπα δείγματα της συστάδας.\n","\n","To $b(i)$ είναι η μικρότερη μέση απόσταση του $i$ από όλα τα σημεία σε οποιαδήποτε άλλη συστάδα, στην οποία το $i$ δεν ανήκει. Η συστάδα με την μικρότερη μέση απόσταση από το $i$ θεωρείται \"γειτονική\" (η δεύτερη καλύτερη επιλογή ομαδοποίησης).\n","\n","Μικρό $a(i)$ σημαίνει ότι η συστάδα του $i$ είναι συμπαγής ενώ μεγάλο $b(i)$ σημαίνει ότι το $i$ έχει μεγάλη απόσταση από την κοντινότερη συστάδα.\n","\n","Το εύρος τιμών που μπορεί να πάρει το $s(i)$ είναι στο $[-1, 1]$. Όσο πιο μεγάλο, τόσο πιο ξεκάθαρες οι συστάδες μεταξύ τους. Για να είναι το $s(i) \\approx 1$, πρέπει το $b(i) >> a(i)$.\n","\n","Για να αξιολογήσουμε τον αλγόριθμό μας συνήθως παίρνουμε το μέσο όρο των $s(i)$ για όλα τα $i$.\n","\n"]},{"cell_type":"code","metadata":{"id":"RQLcbDvmyO07","colab":{"base_uri":"https://localhost:8080/","height":282},"executionInfo":{"status":"ok","timestamp":1637645323981,"user_tz":-120,"elapsed":34873,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"d8a93732-9de9-427b-e4f3-b631be5541c7"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","from sklearn.metrics import silhouette_score\n","\n","silhouette_scores = []\n","for k in range(2, 100):\n"," km = KMeans(k, random_state=77)\n"," km.fit(points)\n"," preds = km.predict(points)\n"," silhouette_scores.append(silhouette_score(points, preds))\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","plt.plot(range(2, 100), silhouette_scores)\n","best_k = np.argmax(silhouette_scores) + 2 # +2 γιατί ξεκινάμε το range() από k=2 και όχι από 0 που ξεκινάει η αρίθμηση της λίστας\n","plt.scatter(best_k, silhouette_scores[best_k-2], color='r') # για τον ίδιο λόγο το καλύτερο k είναι αυτό 2 θέσεις παρακάτω από το index της λίστας\n","plt.xlim([2,100])\n","plt.annotate(\"best k\", xy=(best_k, silhouette_scores[best_k-2]), xytext=(50, 0.39),arrowprops=dict(arrowstyle=\"->\")) # annotation\n","print('Maximum average silhouette score for k =', best_k)"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Maximum average silhouette score for k = 61\n"]},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"0pcjZPrEyO0-"},"source":["Το αποτέλεσμα του clustering για $k=61$ φαίνεται στο παρακάτω σχήμα."]},{"cell_type":"code","metadata":{"id":"S_PmoTKYyO0-","colab":{"base_uri":"https://localhost:8080/","height":266},"executionInfo":{"status":"ok","timestamp":1637645324564,"user_tz":-120,"elapsed":614,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"b5d2f3aa-c36b-4cc9-8bdc-d0d74683c94b"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","preds = KMeans(best_k, random_state=77).fit_predict(points)\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","plt.scatter(points[:,0], points[:,1], c=preds, lw=0)\n","axes_scaling = plt.axis('equal')"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"KweXwZO5yO1B"},"source":["Το αποτέλεσμα αυτό μπορεί να μην είναι επιθυμητό λόγω του μεγάλου αριθμού των cluster που δεν μας βοηθά να κατανοήσουμε τα δεδομένα. Αυτό που κάνουμε πρακτικά είναι να ορίσουμε ένα μέγιστο $k$ και να ψάξουμε το μέγιστο silhouette score μέχρι αυτό το μέγιστο $k$. Εδώ για παράδειγμα θέτουμε μέγιστο 10 ομάδες:"]},{"cell_type":"code","metadata":{"id":"nwcsgif5yO1B","colab":{"base_uri":"https://localhost:8080/","height":283},"executionInfo":{"status":"ok","timestamp":1637645325074,"user_tz":-120,"elapsed":516,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"3cdbb76c-3362-48a8-afcf-f144e62f0ffe"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","good_k = np.argmax(silhouette_scores[:10])+2\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","plt.scatter(points[:,0], points[:,1], c=KMeans(good_k, random_state=77).fit_predict(points), lw=0)\n","axes_scaling = plt.axis('equal')\n","print('A good value for k is: k =', good_k)"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["A good value for k is: k = 6\n"]},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"r3Q2lSE6yO1E"},"source":["Αν θέλουμε να δούμε και το $k$ αυτό σε σχέση με το βέλτιστο:"]},{"cell_type":"code","metadata":{"id":"XdKidx-dyO1E","colab":{"base_uri":"https://localhost:8080/","height":282},"executionInfo":{"status":"ok","timestamp":1637645325076,"user_tz":-120,"elapsed":22,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"cbd65ce0-36d4-442f-8e1d-459da249dadd"},"source":["# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","plt.plot(range(2, 100), silhouette_scores)\n","best_k = np.argmax(silhouette_scores)+2\n","plt.scatter([good_k, best_k], [silhouette_scores[good_k-2], silhouette_scores[best_k-2]], color='r')\n","plt.xlim([2,100])\n","plt.annotate(\"best k\", xy=(best_k, silhouette_scores[best_k-2]), xytext=(50, 0.39),arrowprops=dict(arrowstyle=\"->\"))\n","plt.annotate(\"good k\", xy=(good_k, silhouette_scores[good_k-2]), xytext=(10, 0.43),arrowprops=dict(arrowstyle=\"->\"))"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Text(10, 0.43, 'good k')"]},"metadata":{},"execution_count":26},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"XbGDK8UEyO1H"},"source":["Μια άλλη στρατηγική θα ήταν να ψάξουμε τα μεγαλύτερα $k$ και να δούμε από αυτά ποιο μας κάνει περισσότερο."]},{"cell_type":"code","metadata":{"id":"CcDKBJIHyO1H","colab":{"base_uri":"https://localhost:8080/","height":315},"executionInfo":{"status":"ok","timestamp":1637645325587,"user_tz":-120,"elapsed":523,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"f4b59a8c-3dd6-4264-f35b-27633c7a73d2"},"source":["# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","topN = 3\n","plt.plot(range(2, 22), silhouette_scores[:20])\n","candidate_k = np.argpartition(silhouette_scores[:20], -topN)[-topN:]\n","plt.scatter([k+2 for k in candidate_k], [silhouette_scores[k] for k in candidate_k], color='r')\n","plt.xlim([2,20])\n","for k in candidate_k:\n"," plt.annotate(\"candidate k\", xy=(k+2, silhouette_scores[k]), xytext=(6, 0.38),arrowprops=dict(arrowstyle=\"->\"))\n"," print('For k = {:<2}, the average silhouette score is: {}.'.format(k+2, silhouette_scores[k]))"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["For k = 19, the average silhouette score is: 0.41120723799154857.\n","For k = 9 , the average silhouette score is: 0.41236225194448023.\n","For k = 6 , the average silhouette score is: 0.41259141274861577.\n"]},{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAYcAAAD4CAYAAAAHHSreAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOydeXiU1dn/P2ey73tCQiYLJJCFsISAgLIJKCoKVWv1dWnrVl9FbV2qba2tWvv+alurtrbVurS2WtTaKqICaoWAsiVhTUIWyEJCIBOy78nM+f2RmRggy2zPLMnzua5ckDPPOc8ZMuR+7uXcXyGlREVFRUVFZSgaZ29ARUVFRcX1UI2DioqKisp5qMZBRUVFReU8VOOgoqKionIeqnFQUVFRUTkPT2dvwBIiIyNlUlKSs7ehoqKi4jZERkayZcuWLVLK1ZbMcyvjkJSURF5enrO3oaKiouJWCCEiLZ2jhpVUVFRUVM5DNQ4qKioqKuehGgcVFRUVlfNQjYOKioqKynmoxkFFRUVF5TxU4zCeePNNSEoCjWbgzzffdPaOVFRU3BTVOIwX3nwT7rwTqqpAyoE/77xzfBkI1fipqDgM1TiMF37yE+jspCQykc2pC5EAnZ0D4+OBiWD8VFRcCNU4jBeqqwF4fNVd3HX1T/jutT/ndGD44LjbYzR+FWFx6PxDB8bGk/FTUXExVOMwXkhIoN3bj/zJ6cw+eZTdCTO45NYX+WDx1YwLQafqatq9/fjGzb/h8Uv+96xxFRUV+6Mah/HC00+zKzWHfg9Pbvr8L3z82r1MbT7J/Qu/y91vFnCmvcfZO7SNhATenH0ZzX7B7I3PRA4ZV1FRsT+qcRgv3HgjO275Pn49ndxwsoTXDR28uyqGRy9L4/Piei75XS6bj5xy9i6tpvupp/nL/Kvx7evmTEAoFWFx4O8PTz/t7K2pqIxLVOMwjsgVYUz1b8Xb35/npeTwjEzuWjqVD++9iEkhvtz1j3x+8PYBWjr7nL1Vi3l76oVUnzxK5XPXIw168mYthpdfhhtvdPbWVFTsi4tU5anGYZxQfaaTyjOdcCKfefPmsWTJEq677jra2tqYPimI9++5kPtXpLLx4EkueW4720rqnb1ls+ntN/CHzQdo/fRFDB4CrzNl5N/zY9UwqIw/XKgqTzUO44TcMh0A5Xm5rFmzhr6+PpYuXcrDDz8MgJeHhh+smsb7d19IsK8X33l9Hz/692Hae/qduW2z+HfBCYrefZZp06Yxa9Ys/Gr3s6+q0dnbUlGxP8aqvKORiZwMMnbZdlJVnmocxgm5pTpiA6C9tZlrrrmGQ4cO8cILL/Cd73znrOuy4kP48N6L+N7SKWzYV83q53LZdeyMczZtBv16Az/77Z/waKklZ2YGK1eu5NThHRyrb6exo9fZ21NRsS/V1RgQ3PStX/DL5beeNe5oVOMwDujTG/jq2BmWZSZQUVFBUlISXV1dtLe3s2DBgvOu9/Xy4EeXpfPu9xbiqRHc8JfdPPFhIV29eifsfnQ+OlxHY7fk2Zf+Rnl5OStXrsRLA/3Np8ivanL29lRU7ILBYKCkpISPIiMpjJlCQ2DYQNGFCSdU5anGYRywv7qZ9p5+lk6LxMvLCyEEWVlZHD58eNR5OUnhfHz/Yr69MJHXv6zk8hd2uNQvXINB8of/ljNn2eXcesWFFBUVkZmZSW5uLv7hk8hTQ0sqbsyhQ4e47bbbmD9/PkFBQWRkZPDd7m5ypw880J0InTRwoZOq8swyDkKI1UKIEiFEuRDi0VGuu0YIIYUQOcbvI4QQXwgh2oUQfzjn2rlCiMPGNV8QQgjb3srEZUeZDg+NYFHK10qAM2fO5NChQ2PO9ff25Im1M3jz9gvo7TfwzT9/xa82H6Wn3/lexNai05TVt3PP8hTOnGlAr9cTExNDSnIiWdow8ipdx5CpqFiKl5cX8+bN4/rrrycoKIioqChefuMNtq/8JgCtvoG0pKQ5rSpvTOMghPAAXgQuAzKAG4QQGcNcFwTcD+wZMtwN/BR4aJil/wTcAaQavywSv1b5mtxSHXO0oQT7eg2OzZw5c0zPYSgXpkSy+fuL+eZcLX/adoyrfv8lR2pblNiuWUgp+cMXZSRG+HNFVixFRUVkZGRgeobISQrncE0L3X3ON2IqKtaQkpJCVVUVzz77LP/7v/+LVqvl4ksvp6DLi+TIAABObNvttKo8czyH+UC5lPK4lLIX2ACsHea6p4BfMWAQAJBSdkgpdw4dAxBCxALBUsrdcqC3wxvAOivfw4SmsaOXQ7UtLE6NOms8KyvLLM9hKEG+Xvzq2pm89p0cGjt7Wffil3x8uM6e2zWb7aU6jtS2cveyqXh6aCguLiY9PX3w9bmJYfTqDU41YCoq1lJdXc2yZcs4ePAg+fn5vPvuuzz55JPsPt5Iv0Fy4wUDOYaapk6n7dEc4zAZODHk+xrj2CBCiGxAK6X8yMz7TjauM+KaKubxZXkDUsKSaZFnjc+YMYOioiL0esufrC9Oi2Hr95eQOTmER987xKmW7rEn2REpB3INcSG+fGNOPMCg52AiJzEMgDwXypGoqJjDBx98wLx581i3bh2bNm0iJCSEtWvXsnr1anaUNeDv7cHa2QO/Dk80djltnzYnpIUQGuBZ4EHbtzPs+ncKIfKEEHk6nU6JW7g1uaU6Qvy8mBkfetZ4cHAwMTExHDt2zKp1wwK8ee5bs+nTSx7+10GHNu/bU9FIXlUT31s6FW/PgY/ouZ5DRKAPUyIDyKtUk9Iq7kFPTw/f//73+f73v88HH3zAww8/jEajwdfXl6effhohBLllOhZMiSAqyIcgX09OuLjnUAtoh3wfbxwzEQTMALYJISqBBcBGU1J6lDXjR1lzECnly1LKHCllTlRU1HCXTFiklOSW6bgoJRIPzfn5fGtCS0NJjgzgx5ensaOsgX/scVyd9R/+W05koA/fmvf1x+5czwEGQkv5VU3jo+usyrimvLycRYsWUV1dTUFBwbAl5lVnOqg608mS1IEogDbMnxONrm0c9gGpQohkIYQ3cD2w0fSilLJFShkppUySUiYBu4GrpJR5Iy0opawDWoUQC4xVSrcAH9jyRiYipafbOd3ac15IyYSlSenhuGlBIotTI/nlR8VUNnTYtJY57K9uYmd5A3csTsbXywOAlpYWWlpa0Gq1Z12bkxRGU2cfx3TK70tFxVo2bNjAokWLuPXWW3nvvfcICwsb9rrc0oHIyJJpAw/B2nA/TjS5cFhJStkPrAe2AMXAO1LKQiHEk0KIq8aab/QmngW+I4SoGVLpdDfwClAOHAM+se4tTFx2lJ39YToXWz0HACEEz1w7Ey8PwQPvHEBvUPYp/cUvygnx8+LGBYmDY8XFxaSlpaHRnP1xzUkKByBfPe+g4oJ0dnZy55138vjjj7NlyxbuueceRqvY317aQHyY32ClkjbMn5qmTqd5xmblHKSUH0spp0kpp0opnzaOPS6l3DjMtcuGeg1GjyJcShkopYyXUhYZx/OklDOMa66XamzAYraX6kiNDiQ2xG/Y1+3hOQDEhvjx5NoZFFQ381KudTkMcyg62cpnxfXcemEygT6eg+Pn5htMTIkMIDzAm33qeQcVF6OoqIj58+fT2dlJfn4+c+bMGfX63n4Du441sGRa1KAB0Yb7091nQOckLRb1hLSb0t2nZ29F43klrENJSUmhrq6O9vZ2m++3dnYcl2dN4nefllJ0stXm9YbjxW3lBPp48p1FSWeND5dvgAGvJjshzKVOdatMbKSUvP766yxdupQHH3yQv//97wQFBY05r6C6iY5ePUuG/H/Whg889DmrYkk1Dm7K3opGevoNI+YbADw9PUlLS+PIkSM2308IwS/WZRHi580D7xyw+wnqY7p2Pj5cx80LEwnx9zrrtZE8BxjIO1Q0dNDg7kp3Km5PW1sbN998M7/97W/Ztm0b3/3ud0cNIw3l6y4HEYNj2jB/wHlnHVTj4Kbklurw9tRwQXLEqNfZK7QEEB7gza+uyeLoqTae+6zMLmua+OMXx/Dx1HDbRcnnvTaS5wAwL8l43kENLak4kQMHDjB37lz8/f3Zu3cvmZmZFs3PLW0gO+HsLgfxRuNQfUY1DioWkFumY35SOH7eHqNeZ26PJXNZkR7Dt3K0vLT9mN3OGJxo7OT9A7XcMD+ByECfs17r7Oykrq6OKVOmDDt3xuQQvD01alJaxSlIKXnxxRdZtWoVTzzxBC+//DL+/v4WrXGmvYcjJ8/vcuDn7UFUkI/TzjqoxsENqWvpovR0+6ghJRP2qFg6l8fWpBMX6seD7x6kww5iQS/lHkMj4M4l5xuAkpISUlJS8PT0HGYm+Hh6MHNyiHpSWsXhNDc3c+211/Laa6+xa9cubrjhBqvW2TnY5eD8/KE2zE/NOaiYz46yBmDkEtahmMJK9iwGC/L14jffnEV1Yyf/90mxTWudbu3mnX01XDtXO2zVVVFR0Yj5BhNzk8I4Uqs24VNxHLt372bOnDnEx8fz1VdfkZKSYvVa20t1hPp7kTU55LzXtOH+quegYj65pTqig3yYHjN2FUR0dDReXl7U1g57AN1qFkyJ4LYLk/nH7mq2l1rf1uQvucfRS8n/Lp067OvFxcUj5htMzEsMp08vOXii2ep9qKiYg8Fg4De/+Q1r167ld7/7Hc8//zw+Pj5jTxwBKSU7yhpG7HKgDfOnrqWbfr3Blm1bhWoc3Ay9QbKzvIHFqVFmV0LYMyk9lIcunU5qdCA//NdBmjstl+xs7OjlzT3VrJ0VR0LE8HFaszwHtQmfigPQ6XSsWbOGf//73+zdu5d162xvJF1c14aurWfEKIA23A+9QVLn4OaXoBoHt+NIbQvNnX1m5RtM2DspbcLXy4Nnr5vNmfZeHv+g0OL5r+2soLtfz93Lh/cawDzPISzAm6lRAep5BxXF2L59O9nZ2cyaNYvt27eTmJg49iQzGOxyMMJ5JVM5qzN6LKnGwc3ILdUhBKMefjsXJZLSg2vHh3DfilQ2HjzJpkMnzZ7X0tXH376q5LIZk0iJHj481tvbS0VFBdOmTRtzvZzEcPKrmjAo3N5DZWKh1+t58sknuf766/nLX/7C//3f/+Hl5TX2RDPJLdMxPSaISSG+w76uDTcaByfkHVTj4GbklumYERdCeIC32XOUCiuZuHvZVGbFh/DY+0eobzXP/f37rkraevq5e9nIibzy8nISEhLMiunmJIXR0tVHuc720+AqKgB1dXWsWrWKbdu2kZ+fz+rV9hWr7OztZ19FE4tTR44CxIb44qERTqlYUo2DG9Ha3UdBdbNFISWAjIwMysrK6O21PC9gDp4eGn573Wy6evU88t6hMSujOnr6eXVnBRenRTNjmAoNE6MdfjsXUxM+9TCcij3YsmUL2dnZLFu2jE8//ZS4uDi732PP8UZ69YZRqw49PTTEhviqnoPK6Ow6dga9QY4YnxwJX19fkpKSOHr0qEI7g5ToQB69LI0vSnS8ve/EqNf+c281TZ193LN89PK/0dpmnEtShD8RAd7kqYfhVGygr6+PRx99lNtvv50NGzbw+OOP4+Ex+kFTa9leqsPHU8P85PBRr3OWroNqHNyI3FIdAd4ezEkYvh/8aCgdWgL49sIkFk6J4KlNRSMe+e/u0/NS7nEWTY0YrDIaCUs8ByHEoPiPioo1VFVVsXTpUg4dOkRBQQFLly5V9H65ZToumBIxqFsyEs7SdVCNg5tgUn1bODVyUDrTEpRMSpvQaAS/uW4WGiF46N2Dw2o/vJtfg66th/VjeA1gmecAMC8pnKozndS3Ob7sT8W9+eCDD5g/fz7f+MY32LRpE0qrTtY0dXJc1zGo+jYa2jB/dG09Dj/kqRoHN6HqTCcnGrtYamG+wYQjPAeAyaF+/OyqTPZWNvLqzuNnvdanN/DnbcfITghl4dTRGwbq9XpKS0tJS0sz+95zjU348tW8g4qZ9PT0cP/995+n66w0pi4HS83ocmCqWHJ0d1bVOLgJuWOovo2FUmcdhuOa7MlckhHDb7aUUnKqbXD8/f211DZ3sf7ilDEP8FVWVhIVFUVgYKDZ950RF4KPp0Y9DKdiFiZd55qamhF1nZUit1RHbIgvKdFjf76dpetglnEQQqwWQpQIIcqFEI+Oct01QggphMgZMvYj47wSIcSlQ8YrhRCHhRAHhBAj6k27KlJKHvnXIV5WUBltKLmlOhLC/UmMCLBqfmJiIq2trTQ2Kp+wFULwy6uzCPL15IF3DtDbb0BvkPxx2zEyYoNZPj16zDUsyTeY8PbUMCs+VDUOKmOyYcMGFi5cyK233sq//vWvEXWdlaBfb2BneQNLzOxyMHgQzsGew/CtLocghPAAXgRWATXAPiHERpPc55DrgoD7gT1DxjKA64FMIA74TAgxTUppCp4tl1I22OWdOJhtJTrezjuBh0awODWK9Nhgxe41ICF4hm9kT7Z6DSEEWVlZHD58WPFEG0BkoA9PfyOLu/6Rz+//W8a0mCAqGjr4443ZZv2HsDTfYCInKYyXc4/T1asfs525ysSjs7OT+++/n+3bt7N169Yx5TuV4GBNM23d/Sw2M0QcFeSDj6fG4RVL5ngO84FyKeVxKWUvsAFYO8x1TwG/AoZmA9cCG6SUPVLKCqDcuJ5bYzBIntlSQnyYHyF+Xvz0/SOKnswdTkLQGhyRlB7K6hmTuCY7nj9uO8b/fVxMSnQgqzMnmTXXGs8BBoxDv0FyQG3Cp3IOJl3nrq4us3SdlWJ7aQMaARelmGcchBDEO6F1tznGYTIwtHC9xjg2iBAiG9BKKT+yYK4Etgoh8oUQd450cyHEnUKIPCFEnk5nffdPe7LpcB3Fda08dMl0Hl2dRl5VE+8V1Ch2v9xSHZ4aMWYSdywclZQeys+uyiAmyIeTLd3cvWwqmmE6Tw6HtZ5DtrHMVxX/Gd/06w3DVsMNh5SS1157zWJdZ6XILdUxMz6UUH/zuxw4o3W3zQlpIYQGeBZ40MKpF0kps4HLgHuEEEuGu0hK+bKUMkdKmaN0eZk59OkN/HZrCWmTgrhqVhzXzo0nOyGU//fJUVo6+xS5Z26ZjuyEMIJ8bevp4siktIlgXy/+eNNcbr8omatmmXfKVEpptXEI9fcmNTpQzTuMc37xUTFLnvlizFCLSdf52WefZfv27RbpOitBc2cvh2qaLS4sccZBOHOMQy2gHfJ9vHHMRBAwA9gmhKgEFgAbjUnpEedKKU1/1gP/wU3CTe/knaDqTCcPXzodjUag0QieWjeDps5efr3V/ieQz7T3cKS21eKWGcMxY8YMjhw5gsHg2N7ws7WhPLYmA08P855Famtr8ff3Jzx89JOjI5GTpDbhG+98Vnya2uYubnxlD6dH6Oe1f//+s3SdrQlT2psvy89gkFhckp4Q7k9rd79iD6DDYc7/1n1AqhAiWQjhzUCCeaPpRSlli5QyUkqZJKVMAnYDV0kp84zXXS+E8BFCJAOpwF4hRIAxgY0QIgC4BDhi13emAF29el74vIy5iWFcnPZ1xU1mXAi3LEzizT3VHKqxb6x7Z7n5qm9jERoaSkREBBUVFTavpSTW5htM5CSG0dbdT2l929gXq7gdp1u7qWnq4htzJnOmvYebXtlDY8fXfcNMus6XXHKJ1brOSpFbqiPI15NZ8aEWzRssZ3VgaGlM4yCl7AfWA1uAYuAdKWWhEOJJIcRVY8wtBN4BioDNwD3GSqUYYKcQ4iCwF/hISrnZtreiPH/bVcnp1h4eWZ12nmv6wCXTiAz04afvHzE7FmoO20t1hPl7kRk3coM6S3BGaMlSrA0pmcgxHoZTm/CNTwqMIcNvL0rilW/Po7qxk1te20Nrdx9NTU1cc801Nus6K4Gpy8FFKZFme9Em4p2g62DWDqWUH0spp0kpp0opnzaOPS6l3DjMtcuMXoPp+6eN86ZLKT8xjh2XUs4yfmWa1nRlWrr6+NO2YyybHjVso6xgXy9+cnk6B2ta2LCv2i73HJQQTI0aVkLQGhxdsWQNtnoOCeH+RAb6qH2Wxil5VU34eGrIiA1m4dQI/nzTXI7WtbH28deZPWcOWq3WZl1nJSivb6eupduqKIAzdB3UE9Jm8pfc47R09fHQJdNHvGbt7DgWTAnnmc0lnGnvsfmeR08ZJQTN6L9iLs6oWLIUc6RBR0MIwbykMPZVqhVL45H8qiZmxYcO9hhbOi2SJd27yH3xEZLX3M0zv33WJl1npTBprY+m3zASIX5eBPt6OrScVTUOZlDf1s2rOyu4clbcqPoDQgieWjuDjp5+frXZ9uR07uCHyX5VWq7uOUgpbfYcYEBXuqapa8RkpYp70t2np/BkC9nGjr4mXeejuz/nhQ0fUxmYyX3/3E+/3rFFF+aQW9bAlKiAwRCRpTi6nFU1Dmbw4n/L6dUbeGDV2HKVqTFB3HZRMu/k1dhcaz+WhKA1TJs2jZqaGjo7Hd8f3hx0Oh0Gg4GYmBib1lHFf8Ynh2tb6NNL5iaGsW3bNubMmTOo63zPlQv52ZUZbCk8zQ//dcilqtW6+/TsOX7GpoOsji5nVY3DGJxo7OStvdVcl6MlOdK8vkb3rUglNsSXx94vtPoJpqtXz76KJruUsA7Fy8uL6dOnU1hYaNd17UVxcTEZGRk216JnxgXj66VxiPhPY0evU8RYJiL5VU1Ig57P3vwDN9xwA6+88spZus7fvTCZhy6Zxr/31/L4xiNjqhI6ir0VjfT0G8zqwjoS2nA/apq6HPaeVOMwBr/7tBSNENy/ItXsOQE+nvx0TQbFda38fXeVVffdXXGGXr3BriElE64cWrI132DCy0PDbG2o4p6DwSD5zut7+eafd9m1Sk1leHIPlNL675+zb9eXI+o637M8he8tncI/dlfz/zYfdQkDsaNMh7eHhgumWHd2BwbCSj39BnRttuczzUE1DqNQcqqN/xyo5TuLkiwO7Vw2YxKLUyN5dmsp9VbEvXPNlBC0BldOSps8B3uQkxhOUV0rHT39dllvON4rqOFQTQunWrvZW6EmwJVk8+bNvPvYTaRnLxhV11kIwaOr07hpQQIvbT/OH7c5pnPyaOSWNjAvOQx/7zF7nY6Io7uzqsZhFH6ztYRAb0/uWjrV4rlCCJ5cO4OefgO//LjY4vm5peZJCFqDK591sEcy2sTcpDD0BslBhZrwtff088yWErImh+Dn5cGmQycVuc9Ex6TrfOtttxNx5cOsf/DRMXWdhRA8edUMrp4zmV9vKeGvXzrv4Oeplm5KTrfZ3DjT0boOqnEYgfyqJj4tOs33lk4hLMD8BllDSY4M4HtLp/D+gZPsOnbG7Hm1zV0cM1NC0BpMYSVXcLfPxdYDcEPJTghDCBTrs/THL8rRtfXw5NpMVmbE8MmRUy5ZJePODNV1/sXfPsI3IWtM7XETGo3gmWtncmlmDD//sIh3806MPUkBTEJdtoaIHX0QTjUOwyCl5NdbjhIZ6M13L0y2aa27l6UQH+bH4x8coc/MXxw7Sm1TfRuLSZMmIYTg1KlTiqxvLS0tLbS0tKDVase+2AxC/LyYHhOkyHmH6jOdvLKzgm/MmcychDDWzIylsaOXryx4CFAZnffff5/58+dz9dVXs2nTJsrbNAT5eJJqhnqaCU8PDS/cMIfFqZE88t4hPjpUp+COhye3VEdUkA/psbZ1gvX18iAqyEcNKzmTHWUN7D7eyPrlKQT4WB8jBPDz9uDnV2ZSVt/OazvNc21zy3RMCva16D+BJZiEf1wttFRcXExaWppdNXznJoaxv7rZ7sniX35cjIcQPLJ6QON66bQognw81dCSHejp6eG+++7jBz/4AR988AEPPfQQGo2Ggqom5iSGmd323YSPpwcv3TyX7IQwvv/2fr44Wq/Qzs9Hb5DsLG9gcWqkXbrBah2o66Aah3MYEPI5SnyYHzdckGCXNVdmxLAyPZrnPy+jrmX0H6zeINlZ1sCSafb5MI2EKyal7ZlvMJGTFEZ7T/9ZWta2suvYGTYXnuLuZVMHCxV8vTxYlRnD5iOn6O1XQ0vWUlZWxqJFi6itrT1L17m1u4+S023MTbBOztPf25PXvjuP6ZOCuOsf+ew+7hgP73BtC82dfTaVsA7FkQfhVONwDp8cOcWR2lZ+sHIaPp72Swb/7MpM9AbJU5uKRr3uYE0zrd39ipSwDsUVk9L2zDeYyEkcqPayl/iP3iB5clMRk0P9uGPJlLNeu3JmHK3d/ewocw1RKnfjn//8J4sWLRpW1/lAdTNSft1U0RqCfb1449YLSAj357a/7nOIWuCOUh3CAtW3sdCG+VPX0u2Q3JZqHIbQbxTymRYTyLo51us1D4c23J/1y1P4+PCpwbYYw5Fr5w/TSLhiWEkJzyE+zI+YYB/22em8w9v7TlBc18qPLk87r5LswpRIQvy82OSEuLY709nZyR133MHPfvYztm7dyj333HOe15xX1YRGwCytZa2uzyU8wJt/3H4BEYE+fPu1vRw91WrTemORW6ZjRlwIEYH26fWkDfdDb5DUtSjfFkY1DkP4V34Nxxs6eOiS6XbrgjqUO5dOITkygJ9tLKSnXz/sNSYJQWsrpMwlMzOT0tJS+vocJx4yFkp4DkIIchLD7dKhtaWrj99uLWF+UjhXZMWe97q3p4bLZkxia+EpuvuG//mqnE1hYaFZus4FVU2kTQom0MYcIEBMsC9v3n4Bvl4abnplLxUNHTavORyt3X0UVDfbtcuB1oEVS6pxMNLdp+f5z8uYkxDKqgzb+vqMhI+nB09clUlFQwcvbz9+3ustXX0cONHMUoVKWIfi7+9PfHw8paWlit/LHDo7O6mrq2PKlCljX2whcxPDqG3uGjPfMxa//7yMxs5eHr9y5PYea2bG0dGrZ1uJ45Ke7ohJ13nZsmVj6jrrDZL91U1ml7CagzbcnzdvvwCDlNz0yh5Fftl+VX4GvUHafL5hKI5s3a0aByP/2F1FXUs3D186XdFE8JJpUVyeNYk/fFF+3gfyq/IGDBIWK1TCei6ulHcoKSkhJSUFT0/bnwzPZZ4dmvAd17Xz168quW6udtTOvAumhBMR4M2HamhpRNra2rjpppvM1nUuOdVGR6/ersYBICU6iDdunRtCBrEAACAASURBVE9bdx9rfr+T/x49bdf1c8t0BHh7MMfKJPpwxIb44qERDqlYUo0D0Nbdx4tflLM4NZJFU5V/av/pmgw8NIInPjy7+V1umY4gH09m2xhXNRdXqlhSIt9gIj02CH9vD/JsOO/w9EfF+Hp58NClI+t5wEBd/WVZk/i8+LSibTvclYKCArKzswkICDBb1zm/esCo29s4AMyYHMLG9RcRF+rHrX/N4zdbSuxS9iylJLdUx8KpkYO6E/bA00NDXKiv63gOQojVQogSIUS5EOLRUa67RgghhRA5Q8Z+ZJxXIoS41NI1HcFfdlTQ1NnHDy9Nc8j9YkP8uH9FKp8V1/NZ0cDTysCHqYFFKRF4WSghaC2ulJRWIt9gwtPUhM/KvENuqY7Pj9Zz78UpRAWNnVi8cmYc3X0GPndgPb2rI6XkD3/4A5deeilPPfWURbrOBVVNRAX5EB/mp8jekiID+M/di/hWjpY/fFHOza/usbm5XUVDBzVNXSy1c1dlGMg7VLtCzkEI4QG8CFwGZAA3CCHOM/dCiCDgfmDPkLEM4HogE1gN/FEI4WHumo6gob2HV3cc5/KsSWTF20en2RxuvSiZ1OhAfv5hIV29eo43dFDb3KV4CetQJornAJCTGEZxXSvtFj7N9+kNPLWpiMQIf75zYZJZc+YlhRMT7MOmg+qBOGBQ1/n1119n165dXH/99RbNz69qYm5CmKLhXl8vD3517UyeuXYm+VVNXPHCDpsaKe4oawCU6XIwoOvgGmGl+UC5Ufe5F9gArB3muqeAXwFDa6zWAhuklD1Sygqg3LieuWsqzotflNPdb+DBUeQ/lcDLQ8OTa2dQ09TFH7eVD5a32uuwjDkkJyfT2NhIc7Py9d5joaTnAAPiPwY5UC9vCW/urqKsvp2fXJ5u9rkXjUZweVYs20p0tHa7TjWYM9i9ezdzbNB1rm/rprqxU5GQ0nBcl6PlP3dfiL+3Bzf8ZTd/yT1uVQ+y3FIdiRH+JEaYpwFjCdpwPxrae+jqVbYizhzjMBkY2rGqxjg2iBAiG9BKKT8yc+6Yaw5Z+04hRJ4QIk+ns+/hopqmTt7cXc212fFMjVKmVcVoLJwawbrZcby0/Tjv5NWQHBkwWI3gCDQaDZmZmU73Hnp7e6moqGDatLGV9qxlTkIoGoFFfZaaOnr53WdlXJgSYXEF25Wz4ujVG/i00L5JTnfBYDDwzDPPsHbtWp577jmef/55q3SdC6oGjHm2g4wDQEZcMBvvvYhV6TE8/XExd/0j3yIj39tvYJeNqm+jYfodUaNw3sHm4LYQQgM8Czxo+3bOR0r5spQyR0qZExVl33/s5z8rAwH3rzRfyMfe/PiKdHw8NRTXtSrWhXU0XCG0VF5eTkJCgqKi8EG+XkyfFGzReYfnPiulrbuPx9dkWhzSmKMNZXKo34TstaTT6bjiiit4//332bdvH+vWrbN6rYLqJrw9NMyYHGzHHY5NsK8Xf7opm8euSOez4nqu/P1OCk+2mDU3r6qRzl69Yo0z4x2k62COcagFhrbJjDeOmQgCZgDbhBCVwAJgozEpPdLcsdZUnLLTbbxXUMMtCxKJC1Um0WUO0UG+PHjJwBPzsunRDr+/KySllc43mMhJDGN/dZNZrQdKT7fxjz3V3HhBItMnWd5NUwjBmpmx7ChroKmj15rtuiUmXefZs2ezfft2EhJs60+WX9VEVnyIXVvZmIsQgtsXT2HDnQvo7tNz9R+/4p19Y7f9zi1twFMjWDg1QpF9OUrXwRzjsA9IFUIkCyG8GUgwbzS9KKVskVJGSimTpJRJwG7gKillnvG664UQPkKIZCAV2DvWmo7gt1tL8ff25O7llsVAleDbi5L4110LWTbdcfkGE67gOSidbzCRkxRGR6+eo2M04ZNyoAdWgLcHP1hlfajryllx9BskWwpdqzW6Euj1ep544gluuOEGXn311bN0na2lp1/P4ZoWh+UbRmJeUjgf3beYnKQwfvjeIR5+9+Co8f7cUh3ZiWF2Oc09HFGBPvh6aRQ/JT2mcZBS9gPrgS1AMfCOlLJQCPGkEOKqMeYWAu8ARcBm4B4ppX6kNW17K+Zz8EQzmwtPcfviZMIVblNhDkIIcpLCFa3GGImsrCwOHz6MweC8TqIO8xwGD8ONnnf4vLieHWUNfH/lNJs+H5lxwSRF+I/7XksnT55k5cqVbN++nfz8fC699NKxJ5nBkdpWevUGpxsHgMhAH9649QLuvTiFd/Nr+MYfvxy27YaurYeiulZFC0uEEMSHKd+d1aycg5TyYynlNCnlVCnl08axx6WU5z3tSymXGb0G0/dPG+dNl1J+MtqajuKZLUcJD/Dm9sX2b9XgboSHhxMcHExVVZXT9lBUVOQQz2FyqB+xIb6jnnfo7Tfw9MfFTI0K4OaFiTbdbyC0FMdXxxocJgrvaDZv3szcuXNZvnz5qLrO1mDqpJttxxPGtuChETx4yXRe/+48TrV2c9Xvd7L5yNmGf2e5UahL4ZJ0R+g6TLgT0ruOneHL8jPcszxFMbfP3XBmaEmv11NWVkZammMOIM5NDBs1Kf23ryqpaOjgp2sy7HIY8cpZcRgk5/0ScXf6+vp45JFHuP3229mwYQOPP/74mLrOlpJf1URihL9ZBw8dyfLp0Wy69yKmRAVw1z8K+MWmokGVx9zSBiICvMmMUzaB7ghdhwlnHHLLdHh5CG60k5DPeMCZPZYqKiqIiooiMNAxpcTzksKpa+mmtvn8p66G9h5e+LyM5dOj7FYcMH1SEKnRgeOq11JlZSVLlizh8OHD7N+/n6VLl9r9HlJK8quarRb3UZr4MH/euWshtyxM5JWdFdzw8m7qWrrYUabjotRIi9XqLEUb5k9bdz8tncqdo5lwxqFC14E23P+8XvwTGWdWLBUXFzsk32DCFL8eLu/w260ldPXpeWyNffezZmYc+yobOeWAHvxK85///If58+dzzTXXsGnTJuxdXm7iRGMXDe09Dj3fYCk+nh48uXYGz18/m6K6Vi55NpeG9l7FQ0owpGJJQe9hwhmHyjMdTIm0/6lFd8aZYSVH5RtMpE0KIsDb47wOrYUnW9iw7wTfXpRk9wORa2bFIiV8dNh9vYfu7m7uvfdeHnjgATZu3Dio66wU+dUDxtsVktFjsXb2ZDauv5CYEF+8PASLFeindC7xDtB1mFDGwWCQVDR0kKwah7OYPn06lZWVdHU5Rrh8KI72HDw9NMxJCDsrKS2l5MkPiwjz9+a+FfY/EDk1KpCM2GC3PRBn0nU+efLkWbrOSpJf1USgjyfTYiw/Y+IMUqKD+HD9RWz5/hKig3wVv58jdB0mlHGoa+2mp99AcqTjW2W4Mt7e3qSmplJcXOzwezuqjHUoOUlhlJxqHWyJsPnIKfZUNPLAqmmE+NlWmz8Sa2bFsr+62SEKXvbkrbfeYtGiRdx+++3n6TorSX5VM3MSQhVRZFQKP28PpjioDU+InxfBvp6KVixNKONQoRuoS1Y9h/NxRlJaSumwA3BDyUkcaMK3v7qZ7j49T39cTNqkIK6fpx17spVcOXOgxNNdQkudnZ3cfvvt/PznP2fr1q3cfffdDjuH09bdR8mpVpcpYXVVlK5YmljGoaEdgClRqnE4F2ckpWtqaggMDHTY06iJ2cYmfPmVjby6s4Kapi4eX5OBp4I6Gtpwf2ZpQ/nQDdp4FxYWMm/ePLq7u0fVdVaKgydaMEj3yDc4k4HW3apxsAvHGzrw9/Yg2sXqpl0BZ3gOzvAaAAJ9PEmPDWZr0Wle/KKcSzNjWJSifBLxypmxFJ5sVUzQ3laklLz66qssXbqUhx56aFRdZyXJr2pCiAEjrjIy2nA/apq6rGopbg4TyjhUNnSQFBHglDYVro4zKpackW8wMS8pnKOn2ujXS35yuWP2cHlWLIBLigC1trZy44038txzz5GbmzumrrOS5Fc3MT0miGBfZfI/4wVtuD89/QbFTt9PKONQ0dBBshpSGpa4uDj6+vo4fdpx+gPO8hzg65DFrRclkxDhGA2NuFA/5iWF8aGLVS0VFBQwd+5cAgMD2bNnj9MMNgxUFO6valJDSmagdMXShDEOvf0GTjR1qWccRkAI4XDvwZmew6qMGB67Ip37Vji2K++amXGUnm6n9PTonWEdgZSS3//+91bpOitFWX07bT39qnEwA63xrINSetITxjicaOpEb5BqpdIoODIpLaV0+AG4ofh6eXD74in4ezu2v9ZlWZPQCOeHlpqamrj66qv561//apWus1LkVbnP4TdnEx+mrK7DhDEOahnr2DjSc9DpdEgpiYmxTH7T3YkO8mXBlAg+PFSnWCJxLHbt2sWcOXNITEy0StdZSfKrmogM9CbBgXK57oqv10BxjVIVSxPHODSoxmEsHFmxZMo3TMTigDUz46ho6KDwZKtD72vSdV63bh3PPfcczz33nKLSrNZQUNVEdkLYhPxcWIOSZx0mjnE400GYvxeh/s4X93FVMjMzKS4upr+/X/F7OTPf4GxWz5iEh0Y4VASovr6eyy+/nA8++MBmXWelaGjvofJMpxpSsgAldR3MMg5CiNVCiBIhRLkQ4tFhXr9LCHFYCHFACLFTCJFhHPcWQrxufO2gEGLZkDnbjGseMH4pKqBcoVN7Ko1FYGAgcXFxlJeXK34vZ1YqOZvwAG8uSolk06GTDgktbdu2jezsbObMmcO2bdts1nVWigJjvyvVOJiPNtyfupauQT0JezKmcRBCeAAvApcBGcANpl/+Q3hLSpklpZwNPAM8axy/A0BKmQWsAn4rhBh6zxullLONX/U2vpdRGWi4p/ZUGgtHJaUnsucAsGZmLDVNXRw40azYPfR6PT//+c/tquusJPnVTXh5CGZMDnH2VtwGbZg/Bgl1zfZvB2+O5zAfKJdSHpdS9gIbgLVDL5BSDg2eBgCmx6EM4L/Ga+qBZiDH1k1bSkdPP6dau9W2GWbgqKT0RPYcAC7JnIS3h0ax0JJJ1zk3N5eCggK76TorSUFVEzMmh6haKxYQr6CugznGYTJwYsj3NcaxsxBC3COEOMaA53CfcfggcJUQwlMIkQzMBYZ2N3vdGFL6qVAwA1V5ZiAZnRShGoexcERSuqWlhZaWFrRa5RrduTohfl4smRbFR4fqMBjsG1o6V9c5NjbWrusrQW+/gYM1LS6r/OaqaBXUdbBbQlpK+aKUcirwCPCYcfg1BoxJHvAc8BWgN752ozHctNj4dfNw6woh7hRC5Akh8nQ6nVV7UyuVzMcRYaXi4mLS0tIUFYtxB66cFcup1u6ztCVsoa+vjx/+8Ifccccdiuk6K0XhyRZ6+w1qvsFCYkN88dAIp3kOtZz9tB9vHBuJDcA6ACllv5TyB8acwlogFCg1vlZr/LMNeIuB8NV5SClfllLmSClzrJUkrDQah6RItXZ6LKZOnUp9fT2trcqVWU70fIOJFekx+Hhq7CICZNJ1PnLkCAUFBYroOitJvtFAurIsqCvi6aEhLtRXkYolc4zDPiBVCJEshPAGrgc2Dr1ACDFUPusKoMw47i+ECDD+fRXQL6UsMoaZIo3jXsAa4IjN72YEjjd0EBvi6/DTsO6Ih4cHmZmZHDmi2I9jwucbTAT6eLIiPZqPD9fRb0O1iaN0nZWkoLqJ+DA/YoKVV1Ebb2jDlDnrMKZxkFL2A+uBLUAx8I6UslAI8aQQ4irjZeuFEIVCiAPAA8C3jePRQIEQopiBcJMpdOQDbBFCHAIOMOCJ/MVeb+pcVGlQy1A6tKR6Dl+zZmYcDe297KlotHjuUF3nDz/8UHFdZ6WQUpJf1USO6jVYxYCug/09B7MepaWUHwMfnzP2+JC/3z/CvEpg+jDjHQwkpx1CRUMHV2S5flLOVVC6Ykn1HL5m+fRo/L092HToJBdaoClRVlbGt771LZKTk9m/fz+hoe6rfVDb3MXp1h4132Al2nA/Gtp76OrV4+dtvxyT+z1mWEhTRy/NnX2q52ABSnoOnZ2d1NXVMWXKFEXWdzf8vD1YlRHDJ0dOmX2Q6VxdZ3c2DKDmG2zF1Lq7xs6hpXEfhD+uVipZTFZWFocPH0ZKafceNyUlJaSkpODpOe4/emazZmYcHxw4yc7yBpZPH7lRQGdnJ/fddx+5ubl8+umnzJ4924G7VI78qiYCvD2YHuN41bnxQHzY17oOqXb8Nxz3nkOlahwsJioqCn9/f06cODH2xRai5hvOZ8m0SIJ8Pdl0cOQDcefqOo8XwwADxmF2QqiiGt7jGW24Mq27x/1Po6KhAw+NGHS9VMxDqdBScXGxahzOwcfTg0syJrG18BTdffqzXpNS8sorr7Bs2TKn6jorRUdPP8V1rerhNxuICvTB10tj94NwE8I4JIT746U+lViEUklpZwr8uDJXzoqlraef3NKvD3qadJ2ff/55tm/f7lRdZ6U4eKIZg1TzDbYghCBegXLWcf8b87haxmoVqufgWC5MiSTM34sPjb2WXEnXWUlMyeg5qudgEwnh9i9nHdfGQUpJZUOH2lPJCpTwHHp7e6moqCA1NXXsiycYXh4aVs+YxGdFp3j2d8+7lK6zkuRXNzEtJpAQP9ftFusODOg6dNq1Bfy4Ng6nW3vo6tOTrHZjtZj09HSOHTtGT0+P3dYsLy8nMTHR5dTHXIWlif5Uvf0kv3z+z9z73AZis1ega7Pfv7+rYTBICqqa1PMNdkAb7k9bTz8tXX12W3Nc1xMeb2gHYIoaVrIYHx8fpkyZQnFxsd0qY9R8w8js2rWLu264gRkzLsJjwU28drib1w7vBSAqyIf02GAyYoNJjw0iMy6Y5MhAPDTunX84pmuntbufbDWkZDOD5ayNXXZTuxzXxkHtxmobptCSvYyDmm84H4PBwK9//WueffZZXn75ZdauHZBKae7spaiuleK6NopOtlJc18qrx47Tpx8IG/h4akibFDRgNOIGDEdabDCBPu7zXzpfVX6zG9ohug5Z8fYRS3KfT5IVVOg68PXSMElt5mUV9tZ2KCoq4vLLL7fbeu5OfX09t9xyC21tbezbt+8s+c5Qf28WTY1k0dSvW2r09hs4pmsfNBZFda1sLjzFhn1fn0dJjPAnfdKAwbggOZwLpkQ49D1ZQn5VE+EB3urDmx0wlerbs5x1fBsHYzJa4+but7PIysri97//vd3WKy4u5qGHHrLbeu7MF198wc0338wtt9zCE088YZZ8p7enhvTYYNJjgwfHpJScau0eMBYnWwe9jS1FpwD48pGLiQv1U+x92EJ+dRPZCWHjrjzXGQT7ehHi52XXctZxbxymTxo/B4YcjT0rlvR6PaWlpaSlpdllPXdFr9fz1FNP8dJLL/HXv/7VZvlOIQSxIX7EhvhxcVrM4PjRU62sfm4Hnx+t5+YFibZu2+40dvRyXNfBN+dOXDVAe6MN97NrOeu4rVbq1xuobuxUXVYb0Gq1dHZ20tDQYPNalZWVREdHExAwcX8etbW1rFixgh07diiu6zw9JoikCH8+Kzqt2D1soUDNN9gde+s6jFvjUNPURb9BqsbBBoQQg034bGWiVyp98sknzJ07lxUrVrB161bFdZ2FEKxMj2HXsTO09/Qrei9ryK9uwlMjmGmn5KnKQN6hpqnLbprk49Y4mCqVpqhnHGzCXknpiVqpZNJ1vvPOO3nnnXf46U9/6jBd5xXpMfTqDewss057XUnyq5rInByCr5d7aFy7A9owP3r7Deja7XM2Ztwah69bdQc6eSfujb3aaExEz8Gk61xYWEhBQQFLlixx6P1zksII8fPi06J6h953LPr0Bg6eaFab7dmZeDtXLJllHIQQq4UQJUKIciHEo8O8fpcQ4rAQ4oAQYqcQIsM47i2EeN342kEhxLIhc+Yax8uFEC8IO5csVDS0E+LnRZi/eizfFuyVlJ5onsO///1v5s+fz7XXXsuHH37oFF1nLw8Ny6dH8d+jp9HbKdRgD4pOttLTb1DzDXZGO0TXwR6MaRyEEB7Ai8BlQAZwg+mX/xDeklJmSSlnA88AzxrH7wCQUmYBq4DfCiFM9/yT8fVU49dqG9/LWVQ0dJAUGaCWydnIjBkzKCwsRK/Xj33xCEgpJ4znYNJ1fvDBB/nwww958MEHnarrvDIjhqbOPgqqm5y2h3P5WvnNvRXsXI34MPvqOpjzqZ0PlEspj0spe4ENwNqhF0gpW4d8GwCYHlMygP8ar6kHmoEcIUQsECyl3C0HOkW9Aayz6Z2cQ2VDp9o2ww4EBwcTHR3N8ePHrV6jpqaGwMBAwsLG95NiWVkZixYtoq6ujv3793PBBRc4e0ssmRaFp0bwWbHrVC3lVzcxOXSg/FbFfvh6eRAd5OPQsNJkYKgkWI1x7CyEEPcIIY4x4DncZxw+CFwlhPAUQiQDcwGtcX7NWGsa171TCJEnhMjT6cxLrHX36alt7lIrleyErUnp4uLice81DNV1fvfdd11G1znY14sFUyJcqqS1oKpJ1W9QCG24/cpZ7ebvSilflFJOBR4BHjMOv8bAL/484DngK8Ci+ISU8mUpZY6UMsfcuG3lGbWnkj2xNSk9nqVBOzo6uO2223jiiSf49NNPufvuu10ulLkyPZpjug6O69qdvRVONndR19LN3ATXMJ7jjYHW3Y4LK9Uy8LRvIt44NhIbMIaIpJT9UsofSClnSynXAqFAqXF+vAVrWkSFTjUO9sTWpPR49RwKCwuZP38+vb295OXluayu84r0gZPTnxc7v2rp62Z74U7eyfhEG+5PXUsXfXqDzWuZYxz2AalCiGQhhDdwPbBx6AVCiKHqLVcAZcZxfyFEgPHvq4B+KWWRlLIOaBVCLDBWKd0CfGDzuzFyXO3GaldsDSuNN89hqK7zww8/zBtvvOHSus7acH/SJgW5RN4hv6oJPy8P0mNd99/LndGG+WOQUNfcbfNaY/ZWklL2CyHWA1sAD+A1KWWhEOJJIE9KuRFYL4RYCfQBTcC3jdOjgS1CCAMDnsHNQ5a+G/gr4Ad8YvyyCxUNHUQH+RDgRu2LXZmUlBROnjxJe3s7gYGWnRsZb5VKra2tfO973+PIkSNs377dbYzeyvQY/rT9GE0dvYQF2KffvzUUVDcxWxuKp6rprgjxQ1p3J0TYpiBo1k9ISvmxlHKalHKqlPJp49jjRsOAlPJ+KWWmMXy0XEpZaByvlFJOl1KmSylXSimrhqyZJ6WcYVxzvbSjvl2lqhttVzw9PUlPT6ewsNDiuTqdDiklMTExY1/s4ph0nYODg9m7d6/bGAYYKGnVGyTbSp0XWurs7afwZKt6vkFBEux4EG5cmu+Khg61bYadsTYpbco3uFqS1hKklLzwwgtceuml/OIXv+Cll17Cz8+9yjBnTg4hKsiHz5yYd9hT0YjeIFXjoCCxIX54aoRdKpbGXdylpbOPMx29qudgZ6xNSrt7vqGxsZHbbruNEydOsGvXLlJSUpy9JavQaAQr0qLZdKiO3n4D3p6Ofy58e+8JwgO8WZTiugJE7o6HRhAX6ke1HSqWxp3nUHFG7amkBNYmpd25bcauXbvIzs4mKSmJL7/80m0Ng4mV6TG09/Szp+KMw+9d39rNp8WnuXZuPD6earM9JRnQdVDDSudR0TBQy616DvbFFFayNDXkjslog8HAr371K9atW8cLL7zA7373O3x8fJy9LZu5MCUSXy+NUw7EvZN3Ar1BcsP8hLEvVrEJbZg/NXYIK40/46DrQCO+Tsyo2IeYmBi8vLw4efKkRfPczXOor6/n8ssvZ+PGjezbt4+rrrrK2VuyG37eHlyUEsVnxfUWG3lb0Bsk/9x7ggtTItSHNgegDfenob2Xzl7bdDzGn3E400l8mL9TYqrjHUuT0i0tLbS0tKDVuocU5BdffEF2djbZ2dls27aNhITx95S7Mj2a2uYujp5qc9g9c0t11DZ38T/zXU+udDxiasBX02Rb3mHc/QataGhXn04UwtKktLtUKun1en72s59x44038tprr/HLX/4SL6/x2er94vRoAIeGlt7cU0VkoA+rMty/nNkd0NqpnHVcGQcpJRU69YyDUlialHaHfINJ13nnzp3k5+dzySWXOHtLihId5MtsbajDTkufbO7iv0fruS4nXvXmHcSgroNqHL5G19ZDR69ePeOgEJaGlVw932DSdV65cqVDdJ1dhVUZMRysaaG+1fYWC2Px9r4TSFAT0Q4kMtAbPy8PTqhhpa9ReyopS0ZGBmVlZfT29pp1vat6DufqOj/22GMO03V2BVYYQ0ufH1X2QFy/3sCGfdUsSY0aDHWoKI8Qgvgw28tZx5VxqDAah6QI1TgogZ+fH0lJSZSUlJh1vSt6DiZd56KiIvbv3+9wXWdXYHpMEPFhfornHf57tJ7TrT38zwWq1+BoBnQdVM9hkMqGDrw9NcSFuldrA3fC3NBSZ2cndXV1JCcnO2BX5jFU13njxo1ERkY6e0tOQQjByvQYdpY30NVrvfzrWLy1t5qYYB9WpEUrdg+V4dGG+VHT2GlTyfK4Mg7HGzpIivDHQ+Pa1THujLkVSyUlJaSmpuLp6fwOLSZd54ceesgldJ1dgVUZMfT0G9hZ3qDI+icaO9lequNb8xLUDqxOQBvuT1tPPy1dfVavMa5+ahVqN1bFMddzcJV8Q2lpKQsXLqSuro6CggKX0HV2BeYlhRPk46lYaGnDvmoEcP089zjjMt6IH6xYsj60NG6Mg94gqTrTofZUUhhzPQdXyDe89dZbXHjhhdxxxx0upevsCnh7alg6PYrPj57GYLDvaek+vYG399VwcVq0GuJ1Etohug7WMm6MQ21TF316yRTVc1CUxMREWlpaaGxsHPU6Z3oO7qDr7Aqsyoihob2XAzXNdl3306LTNLSriWhnYo+DcOPGOBw3NtxLUo2Domg0GmbMmDGm9+Asz+HIkSODus75+fkuq+vsCiybFo2HRvC5nQ/EvbWnmsmhfiyd2So2SAAAFfNJREFUpiainUWwrxchfl7Kew5CiNVCiBIhRLkQ4tFhXr9LCHFYCHFACLFTCJFhHPcSQvzN+FqxEOJHQ+ZUDpmTZ/U7MFKpnnFwGGOFlnp7e6moqCA1NXXEa+yNSdd5+fLlg7rOlkqaTjRC/L2YlxTGZ0X2O+9Q2dDBzvIGrp+nVQtDnMxA627rcw5jlpIIITyAF4FVQA2wTwixUUpZNOSyt6SUfzZefxXwLLAa+CbgI6XMEkL4A0VCiH9KKSuN85ZLKe1SLlHR0EGQjyeRgc7Tx50oZGVlcfDgwRFfLy8vJzEx0WFtrofqOufm5rpEItxdWJkewy8+Kqb6jO2awwD/3FuNh0ZwnZqIdjraMH9KTlvfYNEcz2E+UC6lPC6l7AU2AGuHXiClbB3ybQBgynBJIEAI4Qn4Ab3A0GvtxvGGDpKjAtTYsgMYq8eSI/MN+fn5zJ07l5CQEPbu3asaBgsxNcOzR6+lnn497+bXsCo9hphgX5vXU7ENbbg/NU1dVhccmGMcJgMnhnxfYxw7CyHEPUKIY8AzwH3G4X8BHUAdUA38RkppymRKYKsQIl8IcedINxdC3CmEyBNC5Ol0uhE3qZaxOo6srCwKCwsxGAzDvu6IfINJ13n16tX84he/4M9//rPb6Tq7AokRAaRGB/L5UduNw+Yjp2js6FUT0S6CNtyf3n4DuvYeq+bbLSEtpXxRSjkVeAR4zDg8H9ADcUAy8KAQYorxtYuklNnAZcA9Qohh+xhIKV+WUuZIKXOioqKGvXd3n57a5i7VODiI0NBQwsLCqKioGPZ1pT2HxsZGrr76at544w12797Nt771LcXuNRFYmRHDnuONNh2YgoFEdEK4PxelTMyT566G1qjrYG3FkjnGoRYYGkCMN46NxAZgnfHv/wNsllL2SSnrgS+BHAApZa3xz3rgPwwYEquobuxESjUZ7UhGS0or6Tmcq+s8depURe4zkViZHk2/QbK9dGTPfCzK69vZU9HIDfMT0KiJaJfAVM5araBx2AekCiGShRDewPXAxqEXCCGGlqVcAZQZ/14NXGy8JgBYABwVQgQIIYKGjF8CHLHqHfB1wz3VODiOkfIOer2e0tJS0tLS7Hq/8arr7ArM1oYREeBtU0nrW3uq8fIQfDMn3o47U7GFyaEmz8G6iqUxq5WklP1CiPXAFsADeE1KWSiEeBLIk1JuBNYLIVYCfUAT8G3j9BeB14UQhYAAXpdSHjKGlv5jTB57MlDttNmqd8CQbqyqcXAYWVlZvPfee+eNV1ZWEh0dTUCA/X4W9fX13HLLLbS1tbFv375xKd/pTDw0govTotlSeIo+vQEvC3shdffpea+ghkszJxEZqBpsV8HXy4OYYB+rzzqY9SmQUn4spZwmpZwqpXzaOPa40TAgpbxfSpkppZwtpVwupSw0jrdLKb9pfC1DSvlr4/hxKeUs41emaU1rqdB1EBnoQ7Dv+JR2dEVGCivZO9/wxRdfMGfOnHGt6+wKrMyIobW7n32Vo598H46PD9fR0tWnJqJdEG2Yv6I5B5enoqFDbZvhYKZNm0Z1dTWdnWd/8OyVbxiq6/z666+Pa11nV2BxaiTenhqrDsS9uaeaKZEBLJwSocDOVGxBG+6vaM7B5TmulrE6HC8vL6ZPn05RUdFZ40VFRTYbh6G6zgUFBeNe19kV8Pf25MKpEXx+9LRFGgAlp9rIr2rify5IUM8YuSDaMD/qWqyTg3V749DW3UdDe4+ab3ACwyWli4uLbQorffLJJ+Tk5AzqOk+aNMnWbaqYycqMGKrOdFJe3272nLf2VOHtqeGabDUR7YrE2yDP6vbGobJhwGVSPQfHc662g5TSauMwVNf57bffnnC6zq7AirSB09Kfmlm11Nnbz78Larl8xiTCAtS2Na5I+qRgq+e6vXEwdWOdEqUaB0dzblK6traWgIAAwsLCLFqnsrKSxYsXT2hdZ1dgUogvWZNDzBYA2nSwjraefm5ckKjwzlSsJSs+hLzHVlo11+2NQ0VDB0JAgg3uk4p1zJw5k4MHDw7GqK3JN5h0na+77roJrevsKqxMj2H/iWYazGi58OaeKlKjA8lJtOxhQMWxWFtePC6Mw+RQP3y91BCEozHlA06dOgVYlm/o7u5m/fr1PPTQQ2zatIkHHnhgwus6uwIrM6KREv57dPSqpSO1LRysaeFGNRE9bnH7/41qwz3nIYRg1qxZlJSUAHDs2DEyMzPHnGfSdT59+jQFBQXMn2915xQVO5MRG0xciO+YoaW39lbj66XhG2oietwy5glpV0ZKSYWug29kn9ckVsVB/P3vfyciYqC+/cc//jEhISGjXi+lZN26ddx7773cdddd6lOniyGEYEV6DP/Kr6G7Tz+sR97e088H+2tZMzOOED/17Ml4xa2Nw5mOXtp6+lXPwYnExcUN/t2cslMhBIWFhapRcGFWZsTw991V7Dp2huVp50t9fnCglo5ePTeqJ6LHNW4dVlIb7rknqmFwbRZMCSfA22PYklYpJW/tqSY9NpjZ2lAn7E7FUbi3cdANGIcpkapWsIqKvfDx9GDp9Cg+Lz59norYwZoWCk+2qieiJwBubRyON3Tg5SGYHKYqgKmo2JMVaTGcbu3hyMmWs8bf2lOFv7cH62bHjTBTZbzg1sahoqGdhHB/PFRxEYeQlJQ0WKqakJDAHXfccd4169evH1Nn4Vf/v727j7Kivu84/v7M3eVp1YUV0cBKwScCFURdDW2CASUtFhX02GIAxaM9aSwIsTlSqIom/GGiHtseExNjkEJ9WK1YS1U0EZWSStDFIIioKCiwbgQKgjzI3d359o87u1733mXvInvnXvi+ztmzd37zsJ+9OzvfOzO/mfnpT5k4cWK7fnYuy3WHz8iv9yIQvLjuiy6tu/bX899v1jF2aG+O9TsgH/GK+oR0qhurH1KKw6ZNmw553meffZa1a9cexjTucKso60TVn1Tw4tuf8A/fOQOAp/9Qy/76Riac71dEHw2Kds8hDI0P/2+f3zajFSNGjCAIAoIg4JhjUgV0/PjxJBIJgiCgtLSUV155BUjtEZSXl1NSUtJ87UKT0047DUmUlJSwbdsXj5E87rjjuPTSSwGYPHkykgiCgOrq6uZpbrvttuafl0gkePDBB9mxYwfLli1jx44dBEHAxRdfzMaNGykvL2+e9sorrzzo73b77bcTBAEPP/zw4Xq7XBajBvXi7brd1H66v/lE9JDKcgZXHry7sjsyFG1x+HjXfpINofdUyuK+++5j6dKlvPrqq4RhyNKlSwGYNWsWyWSSMAw577zzGD9+fPM8e/bsoa6ujuXLl7N69Wp27drFnDlz2LBhAx999BFr1qzJeHYDpK6OXrBgAfPmzaO+vv5L00yYMIFdu3YRhiHXXXcd06ZNo6KiguHDh1NRUUEYhixevJjhw4dTVVVFY2Mjq1atYuHChWzcuDHr7zZjxgzmzJnDwoULmTRp0mF+51y6iwambsS3ZN0nrPxoJ+9+8hkTzvfuq0eLnIqDpNGS3pX0vqSZWcZ/X9IaSask/U7SoKi9VNL8aNw6SbNyXWZbvBtr6+bOnUufPn0YNmwYAOeeey4AL730El26dCEIApYvX87OnTub5+nfvz8nnHBC8zzLli3jiSeeoLKykr59+zJw4EB69crs8z5//nwSiQTXXnstiUSCMWPGNI9bv349PXv2JAgC5s6dy+efZ7+vfF1dHS+//DJBEDB06FAAnn8+86mxyWSSe+65h8WLF3P55Zcf4rvjcnXqCcdwSs8yXly3lUdXbOLYziVcepafiD5atFkcJCVIPQv6YmAQ8N2mjX+aR81ssJkNBe4C7o3a/xrobGaDgXOBv5PUL8dlHlRTcfAnwOVuxowZjBs3jjAMmTJlCmEYNo9Lf8qaJPbvP7SHkqebNGkSAwYMIAxDHn/88VanMzMeeOABwjAkDEPMjBtuuCFjukQigSTmz5//lbO53IwadCLLP9jOM2vqGHd2H8o6F/VpStcOuew5nA+8Hz33OQlUA2PTJzCz3WmDZUBT52gDyiSVAF2BJLA7l2W2ZcO2vZR1SnDCsd6DpaXrr7+e2tpaXnvtNQBWrlwJQBiGDBkyBIAFCxa0uZzx48ezZcsWamtree+999i6NfNmbJMnT6axsbH5+P9zzz3XPC6ZTNKvXz8Abr755ub2Hj16kEwmm4d79+7NzJkzaWxsBODOO+/MmieRSLBkyRKqq6uZOnVqm/ndVzdq4InUNxrJhtCfEX2UyaU49AE2pw1vidq+RNIUSR+Q2nOYFjU/CewF6oBNwD1mtiPXZUbL/Z6kGkk16SdEN27fS7+eZX4hThY33ngjF1xwAcOGDSMIAkaOHAnAFVdcwezZswmCgG7d2r7F+a233sopp5xCZWUlgwYNyjrPSSedxDXXXMPVV1+dsdzp06ezaNEigiBo3vADzJ49m3379jWfkF6xYgVhGFJaWkoQBNxxxx2tZhoxYgQLFy7k/vvv55ZbbmnHu+IOxTl9u9OjWyln9+3OwK8d+oNjXPFRW8+LlXQlMNrM/jYavhr4hpll/egmaQLwl2Y2WdI3gb8HrgV6AMtIHUo6pz3LbFJVVWU1NTUAfPvulxncp5yfTTgn19/VOXcIVm/5lO5dO9H3eH9mSrGStNLMqtozTy57DrXAyWnDlVFba6qBcdHrCcDzZlZvZluB/wWqDmGZX5JsCNm8Y5+fb3AuD4ZUdvfCcBTKpTi8Dpwuqb+kTsBVwKL0CSSdnjY4Blgfvd4EXBhNUwYMA97JZZkHs2nHPkKD/n6Ng3POdYg2ux6YWYOkqcALQAJ4yMzWSvoxUGNmi4CpkkYB9cBOYHI0+8+BeZLWAgLmmdlqgGzLzDX0F91Y/epo55zrCDn1SzOz54DnWrTNTns9vZX59pDqzprTMnO1cfseAPof73sOzjnXEYryCumN2/dSUdaJ8m5+8y/nnOsIRVsc/Mpo55zrOF4cnHPOZSi64rD3QAOf7D7gxcE55zpQ0RUHv6eSc851vKItDv28ODjnXIcp3uLg3Vidc67DFF1x+HD7XnqXd6Frp0TcUZxz7ohVdMVhw/a9ftsM55zrYMVXHLbt8Z5KzjnXwYqqODSExu7PG/yeSs4518GKqjgkG1IPjOnf028f7JxzHamoisOBhtQzj33PwTnnOlbRFYeSQFT26Bp3FOecO6IVVXFINoT0rehGaaKoYjvnXNEpqq3sgfrQeyo551we5FQcJI2W9K6k9yXNzDL++5LWSFol6XeSBkXtE6O2pq9Q0tBo3CvRMpvG9Worx4HGRi8OzjmXB20+CU5SgtTjPr8DbAFel7TIzN5Om+xRM/tlNP1lwL3AaDN7BHgkah8MPG1mq9Lmm2hmNbmGNfN7KjnnXD7ksudwPvC+mW0wsyRQDYxNn8DMdqcNlgGWZTnfjeb9SvxurM451/FyKQ59gM1pw1uiti+RNEXSB8BdwLQsyxkPPNaibV50SOk2Scr2wyV9T1KNpBrAb53hnHN5cNhOSJvZz83sVOAfgVvTx0n6BrDPzN5Ka55oZoOB4dHX1a0s91dmVmVmVYHEicd2OVyRnXPOtSKX4lALnJw2XBm1taYaGNei7Spa7DWYWW30/TPgUVKHrw6qU0lAEGTdwXDOOXcY5VIcXgdOl9RfUidSG/pF6RNIOj1tcAywPm1cAPwNaecbJJVI6hm9LgUuAdL3KrLqXFJUPW+dc65otdlbycwaJE0FXgASwENmtlbSj4EaM1sETJU0CqgHdgKT0xZxAbDZzDaktXUGXogKQwJ4EXiwrSydvDg451xeyCxbx6LCNODMs+zdt96MO4ZzzhUVSSvNrKo98xTVR/Fju5TGHcE5544KRVUcnHPO5YcXB+eccxm8ODjnnMvgxcE551wGLw7OOecyeHFwzjmXwYuDc865DF4cnHPOZSiqK6QlfQa8G3eOFnoC2+MO0YJnyk0hZoLCzOWZclOImboAW8xsdHtmKrbiUNPeS8A7mmfKjWfKXSHm8ky5OZIy+WEl55xzGbw4OOecy1BsxeFXcQfIwjPlxjPlrhBzeabcHDGZiuqcg3POufwotj0H55xzeeDFwTnnXIaCLw6STpb0sqS3Ja2VND3uTE0kJST9QdIzcWdpIqm7pCclvSNpnaQ/K4BMN0V/u7ckPSapSwwZHpK0VdJbaW0Vkn4raX30vUcBZLo7+tutlvSfkrrnM1NrudLG/VCSNT0DPu5Mkm6M3q+1ku6KO5OkoZJ+L2mVpBpJ5+c5U9bt5aGs6wVfHIAG4IdmNggYBkyRNCjmTE2mA+viDtHCvwLPm9nXgbOIOZ+kPsA0oMrMziT1zPCrYojyb0DLi4BmAkvM7HRgSTQcd6bfAmea2RDgPWBWnjNB9lxIOhn4C2BTvgORJZOkkcBY4Cwz+1PgnrgzAXcBPzKzocDsaDifWttetntdL/jiYGZ1ZvZG9PozUhu7PvGmAkmVwBjg13FnaSKpHLgAmAtgZkkz+zTeVACUAF0llQDdgI/zHcDM/gfY0aJ5LDA/ej0fGBd3JjP7jZk1RIO/Byrzmam1XJF/BmYAee/F0kqmG4CfmNmBaJqtBZDJgOOi1+XkeV0/yPay3et6wReHdJL6AWcDK+JNAsC/kPpHCeMOkqY/sA2YFx3u+rWksjgDmVktqU90m4A6YJeZ/SbOTGlONLO66PUfgRPjDJPFdcDiuEMASBoL1JrZm3FnSXMGMFzSCklLJZ0XdyDgB8DdkjaTWu/j2PMDMraX7V7Xi6Y4SDoGWAj8wMx2x5zlEmCrma2MM0cWJcA5wC/M7GxgL/k/VPIl0bHNsaQKV2+gTNKkODNlY6k+3QXTr1vSLaQOETxSAFm6Af9E6jBJISkBKkgdPrkZeEKS4o3EDcBNZnYycBPRXny+HWx7meu6XhTFQVIpqV/0ETN7Ku48wDeByyR9CFQDF0p6ON5IAGwhdYOtpj2rJ0kViziNAjaa2TYzqweeAv485kxNPpH0NYDoe14PS7RG0rXAJcBEK4wLkU4lVdzfjNb5SuANSSfFmiq1vj9lKa+R2ovP64nyLCaTWscB/gPI6wlpaHV72e51veCLQ/RJYC6wzszujTsPgJnNMrNKM+tH6uTqS2YW+6dhM/sjsFnSgKjpIuDtGCNB6nDSMEndor/lRRTOSfxFpP6Zib7/V4xZAJA0mtThysvMbF/ceQDMbI2Z9TKzftE6vwU4J1rf4vQ0MBJA0hlAJ+K/I+rHwLej1xcC6/P5ww+yvWz/um5mBf0FfIvULtBqYFX09Vdx50rLNwJ4Ju4caXmGAjXR+/U00KMAMv0IeAd4C/h3oHMMGR4jdc6jntTG7XrgeFI9N9YDLwIVBZDpfWBz2rr+y0J4r1qM/xDoGXcmUsXg4Wi9egO4sAAyfQtYCbxJ6lj/uXnOlHV7eSjrut8+wznnXIaCP6zknHMu/7w4OOecy+DFwTnnXAYvDs455zJ4cXDOOZfBi4NzzrkMXhycc85l+H96f+/jNv3PYwAAAABJRU5ErkJggg==\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"yog5EGV7yO1J"},"source":["Το scikit-klearn διαθέτει διάφορες [μετρικές](http://scikit-learn.org/stable/modules/classes.html#clustering-metrics) για την αξιολόγηση αλγορίθμων συσταδοποίησης, οι οποίες επιτελούν εξωτερική αλλά κυρίως εσωτερική. \n","\n","Υπάρχουν μετρικές που ενώ βασίζοντα στον υπολογισμό διασποράς των συστάδων (intra-cluster variance) και των παραδειγμάτων στη συστάδα (inter-cluster variance) δεν είναι ιδιαίτερα κατάλληλες για την εύρεση του βελτιστου $k$.\n","\n","Για παράδειγμα η μετρική [Calinski-Harabaz](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.calinski_harabaz_score.html):\n","\n","$$\n","CH \\left( x \\right) = \\frac{B \\left( x \\right) / \\left( x - 1 \\right) }{W \\left( x \\right) / \\left( n - x \\right)},\n","$$\n","\n","όπου $B \\left( x \\right)$ μια μετρική διασποράς ανάμεσα στις συστάδες (π.χ. το άθροισμα των τετραγώνων των αποστάσεων μεταξύ των κέντρων των συστάδεων) και $W \\left( x \\right)$ μια μετρική διασποράς μέσα στη συστάδα (π.χ. το άθροισμα των τετραγώνων των αποστάσεων ανάμεσα στα παραδείγματα της ίδιας συστάδας), μας δίνει την ακόλουθη γραφική παράσταση για διάφορα $k$:\n"]},{"cell_type":"code","metadata":{"id":"zKEsUorAyO1J","colab":{"base_uri":"https://localhost:8080/","height":284},"executionInfo":{"status":"ok","timestamp":1637645360192,"user_tz":-120,"elapsed":34614,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"c035fe90-75aa-4fe8-da48-1d06e99be64f"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","from sklearn.metrics import calinski_harabasz_score\n","\n","ch_scores = []\n","for k in range(2, 100):\n"," km = KMeans(k, random_state=77)\n"," km.fit(points)\n"," preds = km.predict(points)\n"," ch_scores.append(calinski_harabasz_score(points, preds))\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n"," \n","plt.plot(range(2, 100), ch_scores)\n","ch_k = np.argmax(ch_scores)+2\n","plt.scatter(ch_k, ch_scores[ch_k-2], color='r')\n","plt.xlim([2,100])\n","plt.annotate(\"best k\", xy=(ch_k, ch_scores[ch_k-2]), xytext=(50, 450),arrowprops=dict(arrowstyle=\"->\"))\n","print('Maximum Calinski Harabaz score for k =', ch_k)"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Maximum Calinski Harabaz score for k = 99\n"]},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"JyUPQ2XUyO1M"},"source":["# Επιπλέον παρατηρήσεις για τον kMeans\n","\n","## Eπιλογή του k με gap statistics\n","\n","Εκτός από τις μεθόδους elbow και silhouette μπορεί να χρησιμοποιηθεί και η μέθοδος [gap statistics](https://datasciencelab.wordpress.com/2013/12/27/finding-the-k-in-k-means-clustering/) (παράδειγμα σε Python)\n","\n"]},{"cell_type":"markdown","metadata":{"id":"LTJqJcGLx5I1"},"source":["### Αρχικοποίηση\n","\n","Η σωστή αρχικοποίηση των κέντρων έχει μεγάλη σημασία για το αποτέλεσμα του αλγορίθμου. Ας δούμε ένα παράδειγμα. "]},{"cell_type":"code","metadata":{"id":"Hp8siN-xyO1N","colab":{"base_uri":"https://localhost:8080/","height":281},"executionInfo":{"status":"ok","timestamp":1637645360192,"user_tz":-120,"elapsed":14,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"dd910692-7ffc-4236-9ca8-7619072e0d73"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","# Θα φτιάξουμε 3 ομάδες των 50 σημείων με κέντρα τις θέσεις (7,7), (17,7) και (17,17)\n","np.random.seed(77)\n","\n","lowb, highb, var = 2, 12, 5\n","\n","p1 = np.random.rand(50,2) * var + lowb\n","p2 = np.random.rand(50,2) * var + highb\n","\n","a = np.array([highb]*50)\n","b = np.array([lowb]*50)\n","c = np.zeros((50,2))\n","c[:,0], c[:,1] = a, b\n","p3 = np.random.rand(50,2) * var + c\n","\n","points = np.concatenate([p1, p2, p3])\n","\n","# Τοποθετούμε 3 κέντρα στις θέσεις (0,20), (1,19) και (2,18)\n","centroids = np.array([[0,20], [1,19], [2,18]])\n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","map_colors = {0:'orange', 1:'deepskyblue', 2:'orchid'}\n","color_list = ['orange', 'deepskyblue', 'orchid']\n","\n","plt.scatter(points[:,0], points[:,1], lw=0, s=30, label='data points')\n","plt.scatter(centroids[:,0], centroids[:,1], c=color_list, s=80, label='centroids')\n","plt.xlim([-1,18])\n","plt.ylim([1,23])\n","axes_scaling = plt.axis('equal')\n","plt.tick_params(axis='both', which='both', bottom=False, left=False, top=False, right=False, labelbottom=False, labelleft=False)\n","plt.title('KMeans: Centroid Initialization')"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Text(0.5, 1.0, 'KMeans: Centroid Initialization')"]},"metadata":{},"execution_count":29},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{}}]},{"cell_type":"markdown","metadata":{"id":"gPOa_k-0yO1P"},"source":["Όπως βλέπουμε, έχουμε 3 ξεκάθαρες συστάδες και 3 κέντρα. Κανονικά θα θέλαμε να πέσει ένα κέντρο πάνω σε κάθε συστάδα. Τρέχουμε μια εποχή του αλγορίθμου να δούμε πώς θα τα πάει."]},{"cell_type":"code","metadata":{"id":"n95Pr8USyO1Q","colab":{"base_uri":"https://localhost:8080/","height":281},"executionInfo":{"status":"ok","timestamp":1637645360736,"user_tz":-120,"elapsed":20,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"331d4a16-4d88-4e52-e74b-d18ea7051b6b"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","new_centroids = update_centers(centroids, points) \n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","colors = [map_colors[i] for i in assign_cluster(new_centroids, points)]\n","plt.scatter(points[:,0], points[:,1], c=colors, lw=0, s=30, label='data points')\n","plt.scatter(centroids[:,0], centroids[:,1], c=color_list, s=80, label='centroids', alpha=0.5)\n","plt.scatter(new_centroids[:,0], new_centroids[:,1], c=color_list, s=80, label='centroids')\n","plt.xlim([-1,18])\n","plt.ylim([1,23])\n","axes_scaling = plt.axis('equal')\n","plt.tick_params(axis='both', which='both', bottom=False, left=False, top=False, right=False, labelbottom=False, labelleft=False)\n","plt.title('KMeans: First step')\n","plt.arrow(centroids[2,0], centroids[2,1], new_centroids[2,0]-centroids[2,0], new_centroids[2,1]-centroids[2,1], \n"," length_includes_head=True, head_width=0.5, color='black')"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{},"execution_count":30},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{}}]},{"cell_type":"markdown","metadata":{"id":"QKwx9SssyO1S"},"source":["Η πρώτη εποχή ενημέρωσε το ένα από τα 3 κέντρα. Ας συνεχίσουμε τη διαδικασία..."]},{"cell_type":"code","metadata":{"id":"ccWyejbTyO1S","colab":{"base_uri":"https://localhost:8080/","height":281},"executionInfo":{"status":"ok","timestamp":1637645361401,"user_tz":-120,"elapsed":680,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"4baa7b54-3b37-4acb-b8a6-1b1c15ff5b4a"},"source":["# ΚΩΔΙΚΑΣ:\n","# --------------------------------------------\n","\n","centroids = new_centroids\n","new_centroids = update_centers(centroids, points) \n","\n","# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","colors = [map_colors[i] for i in assign_cluster(new_centroids, points)]\n","\n","plt.scatter(points[:,0], points[:,1], c=colors, lw=0, s=30, label='data points')\n","plt.scatter(new_centroids[:,0], new_centroids[:,1], c=color_list, s=80, label='centroids')\n","plt.xlim([-1,18])\n","plt.ylim([1,23])\n","axes_scaling = plt.axis('equal')\n","plt.tick_params(axis='both', which='both', bottom=False, left=False, top=False, right=False, labelbottom=False, labelleft=False)\n","plt.title('KMeans: N step')"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Text(0.5, 1.0, 'KMeans: N step')"]},"metadata":{},"execution_count":31},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{}}]},{"cell_type":"markdown","metadata":{"id":"AxZDpYCyyO1U"},"source":["Όσες φορές και να τρέξουμε το παραπάνω κελί, δεν θα μετακινηθούν τα κέντρα. Σχεδιάζοντας και το όριο απόφασης μπορούμε να το καταλάβουμε αυτό καλύτερα."]},{"cell_type":"code","metadata":{"id":"YMI8W1CSyO1V","colab":{"base_uri":"https://localhost:8080/","height":281},"executionInfo":{"status":"ok","timestamp":1637645361401,"user_tz":-120,"elapsed":22,"user":{"displayName":"Parask Tz","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"08609487936413149826"}},"outputId":"3cc13c40-d101-4833-f5f1-738c4f0d84e5"},"source":["# ΣΧΕΔΙΑΣΗ:\n","# --------------------------------------------\n","\n","decision_boundary = generate_perp_bisector(centroids[1:,:])\n","plt.scatter(points[:,0], points[:,1], c=colors, lw=0, s=30, label='data points')\n","plt.scatter(new_centroids[:,0], new_centroids[:,1], c=color_list, s=80, label='centroids')\n","plt.plot(range(-1,20), decision_boundary(range(-1,20)), c='black', label='decision boundary')\n","plt.xlim([-1,18])\n","plt.ylim([1,23])\n","axes_scaling = plt.axis('equal')\n","plt.tick_params(axis='both', which='both', bottom=False, left=False, top=False, right=False, labelbottom=False, labelleft=False)\n","plt.title('KMeans: Decision Boundary')"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Text(0.5, 1.0, 'KMeans: Decision Boundary')"]},"metadata":{},"execution_count":32},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{}}]},{"cell_type":"markdown","metadata":{"id":"SD9NpWgPyO1Y"},"source":["Επειδή όλα τα παραδείγματα έχουν ανατεθεί στο 1 από τα 3 κέντρα, τα υπόλοιπα 2 είναι αδύνατο να ενημερωθούν. Το πρόβλημα στην περίπτωση αυτή ήταν η κακή αρχικοποίηση των κέντρων. \n"]},{"cell_type":"markdown","metadata":{"id":"rSqcAAEPaIJn"},"source":["\n","#### kMeans++\n","\n","Η πιο γνωστή τεχνική για την αρχικοποίηση των κέντρων είναι ο [K-means++](https://en.wikipedia.org/wiki/K-means%2B%2B).\n","\n","Η συγκεκριμένη τεχνική είναι και η προεπιλεγμένη στην υλοποίηση του scikit-learn. Επίσης το scikit-learn τρέχει τον αλγόριθμο 10 φορές για διαφορετικές αρχικές θέσεις και επιλέγει το αποτέλεσμα που ελαχιστοποιεί την αδράνεια. \n"]},{"cell_type":"markdown","metadata":{"id":"FcmaY8gnaM6x"},"source":["\n","### Πολυπλοκότητα\n","\n","Η μέση χρονική πολυπλοκότητα του αλγορίθμου $K$-μέσων εξαρτάται γραμμικά από:\n","\n","- Το πλήθος των κέντρων $k$.\n","- Το πλήθος των παραδειγμάτων $N$.\n","- Το πλήθος των διαστάσεων του κάθε παραδείγματος $d$.\n","- Το πλήθος των εποχών που θα τρέξει μέχρι να συγκλίνει $i$.\n","\n","$$\n","O \\left( k \\cdot N \\cdot d \\cdot i \\right)\n","$$\n","\n","Στην πράξη ο $k$-means είναι ένας από τους **γρηγορότερους** αλγορίθμους συσταδοποίησης που έχουμε. To πρόβλημά του είναι ότι κολλάει πολύ εύκολα σε **τοπικά ελάχιστα** (όπως είδαμε πριν με την κακή αρχικοποίηση).\n","\n","Η αρχικοποίηση του αλγορίθμου με τη χρήση του k-means++ φέρει μια επιπλέον πολυπλοκότητα στο πρόβλημά μας, όμως επειδή βάζει τα κέντρα πιο στρατηγικά στο χώρο μπορεί να τερματίσει τον αλγόριθμο σε λιγότερες εποχές (πέρα από την καλύτερο συσταδοποίηση που επιτυγχάνει). Είναι προφανές πως αν τρέξουμε τον αλγόριθμο πολλές φορές (όπως κάνει το scikit-learn) για να επιτύχουμε τη βέλτιστη απόδοση, θα πάρει παραπάνω χρόνο.\n"]}]}