Υλοποίηση αλγορίθμων ομαδοποίησης (K-Means), μείωσης διαστάσεων (PCA) και κατηγοριοποίησης-πρόβλεψης (classification) με Python.
Επίσης, στο πλαίσιο των εργασιών αυτών έγινε και οπτικοποίηση των δεδομένων.
Τα task αυτά έγιναν στο πλαίσιο εργασίας για το μάθημα "Αναγνώριση Προτύπων".
This exercise is about handwritten digit clustering and classification using the public dataset MNIST. MNIST consists of 70000 images of resolution 28 × 28 pixel, categorized in 10 classes (0-9). Each pixel has a value between 0 and 255. The dataset is split in 60000 training images and 10000 test images. All data along with their corresponding ground truth labels are available at http://yann.lecun.com/exdb/mnist/.
- Λήψη και μετασχηματισμός του MNIST dataset σε πίνακες.
- Απλοϊκή μείωση διάστασης και δημιουργίας scatter plot των δειγμάτων (με χρωματισμό τους ανάλογα με την πραγματική κλάση τους).
- Υλοποίηση και εκτέλεση του αλγορίθμου ομαδοποίησης K-Means στα δείγματα
- με αρχικά κέντρα που υπολογίζονται από τον αλγόριθμο Maximin (που επίσης υλοποιείται) και
- εκ νέου δημιουργίας scatter plot των δειγμάτων (με χρωματισμό ανάλογα με την ομάδα στην οποία κατέληξαν να βρίσκονται), και
- υπολογισμός cluster purity των ομάδων που σχηματίστηκαν.
- Υλοποίηση του αλγορίθμου κυρίων συνιστωσών (Principal Component Analysis / PCA) και
- εκτέλεση του για μείωση της διάστασης των δειγμάτων σε V = 2 διαστάσεις,
- οπτικοποίηση των δεδομένων εκ νέου μετά τη μείωση διαστάσεων (με χρωματισμό τους ανάλογα με την πραγματική κλάση τους)
- ομαδοποίηση των δεδομένων με τον αλγόριθμο K-Means (με αρχικοποίηση κέντρων με Maximin) και μετά:
- οπτικοποίηση των αποτελεσμάτων, και
- υπολογισμός cluster purity των ομάδων που σχηματίστηκαν.
- Επανάληψη του προηγούμενου για V = 25, 50, 100 και εύρεση του V με μέγιστο cluster purity.
- Υλοποίηση γκαουσιανού απλοϊκού ταξινομητή Bayes (Gaussian Naive Bayes Classifier) μετά από μείωση διαστάσεων στο μέγιστο που βρέθηκε προηγουμένως.
- Στη συνέχεια υπολογισμός της ορθότητας ταξινόμησης (classification accuracy) χρησιμοποιώντας τα δείγματα δοκιμής (test samples).
Αναλυτικό έγγραφο απαιτήσεων βρίσκεται στο τρέχον αποθετήριο με όνομα "Requirements.pdf".