{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"Άσκηση 09 - Αυτο-οργανούμενοι Χάρτες.ipynb","provenance":[],"authorship_tag":"ABX9TyPIzFzOHhraNCEOE0vdg7Jr"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"markdown","metadata":{"id":"QtAAIiKlDthn"},"source":["# Άσκηση 09: Χρήση των αυτο-οργανούμενων χαρτών (Solution)"]},{"cell_type":"markdown","metadata":{"id":"Pt69D_0BD71Q"},"source":["Σε αυτή την άσκηση θα χρησιμοποιήσουμε τους αυτο-οργανούμενους χάρτες για την οπτικοποίηση της πυκνότητας ενός χώρου δεδομένων 5 διαστάσεων, με τη χρήση της βιβλιοοθήκης [Somoclu](https://somoclu.readthedocs.io/)\n","\n","Ξεκινάμε εγκαθιστώντας την."]},{"cell_type":"code","metadata":{"id":"zFuv4GngC_oV"},"source":["!pip install --upgrade somoclu"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"kqEOok-zEzZj"},"source":["Στη συνέχεια, κάνουμε\n"," import τις κλάσεις και τις μεθόδους που πρόκειται να χρησιμοποιήσουμε."]},{"cell_type":"code","metadata":{"id":"wgo05-qIE14E"},"source":["from mpl_toolkits.mplot3d import Axes3D\n","from sklearn.cluster import KMeans\n","from sklearn.datasets import make_blobs\n","\n","import numpy as np\n","import matplotlib.pyplot as plt\n","import somoclu\n","\n","%matplotlib inline"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"OzLI8qXSFG1G"},"source":["Κατόπιν δημιουργούμε 1000 δείγματα (συνθετικά δεδομένα) 5 χαρακτηριστικών, τα οποία εντάσσονται σε άγνωστο πλήθος συστάδων (μεταξύ 3 και 8)"]},{"cell_type":"code","metadata":{"id":"O79B1yjmFdGe"},"source":["data, _ = make_blobs(n_samples=1000, n_features=5, \n"," centers=np.random.randint(3,9), cluster_std=0.6, \n"," random_state=0)\n","labels = range(len(data))"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"8CUknK9WFgUp"},"source":["## 1. Αρχικοποίηση και εκπαίδευση χάρτη SOM\n","\n","Αρχικοποιείστε χάρτη SOM 8 x 8 νευρώνων και εκπαιδεύστε τον στα δεδομένα"]},{"cell_type":"code","metadata":{"id":"jeVvY9MoFzbT"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"4RRer64nHcoC"},"source":["## 2. Εμφάνιση U-matrix\n","\n","Εμφανίστε το U-matrix του SOM που εκπαιδεύσατε. Πόσες συστάδες (clusters) δεδομένων παρατηρείτε;"]},{"cell_type":"code","metadata":{"id":"N6WvBRC7Hop3"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"lsdtuHM_JTis"},"source":["## 3. Χρωματισμός των νευρώνων-νικητών\n","\n","Χρωματίστε τους νευρώνες νικητές που ανήκουν στο ίδιο cluster με τη χρήση του αλγορίθμου συσταδοποίσης k-μέσων"]},{"cell_type":"code","metadata":{"id":"2o5Bfg3qJUfy"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"qU-awDtlIcfz"},"source":["## 4. Νευρώνες Νικητές\n","\n","Εμφανίστε σε ποιον νευρώνα-νικητή ανήκει το κάθε δείγμα δεδομένων. Αριθμήστε μοναδικά τα bmus"]},{"cell_type":"code","metadata":{"id":"kUF6Ey63IbsX"},"source":[""],"execution_count":null,"outputs":[]}]}