Μηχανική Χαρακτηριστικών για Μηχανική Μάθηση

0
Μηχανική Χαρακτηριστικών για Μηχανική Μάθηση

Καλώς ήρθατε στο Μέρος 4 του Data Science Primer μας. Σε αυτόν τον οδηγό, θα δούμε πώς μπορούμε να αποδώσουμε μηχανική χαρακτηριστικών για να βοηθήσουμε τους αλγόριθμους μας και να βελτιώσουμε την απόδοση του μοντέλου. Θυμηθείτε, από όλα τα βασικά βήματα στην εφαρμοσμένη μηχανική εκμάθηση, οι επιστήμονες δεδομένων αφιερώνουν συνήθως τον περισσότερο χρόνο στη μηχανική χαρακτηριστικών.

Το Feature Engineering είναι ο μεγαλύτερος παράγοντας ενός επιτυχημένου μοντέλου ML

Τι είναι η Μηχανική Χαρακτηριστικών;

Η μηχανική χαρακτηριστικών είναι περίπου δημιουργία νέων δυνατοτήτων εισαγωγής από τα υπάρχοντα σας. Γενικά, μπορείτε να σκεφτείτε τον καθαρισμό δεδομένων ως διαδικασία αφαίρεσης και τη μηχανική χαρακτηριστικών ως διαδικασία πρόσθεσης.

Όλοι οι επιστήμονες δεδομένων πρέπει να κατακτήσουν τη διαδικασία δημιουργίας νέων χαρακτηριστικών, για τρεις μεγάλους λόγους:

  1. Μπορείτε να απομονώσετε και να επισημάνετε βασικές πληροφορίες, οι οποίες βοηθούν τους αλγόριθμούς σας να «εστιάζουν» σε ό,τι είναι σημαντικό.
  2. Μπορείτε να φέρετε τη δική σας εμπειρία στον τομέα.
  3. Το πιο σημαντικό, μόλις κατανοήσετε το «λεξιλόγιο» της μηχανικής χαρακτηριστικών, μπορείτε να φέρετε την τεχνογνωσία άλλων ανθρώπων στον τομέα!

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

Μηχανική Χαρακτηριστικών

Εμπλουτίστε τη γνώση τομέα

Μπορείτε συχνά να δημιουργήσετε ενημερωτικές λειτουργίες αξιοποιώντας την εμπειρία σας (ή άλλων) σχετικά με τον τομέα. Προσπαθήστε να σκεφτείτε συγκεκριμένες πληροφορίες που μπορεί να θέλετε απομονώνω ή βάλτε το επίκεντρο. Εδώ, έχετε πολλή «δημιουργική ελευθερία» και «έκφραση δεξιοτήτων» ως επιστήμονας δεδομένων.

Για παράδειγμα, ας υποθέσουμε ότι εργάζεστε σε ένα μοντέλο ακίνητης περιουσίας στις ΗΠΑ, χρησιμοποιώντας ένα σύνολο δεδομένων ιστορικών τιμών που χρονολογούνται από τη δεκαετία του 2000. Λοιπόν, για αυτό το σενάριο, είναι σημαντικό να θυμάστε ότι το κρίση στεγαστικών δανείων subprime συνέβη εντός αυτού του χρονικού πλαισίου:

Μηχανική Γνώσης Τομέα και Χαρακτηριστικών
Zillow Home Values ​​(2007 – 2017)

Εάν υποψιάζεστε ότι οι τιμές θα επηρεαστούν, θα μπορούσατε να δημιουργήσετε ένα μεταβλητή δείκτη για συναλλαγές κατά τη διάρκεια αυτής της περιόδου.​ Οι μεταβλητές δείκτη είναι δυαδικές μεταβλητές που μπορεί να είναι είτε 0 ή 1. «Δηλώνουν» εάν μια παρατήρηση πληροί μια συγκεκριμένη προϋπόθεση και είναι πολύ χρήσιμα για την απομόνωση βασικών ιδιοτήτων.

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

Δημιουργία δυνατοτήτων αλληλεπίδρασης

Η πρώτη από αυτές τις ευρετικές μεθόδους είναι ο έλεγχος για να δείτε εάν μπορείτε να δημιουργήσετε κάποια χαρακτηριστικά αλληλεπίδρασης αυτο βγαζει νόημα. Πρόκειται για συνδυασμούς δύο ή περισσότερων χαρακτηριστικών.

Παρεμπιπτόντως, σε ορισμένα πλαίσια, οι «όροι αλληλεπίδρασης» πρέπει να είναι προϊόντα μεταξύ δύο μεταβλητών. Στο πλαίσιο μας, τα χαρακτηριστικά αλληλεπίδρασης μπορεί να είναι προϊόντα, ποσάή διαφορές ανάμεσα σε δύο χαρακτηριστικά.

Μια γενική συμβουλή είναι να εξετάσετε κάθε ζεύγος χαρακτηριστικών και να αναρωτηθείτε: «Θα μπορούσα να συνδυάσω αυτές τις πληροφορίες με οποιονδήποτε τρόπο που θα μπορούσε να είναι ακόμη πιο χρήσιμος;»

Χαρακτηριστικά αλληλεπίδρασης - Ενώσεις δυνάμεων

Παράδειγμα (ακίνητα)

Γνωρίζουμε ότι η ποιότητα και η ποσότητα των κοντινών σχολείων θα επηρεάσουν τις τιμές των κατοικιών. Λοιπόν, πώς μπορούμε να διασφαλίσουμε ότι το μοντέλο ML μας το ακολουθεί αυτό;

  • Ας υποθέσουμε ότι έχουμε ήδη ένα χαρακτηριστικό στο σύνολο δεδομένων που ονομάζεται ’num_schools‘δηλαδή τον αριθμό των σχολείων σε απόσταση 5 μιλίων από ένα ακίνητο.
  • Ας πούμε ότι έχουμε και το χαρακτηριστικό ‚median_school‘δηλαδή τη διάμεση βαθμολογία ποιότητας αυτών των σχολείων.

Ωστόσο, μπορεί να υποψιαζόμαστε ότι αυτό που είναι πραγματικά σημαντικό είναι έχοντας πολλές σχολικές επιλογές, αλλά μόνο εάν είναι καλές.

  • Λοιπόν, για να καταγράψουμε αυτή την αλληλεπίδραση, θα μπορούσαμε απλά να δημιουργήσουμε ένα νέο χαρακτηριστικό ’school_score‘ = ’num_schools‘ Χ ‚median_school‘

Αυτό το νέο ’school_score‘ χαρακτηριστικό θα είχε υψηλή τιμή (σχετικά) μόνο εάν και τα δυο πληρούνται αυτές οι προϋποθέσεις.

Συνδυάστε Αραιές Τάξεις

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

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

Ωστόσο, ως α εμπειρικός κανόνας, συνιστούμε να συνδυάσετε τις τάξεις έως ότου η καθεμία έχει τουλάχιστον ~50 παρατηρήσεις. Όπως με κάθε εμπειρικό «κανόνα», χρησιμοποιήστε αυτόν ως κατευθυντήρια γραμμή (όχι στην πραγματικότητα ως α κανόνας).

Ας ρίξουμε μια ματιά στο παράδειγμα ακινήτων:

Πριν από την ομαδοποίηση αραιών τάξεων

Για να ξεκινήσουμε, μπορούμε να ομαδοποιήσουμε παρόμοιες τάξεις. Στο παραπάνω διάγραμμα, το εξωτερικοί_τοίχοι χαρακτηριστικό έχει αρκετές κλάσεις που είναι αρκετά παρόμοιες.

  • Μπορεί να θέλουμε να ομαδοποιήσουμε 'Wood Siding', 'Wood Shingle'και 'Wood' σε μια ενιαία τάξη. Στην πραγματικότητα, ας τα χαρακτηρίσουμε όλα ως 'Wood'.

Στη συνέχεια, μπορούμε να ομαδοποιήσουμε τις υπόλοιπες αραιές κλάσεις σε ένα single «Άλλη» τάξηακόμα κι αν υπάρχει ήδη μια τάξη ‚Άλλο‘.

  • Θα ομαδοποιούσαμε 'Concrete Block', 'Stucco', 'Masonry', 'Other'και 'Asbestos shingle' σε ακριβώς 'Other'.

Δείτε πώς φαίνονται οι διανομές κλάσεων αφού συνδυάσουν παρόμοιες και άλλες κλάσεις:

Μετά την Ομαδοποίηση Αραιών Τάξεων

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

Προσθήκη εικονικών μεταβλητών

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

Ψευδικές μεταβλητές είναι ένα σύνολο δυαδικών (0 ή 1) μεταβλητών που η καθεμία αντιπροσωπεύει μια κλάση από ένα κατηγορικό χαρακτηριστικό. Οι πληροφορίες που αντιπροσωπεύετε είναι ακριβώς οι ίδιες, αλλά αυτή η αριθμητική αναπαράσταση σάς επιτρέπει να περάσετε τις τεχνικές απαιτήσεις για αλγόριθμους.

Στο παραπάνω παράδειγμα, μετά την ομαδοποίηση των αραιών κλάσεων, μας έμειναν 8 κλάσεις, οι οποίες μεταφράζονται σε 8 εικονικές μεταβλητές:

Dummy Variables
(Η στήλη 3 απεικονίζει ένα παράδειγμα παρατήρησης με τοίχους από τούβλα)

Αφαιρέστε τις αχρησιμοποίητες λειτουργίες

Τέλος, θα πρέπει να αφαιρέσουμε τα αχρησιμοποίητα ή περιττά χαρακτηριστικά από το σύνολο δεδομένων.

Αχρησιμοποίητος Τα χαρακτηριστικά είναι εκείνα που δεν έχουν νόημα να περάσουν στους αλγόριθμους μηχανικής εκμάθησης. Τα παραδείγματα περιλαμβάνουν:

  • στήλες ID
  • Λειτουργίες που δεν θα ήταν διαθέσιμες τη στιγμή της πρόβλεψης
  • Άλλες περιγραφές κειμένου

Περιττός Τα χαρακτηριστικά θα είναι συνήθως αυτά που έχουν αντικατασταθεί από άλλα χαρακτηριστικά που έχετε προσθέσει κατά τη διάρκεια της μηχανικής λειτουργιών. Για παράδειγμα, εάν ομαδοποιήσετε ένα αριθμητικό χαρακτηριστικό σε ένα κατηγορηματικό, μπορείτε συχνά να βελτιώσετε την απόδοση του μοντέλου καταργώντας το αρχικό χαρακτηριστικό που αποσπά την προσοχή.

Πίνακας αναλυτικής βάσης (ABT)

Αφού ολοκληρώσετε το Data Cleaning και το Feature Engineering, θα έχετε μετατρέψει το μη επεξεργασμένο σύνολο δεδομένων σας σε αναλυτικός πίνακας βάσης (ABT). Το ονομάζουμε „ABT“ επειδή είναι αυτό πάνω στο οποίο θα χτίσετε τα μοντέλα σας.

Τραπέζι πινγκ πονγκ (όχι ABT)
«Θα ζητούσε κάποιος από τον Άλεξ να κατέβει από το τραπέζι του πινγκ πονγκ; Περιμένουμε να παίξουμε!»

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

Το κλειδί είναι η επιλογή αλγορίθμων μηχανικής μάθησης που μπορούν επιλέγει αυτόματα τις καλύτερες δυνατότητες ανάμεσα σε πολλές επιλογές (ενσωματωμένη επιλογή χαρακτηριστικών). Αυτό θα σας επιτρέψει να αποφύγετε την υπερβολική τοποθέτηση το μοντέλο σας παρά το γεγονός ότι παρέχει πολλές δυνατότητες εισαγωγής. Θα μιλήσουμε για αυτό στο επόμενο βασικό βήμα της ροής εργασίας μηχανικής μάθησης: Επιλογή αλγορίθμου!

Περισσότερα για το Feature Engineering

Διαβάστε το υπόλοιπο της Εισαγωγής μας στην Επιστήμη Δεδομένων εδώ.

Schreibe einen Kommentar