K Nearest Neighbours

Τι είναι οι K-nearest neighbours;

Οι K-Nearest Neighbours είναι ένας εποπτευόμενος αλγόριθμος μηχανικής μάθησης που χρησιμοποιείται τόσο για εργασίες ταξινόμησης όσο και για εργασίες παλινδρόμησης. Αντιστοιχίζει μια κατηγορία ή μια αριθμητική τιμή σε ένα νέο, άγνωστο σημείο δεδομένων με βάση τις γνωστές εξόδους των σημείων δεδομένων που βρίσκονται χωρικά πιο κοντά σε αυτό μέσα σε ένα δομημένο σύνολο δεδομένων.

 

Τι αντιπροσωπεύει το "K" στον αλγόριθμο;

Το "K" αντιπροσωπεύει έναν προκαθορισμένο ακέραιο που υπαγορεύει ακριβώς πόσα γειτονικά σημεία δεδομένων πρέπει να αξιολογήσει ο αλγόριθμος όταν κάνει μια πρόβλεψη. Για παράδειγμα, εάν ένας επιστήμονας δεδομένων ορίσει το K σε 5, ο αλγόριθμος θα προσδιορίσει τα 5 πλησιέστερα υπάρχοντα σημεία δεδομένων στη νέα είσοδο. Στη συνέχεια, χρησιμοποιεί την κατηγορία πλειοψηφίας ή τη μέση αριθμητική τιμή αυτών των 5 συγκεκριμένων σημείων για να υπολογίσει την τελική έξοδο.

 

Πώς καθορίζει υπολογιστικά ο αλγόριθμος ποια σημεία δεδομένων είναι τα πιο κοντά;

Ο αλγόριθμος καθορίζει την εγγύτητα υπολογίζοντας την ακριβή γεωμετρική απόσταση μεταξύ του νέου σημείου δεδομένων και κάθε υπάρχοντος σημείου δεδομένων στο σύνολο δεδομένων. Αυτό επιτυγχάνεται συνήθως χρησιμοποιώντας τυπικές μαθηματικές μετρήσεις απόστασης, κυρίως Ευκλείδεια απόσταση, η οποία μετρά την άμεση ευθεία απόσταση μεταξύ σημείων σε έναν πολυδιάστατο χώρο, ή απόσταση Μανχάταν, η οποία μετρά την απόσταση κατά μήκος αξόνων που μοιάζουν με πλέγμα.

 

Ποια είναι η θεωρητική ταξινόμηση αυτού του αλγορίθμου;

Θεωρητικά, οι K-Nearest Neighbours ταξινομούνται ως αλγόριθμος "τεμπέλης μάθησης" και "μη παραμετρικός". Θεωρείται "τεμπέλης" επειδή δεν κατασκευάζει ένα αφηρημένο μαθηματικό μοντέλο κατά τη διάρκεια μιας ειδικής φάσης εκπαίδευσης. Αντίθετα, απομνημονεύει ολόκληρο το σύνολο δεδομένων και εκτελεί όλους τους υπολογισμούς απόστασης μόνο την ακριβή στιγμή που ζητείται μια πρόβλεψη. Είναι "μη παραμετρικός" επειδή δεν κάνει καμία υποκείμενη στατιστική υπόθεση σχετικά με τον τρόπο κατανομής των δεδομένων.

 

Ποιες γλώσσες προγραμματισμού και βιβλιοθήκες χρησιμοποιούνται για την εκτέλεση K-Nearest Neighbours;

Η Python είναι η κυρίαρχη γλώσσα προγραμματισμού για την εκτέλεση αυτού του αλγορίθμου. Οι προγραμματιστές βασίζονται στη βιβλιοθήκη μηχανικής μάθησης scikit-learn. Ανάλογα με τον στόχο, εισάγουν και χρησιμοποιούν είτε τη μονάδα KNeighborsClassifier για την πρόβλεψη διακριτών κατηγοριών είτε τη μονάδα KNeighborsRegressor για την πρόβλεψη συνεχών αριθμητικών τιμών.

 

Πώς χρησιμοποιείται η μέθοδος K-nearest neighbors στον τομέα της Επιστήμης Δεδομένων;

Στην επιστήμη δεδομένων, η KNN εφαρμόζεται συχνά σε εργασίες καταλογισμού ελλειπουσών δεδομένων και αναγνώρισης προτύπων, όπως η αξιολόγηση πιστωτικού κινδύνου. Για παράδειγμα, ένας επιστήμονας δεδομένων σε μια τράπεζα λαμβάνει μια αίτηση από έναν νέο πελάτη και πρέπει να προβλέψει την πιθανότητα αθέτησης δανείου. Ο αλγόριθμος απεικονίζει τον νέο πελάτη σε ένα σύνολο δεδομένων με βάση αριθμητικές μεταβλητές όπως το ετήσιο εισόδημα, το τρέχον ποσό χρέους και τα έτη απασχόλησης. Εάν το K οριστεί σε 15, ο αλγόριθμος εντοπίζει τους 15 ιστορικούς πελάτες με τα πιο μαθηματικά παρόμοια οικονομικά προφίλ. Εάν 12 από αυτούς τους 15 πλησιέστερους πελάτες αποπλήρωσαν με επιτυχία τα δάνειά τους, ο αλγόριθμος ταξινομεί τον νέο πελάτη ως πελάτη χαμηλού πιστωτικού κινδύνου με βάση την αυστηρή εγγύτητα.