Skip to content

Υλοποίηση αλγορίθμων ομαδοποίησης (K-Means), μείωσης διαστάσεων (PCA) και κατηγοριοποίησης-πρόβλεψης (classification) με Python.

License

Notifications You must be signed in to change notification settings

JohnBarakl/MNIST-pattern-recognition-tasks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MNIST-pattern-recognition-tasks

Υλοποίηση αλγορίθμων ομαδοποίησης (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/.

Σύντομη περιγραφή tasks (απαιτήσεις)

  1. Λήψη και μετασχηματισμός του MNIST dataset σε πίνακες.
  2. Απλοϊκή μείωση διάστασης και δημιουργίας scatter plot των δειγμάτων (με χρωματισμό τους ανάλογα με την πραγματική κλάση τους).
  3. Υλοποίηση και εκτέλεση του αλγορίθμου ομαδοποίησης K-Means στα δείγματα
    • με αρχικά κέντρα που υπολογίζονται από τον αλγόριθμο Maximin (που επίσης υλοποιείται) και
    • εκ νέου δημιουργίας scatter plot των δειγμάτων (με χρωματισμό ανάλογα με την ομάδα στην οποία κατέληξαν να βρίσκονται), και
    • υπολογισμός cluster purity των ομάδων που σχηματίστηκαν.
  4. Υλοποίηση του αλγορίθμου κυρίων συνιστωσών (Principal Component Analysis / PCA) και
    • εκτέλεση του για μείωση της διάστασης των δειγμάτων σε V = 2 διαστάσεις,
    • οπτικοποίηση των δεδομένων εκ νέου μετά τη μείωση διαστάσεων (με χρωματισμό τους ανάλογα με την πραγματική κλάση τους)
    • ομαδοποίηση των δεδομένων με τον αλγόριθμο K-Means (με αρχικοποίηση κέντρων με Maximin) και μετά:
      • οπτικοποίηση των αποτελεσμάτων, και
      • υπολογισμός cluster purity των ομάδων που σχηματίστηκαν.
    • Επανάληψη του προηγούμενου για V = 25, 50, 100 και εύρεση του V με μέγιστο cluster purity.
  5. Υλοποίηση γκαουσιανού απλοϊκού ταξινομητή Bayes (Gaussian Naive Bayes Classifier) μετά από μείωση διαστάσεων στο μέγιστο που βρέθηκε προηγουμένως.
    • Στη συνέχεια υπολογισμός της ορθότητας ταξινόμησης (classification accuracy) χρησιμοποιώντας τα δείγματα δοκιμής (test samples).

Εκτενής περιγραφή tasks (απαιτήσεις)

Αναλυτικό έγγραφο απαιτήσεων βρίσκεται στο τρέχον αποθετήριο με όνομα "Requirements.pdf".

About

Υλοποίηση αλγορίθμων ομαδοποίησης (K-Means), μείωσης διαστάσεων (PCA) και κατηγοριοποίησης-πρόβλεψης (classification) με Python.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages