Πώς να κερδίσετε έναν διαγωνισμό Kaggle στη Data Science (μέσω της Coursera): μέρος 1/5

Πηγή: Coursera

Αυτές είναι οι σημειώσεις μου από το πρόγραμμα σπουδών 5 εβδομάδων στο Coursera, όπως διδάσκονται από μια ομάδα επιστημόνων δεδομένων και Kaggle GrandMasters.

## Εβδομάδα 1 ##

από τον Αλέξανδρο Guschin, GM # 5, Yandex, λέκτορας στο MIPT
Μιχαήλ Τρόφιμο, φοιτήτρια διδακτορικού στο CCAS

Στόχοι μάθησης

  • Περιγράψτε τους μηχανικούς του διαγωνισμού
  • Συγκρίνετε εφαρμογές πραγματικού βίου και διαγωνισμούς
  • Συγκεντρώστε τους λόγους για να συμμετάσχετε σε διαγωνισμούς επιστημονικών δεδομένων
  • Περιγράψτε κύριους τύπους αλγορίθμων ML
  • Περιγράψτε τυπικές απαιτήσεις υλικού και λογισμικού
  • Αναλύστε τα όρια απόφασης των διαφόρων κατηγοριοποιητών
  • Χρησιμοποιήστε τις τυπικές βιβλιοθήκες ML

1. Εισαγωγή και επισκόπηση μαθημάτων

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

  • Εβδομάδα 1:
    . Περιγράψτε τους μηχανικούς του διαγωνισμού
    . Συγκρίνετε εφαρμογές πραγματικού βίου και διαγωνισμούς
    . Συγκεντρώστε τους λόγους για να συμμετάσχετε σε διαγωνισμούς επιστημονικών δεδομένων
    . Περιγράψτε κύριους τύπους αλγορίθμων ML
    . Περιγράψτε τυπικές απαιτήσεις υλικού και λογισμικού
    . Αναλύστε τα όρια απόφασης των διαφόρων κατηγοριοποιητών
    . Προεπεξεργασία και παραγωγή χαρακτηριστικών σε σχέση με τα μοντέλα
    . Εξαγωγή χαρακτηριστικών από κείμενο και εικόνες
  • Εβδομάδα # 2:
    . Διερευνητική ανάλυση δεδομένων (EDA)
    . EDA παραδείγματα και απεικονίσεις
    . Ελέγξτε τα δεδομένα και βρείτε χρυσά χαρακτηριστικά
    . Επικύρωση: κίνδυνος υπερφόρτωσης, στρατηγικές και προβλήματα
    . Διαρροές δεδομένων
  • Εβδομάδα # 3:
    . Μετρήσεις βελτιστοποίησης σε έναν ανταγωνισμό, νέες μετρήσεις
    . Προηγμένη Μηχανική Χαρακτηριστικών I: σημαίνει κωδικοποίηση, τακτοποίηση, γενικεύσεις
  • Εβδομάδα # 4:
    . Βελτιστοποίηση υπερπαραμέτρων
    . Συμβουλές και κόλπα
    . Προηγμένη Μηχανική Χαρακτηριστικών II: Παραγοντοποίηση μήτρας για την εξαγωγή χαρακτηριστικών, tSNE, αλληλεπιδράσεις χαρακτηριστικών
    . Συναρμολόγηση
  • Εβδομάδα # 5:
    . Ανταγωνιστικά παραδείγματα
    . Τελικό έργο

2. Μηχανικός ανταγωνισμού

2.1. Υπάρχει μια μεγάλη ποικιλία διαγωνισμών: NLP, Time-Series, Computer Vision.

Αλλά όλοι μοιράζονται την ίδια δομή:
. Τα δεδομένα παρέχονται με περιγραφή
. Παρέχεται μια λειτουργία αξιολόγησης
. Δημιουργείτε ένα μοντέλο και χρησιμοποιείτε το αρχείο υποβολής
. Η υποβολή σας βαθμολογείται σε πίνακα κορυφαίων με σύνολα δημοσίων και ιδιωτικών δοκιμών
Το Public set χρησιμοποιείται κατά τη διάρκεια του διαγωνισμού, ο ιδιωτικός για την τελική κατάταξη
. Μπορείτε να υποβάλετε μεταξύ 2 και 5 αρχείων ανά ημέρα.

Γιατί να συμμετάσχετε σε διαγωνισμό;
. Μεγάλη ευκαιρία για μάθηση και δικτύωση
. Ενδιαφέροντα μη τετριμμένα καθήκοντα και προσεγγίσεις τελευταίας τεχνολογίας
. Ένας τρόπος για να αποκτήσετε αναγνώριση μέσα στην κοινότητα Data Science και πιθανές προσφορές εργασίας

2.2. Συνοπτική παρουσίαση

Περνώντας από έναν ανταγωνισμό Kaggle (αξιολόγηση από το Zillow στο σπίτι):
. Επισκόπηση με περιγραφή, αξιολόγηση, βραβεία και χρονοδιάγραμμα
. Στοιχεία που παρέχονται από τον διοργανωτή με περιγραφή
. Οι δημόσιοι πυρήνες που δημιουργήθηκαν από τους συμμετέχοντες, μπορούν να χρησιμοποιηθούν ως σημείο εκκίνησης, ειδικά στον ΕΟΑ.
. Συζήτηση: ο διοργανωτής μπορεί να παρέχει πρόσθετες πληροφορίες και να απαντά σε ερωτήσεις
. Πίνακας κατάταξης: δείχνει το καλύτερο αποτέλεσμα κάθε συμμετέχοντα και τον αριθμό των υποβολών. Υπολογίστηκε στο δημόσιο κατά τη διάρκεια του διαγωνισμού.
. Κανόνες
. Ομάδα: μπορείτε να δημιουργήσετε μια ομάδα με άλλους συμμετέχοντες, να ελέγξετε τους κανόνες και να προσέχετε τον μέγιστο αριθμό υποβολών που επιτρέπονται (μοναδικοί συμμετέχοντες και ομάδα)

2.3. Εφαρμογές πραγματικού κόσμου εναντίον διαγωνισμών

  • Ο πραγματικός αγωγός ML είναι μια πολύπλοκη διαδικασία, που περιλαμβάνει:
    . Κατανόηση του επιχειρηματικού προβλήματος
    . Επισημοποιήστε το πρόβλημα (τι είναι ένα spam;)
    . Συλλέξτε τα δεδομένα
    . Καθαρίστε και προεπεξεργαστείτε τα δεδομένα
    . Επιλέξτε ένα μοντέλο
    . Καθορίστε μια αξιολόγηση του μοντέλου στην πραγματική ζωή
    . Ταχύτητα συμπερασμάτων
    . Ανάπτυξη του μοντέλου στους χρήστες
  • Οι διαγωνισμοί εστιάζονται μόνο σε:
    . Καθαρίστε και προεπεξεργαστείτε τα δεδομένα
    . Επιλέξτε ένα μοντέλο

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

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

3. Ανακεφαλαιώστε τους κύριους αλγόριθμους ML

3.1. Κύριοι αλγόριθμοι ML

  • Γραμμικά μοντέλα: προσπαθήστε να διαχωρίσετε τα σημεία δεδομένων με ένα αεροπλάνο σε 2 υποπεριοχές
    ex: Λογιστική παλινδρόμηση, Μηχανήματα διάνυσμα υποστήριξης (SVM)
    Διατίθεται στο Scikit-Learn ή στο Vowpal Wabbit
  • Δέντρο με βάση: Χρησιμοποιήστε τα δέντρα απόφασης (DT) όπως τα τυχαία δάση και τα ενισχυμένα με κλίση ενισχυμένα δέντρα αποφάσεων (GBDT)
    Εφαρμόζει μια προσέγγιση "Divide and Conquer" χωρίζοντας τα δεδομένα σε υποδιαστήματα ή πλαίσια βάσει πιθανών αποτελεσμάτων
    Γενικά, τα μοντέλα DT είναι πολύ ισχυρά για πίνακες δεδομένων. αλλά μάλλον αδύναμη για να συλλάβει γραμμικές εξαρτήσεις, καθώς απαιτεί πολλές διαχωρισμούς.
    Διαθέσιμο στο Sickit-Learn, XGBoost, LightGBM
  • kNN: K-Nearest-Neighbours, αναζητά τα πλησιέστερα σημεία δεδομένων. Τα κλειστά αντικείμενα ενδέχεται να έχουν τις ίδιες ετικέτες.
  • Τα νευρικά δίκτυα: συχνά θεωρούνται ως "μαύρο κουτί", μπορούν να είναι πολύ αποτελεσματικά για εικόνες, ήχους, κείμενα και ακολουθίες.
    Διατίθεται σε TensorFlow, PyTorch, Keras

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

3.2. Αποποίηση ευθυνών

Εάν δεν γνωρίζετε πολλά για τους βασικούς αλγόριθμους ML, ελέγξτε αυτούς τους συνδέσμους πριν λάβετε το κουίζ.

  • Τυχαίο Δάσος: http://www.datasciencecentral.com/profiles/blogs/random-forests-explained-intuitively
  • Βελτίωση κλίσης: http://arogozhnikov.github.io/2016/06/24/gradient_boosting_explained.html
  • kNN:
    https://www.analyticsvidhya.com/blog/2014/10/introduction-k-neighbours-algorithm-clustering/

3.3. Πρόσθετα υλικά και σύνδεσμοι

Καλύπτει βιβλιοθήκη Scikit-Learn με kNN, γραμμικά μοντέλα, δέντρα αποφάσεων.
Plus H2O τεκμηρίωση σχετικά με τους αλγόριθμους και τις παραμέτρους.
. Vowpal Wabbit
. XGBoost
. LightGBM
. Νευρωνικά δίχτυα με Keras, PyTorch, TensorFlow, MXNet & Lasagne
https://www.coursera.org/learn/competitive-data-science/supplement/AgAOD/additional-materials-and-links

4. Απαιτήσεις λογισμικού και υλικού

4.1. Σκεύη, εξαρτήματα
Αποκτήστε έναν υπολογιστή με μια πρόσφατη GPU Nvidia, μια CPU με 6-core και 32GB RAM.
Μια γρήγορη αποθήκευση (σκληρός δίσκος) είναι κρίσιμη, ειδικά για το Computer Vision, οπότε ένα SSD είναι ένα must, ένα NVMe ακόμα καλύτερο.
Διαφορετικά, χρησιμοποιήστε υπηρεσίες cloud όπως το AWS, αλλά προσέξτε τις λειτουργικές δαπάνες έναντι ενός αποκλειστικού υπολογιστή.

4.2. Λογισμικό
Το Linux (Ubuntu με Anaconda) είναι καλύτερο, μερικές βασικές βιβλιοθήκες δεν είναι διαθέσιμες στα Windows.
. Η Python είναι το αγαπημένο σήμερα δεδομένου ότι υποστηρίζει μια τεράστια δεξαμενή βιβλιοθηκών για ML.
. Numpy για γραμμική άλγεβρα, Pandas για πλαίσια δεδομένων (όπως SQL), Scikit-Learn για κλασσικούς αλγόριθμους ML.
. Matplotlib για σχεδίαση.
. Jupyter Notebook ως IDE (Ολοκληρωμένο περιβάλλον ανάπτυξης).
. XGBoost και LightGBM για δέντρα αποφάσεων με ενισχυμένη κλίση.
. TensorFlow / Keras και PyTorch για νευρωνικά δίκτυα.

4.3. Σύνδεσμοι για εγκατάσταση και τεκμηρίωση
διαδικτυακή

5. Προεπεξεργασία και παραγωγή χαρακτηριστικών σε σχέση με τα μοντέλα

5.1. Επισκόπηση με τον Τιτανικό στο Kaggle

  • Χαρακτηριστικά: αριθμητικά, κατηγορικά (κόκκινα, πράσινα, μπλε), κανονικά (παλιά <ανακαινισμένα <νέα), ημερομηνία, συντεταγμένες, διάστημα
    διαδίκτυο
  • Παράδειγμα προεπεξεργασίας χαρακτηριστικών: μία-hot-encoding (όπως "pclass" στο Titanic)
    Μερικές φορές τα Decision-Trees (DT) δεν το απαιτούν, αλλά τα γραμμικά μοντέλα, αν το χαρακτηριστικό γνώρισμα δεν έχει σαφή γραμμική εξάρτηση (όπως το ποσοστό επιβίωσης έναντι pclass).
    Το RF (Random Forests) μπορεί εύκολα να ξεπεράσει αυτή την πρόκληση.
  • Δημιουργία χαρακτηριστικών: στην περίπτωση των προβλέψεων πωλήσεων ανά ημέρα (δηλ. Ισχυρού γραμμικού δυναμικού), μπορεί να βοηθήσει στην προσθήκη του αριθμού Week_number ή της Day_of_week.
    Αυτά μπορούν να βοηθήσουν τόσο τα γραμμικά όσο και τα μοντέλα DT.

Προεπεξεργασία χαρακτηριστικών είναι συχνά απαραίτητη.
Η δημιουργία χαρακτηριστικών είναι μια ισχυρή τεχνική.
Αλλά και οι δύο εξαρτώνται από τον τύπο μοντέλου (DT vs Linear vs NN)

5.2. Αριθμητικά χαρακτηριστικά

5.2.1. Προεπεξεργασία χαρακτηριστικών: Δέντρα λήψης αποφάσεων (DT) έναντι μοντέλων μη DT

  • Κλιμάκωση: Η DT προσπαθεί να βρει τον καλύτερο χωρισμό για ένα χαρακτηριστικό, ανεξάρτητα από την κλίμακα.
    kNN, Linear ή NN είναι πολύ ευαίσθητα στις διαφορές κλίμακας.
  • MinMaxScale
    Κλίμακα στο [0, 1]: sklearn.preprocessing.MinMaxScaler
    Χ = (Χ-Χ. Λεπτό) / (Χ.max - Χ.ιπι)
  • StandardScale
    Η κλίμακα σημαίνει = 0, std = 1: sklearn.preprocessing.StandardScaler
    Χ = (Χ-Χ.μεάνιο) / Χ

Σε γενικές περιπτώσεις, για ένα μη DT μοντέλο: εφαρμόζουμε έναν επιλεγμένο μετασχηματισμό σε ΟΛΑ τα αριθμητικά χαρακτηριστικά.

  • Υπεροχές: μπορούμε να κλιμακώσουμε για τα 1ο και 99ο εκατοστημόρια, γνωστός και ως "winsorization" στα οικονομικά δεδομένα.
  • Κατάταξη: μπορεί να είναι καλύτερη επιλογή από το MinMaxScaler σε περίπτωση παρουσίας των Outliers (και unclipped), καλό για μη DT.
    scipy.stats.rankdata
    Το Imp: πρέπει να εφαρμόζεται τόσο στο Train και Test μαζί.
  • Καταχώριση μετασχηματισμού ως np.log (1 + x) ή αύξηση στην ισχύ <1 ως np.sqrt (x + 2/3):
    Φέρνουν πολύ μεγάλες αξίες πιο κοντά. Ιδιαίτερα καλό για NN.
  • Προηγμένες τεχνικές για μη DT: συγκλίνουν τα δεδομένα που παράγονται από διαφορετικές προ-επεξεργασίες ή συναρμολογούν μοντέλα από διαφορετικές προεπεξεργασίες.

5.2.2. Δημιουργία χαρακτηριστικών: βασισμένη σε EDA και επιχειρηματικές γνώσεις.

  • Εύκολο: με τα χαρακτηριστικά Sqm και Price, μπορούμε να δημιουργήσουμε ένα νέο χαρακτηριστικό "Τιμή / τετραγωνικά"
    Ή δημιουργώντας κλασματικό τμήμα μιας αξίας, όπως 1,99 € -> 0,99. 2.49 € -> 0.49
  • Προηγμένη: δημιουργία χρονικού διαστήματος από έναν χρήστη που πληκτρολογεί ένα μήνυμα (για ανίχνευση spambot)

Συμπέρασμα: Η DT δεν εξαρτάται από την κλιμάκωση, αλλά η μη DT εξαρτάται σε μεγάλο βαθμό από αυτήν.
Οι πιο χρησιμοποιημένες προεργασίες: MinMaxScaler, StandardScaler, Rank, np.log (1 + x) και np.sqrt (1 + x)
Η γενιά βασίζεται στην EDA και στις επιχειρηματικές γνώσεις.

5.3. Κατηγορηματικά χαρακτηριστικά

5.3.1. Προεπεξεργασία χαρακτηριστικών:

Υπάρχουν τρία χαρακτηριστικά κατηγορίας στο σύνολο δεδομένων Titanic: Sex, Cabin, Embarked (όνομα θύρας)
Υπενθύμιση στα παραδείγματα ταξινόμησης κατά σειρά:
Pclass (1,2,3) όπως ταξινομήθηκε κατηγορηματικό χαρακτηριστικό ή
Τύπος άδειας οδήγησης (A, B, C, D) ή
Επίπεδο εκπαίδευσης (νηπιαγωγείο, σχολείο, κολλέγιο, πτυχίο, μάστερ, διδακτορικό)

A. Μια τεχνική είναι η κωδικοποίηση ετικετών (αντικαθιστά τις κατηγορίες με αριθμούς)
Καλό για DT, όχι για μη DT.

Για το Embarked (S για το Southampton, Γ για το Cherbourg, Q για το Queenstown)
- Αλφαβητικά (ταξινομημένα): [S, C, Q] -> [2,1,3] με sklearn.preprocessing.LabelEncoder
- Τάξη εμφάνισης: [S, C, Q] -> [1,2,3] με Pandas.factorize

- Κωδικοποίηση συχνότητας: [S, C, Q] -> [0.5, 0.3, 0.2], καλύτερη για μη DT καθώς διατηρεί πληροφορίες σχετικά με την κατανομή της αξίας, αλλά εξακολουθεί να είναι μεγάλη για την DT.

Β. Μια άλλη τεχνική είναι η κωδικοποίηση ενός καυτού, (0,0,1) ή (0,1,0) για κάθε σειρά
pandas.get_dummies, sklearn.preprocessing.OneHotEncoder
Μεγάλη για μη DT, καθώς είναι κλιμακωτή (min = 0, max = 1).

Προειδοποίηση: αν υπάρχουν πάρα πολλές μοναδικές τιμές στην κατηγορία, τότε το ένα καυτό παράγει πάρα πολλές στήλες με πολλές μηδενικές τιμές.
Στη συνέχεια, για να αποθηκεύσετε τη μνήμη RAM, ίσως χρησιμοποιείτε αραιές μήτρες και αποθηκεύετε μόνο μη μηδενικά στοιχεία (συμβουλή: αν μη μηδενικές τιμές είναι πολύ μικρότερες από το 50% συνολικά).

5.3.2. Δημιουργία χαρακτηριστικών για κατηγορηματικά χαρακτηριστικά:
(περισσότερα στα επόμενα μαθήματα)

5.4. Χαρακτηριστικά ημερομηνίας και συντεταγμένων

A. Ημερομηνία & Ώρα:

  • Η "περιοδικότητα" (αριθμός ημέρας στην εβδομάδα, το μήνα, το έτος, την περίοδο) χρησιμοποιείται για την καταγραφή επαναλαμβανόμενων μοτίβων.
  • «Χρόνος από τη λήψη του φαρμάκου ή τις τελευταίες αργίες ή τον αριθμό των ημερών που παρέμειναν πριν κτλ.
    Μπορεί να είναι ανεξάρτητη από τις σειρές στιγμές (π.χ. από 00:00:00 UTC, 1η Ιανουαρίου 1970) ή εξαρτώμενη από τη σειρά (από την τελευταία λήψη φαρμάκων, τις τελευταίες διακοπές, τους αριθμούς των ημερών που απομένουν κ.λπ.)
  • Η «διαφορά μεταξύ ημερομηνιών» για την πρόβλεψη Churn, όπως "Last_purchase_date - Last_call_date = Date_diff"

Β. Συντεταγμένες:

  • Απόσταση από το πλησιέστερο σημείο ενδιαφέροντος (μετρό, σχολείο, νοσοκομείο, αστυνομία κλπ)
  • Μπορείτε επίσης να χρησιμοποιήσετε τα Clusters με βάση τα νέα χαρακτηριστικά και να χρησιμοποιήσετε το "Distance to center coords center".
  • Ή να δημιουργήσετε συγκεντρωτικά στατιστικά στοιχεία, όπως "Αριθμός διαμερισμάτων σε περιοχή" ή "Μέση τιμή ακίνητης περιουσίας στην περιοχή"
  • Σύνθετη συμβουλή: ψάξτε για περιστροφή σε κουάρες

5.5. Αντιμετώπιση ελλειπουσών τιμών

  • Τύποι ελλειπουσών τιμών: NaN, κενή συμβολοσειρά, '-1' (αντικαθιστώντας τις ελλείπουσες τιμές στο [0,1]), πολύ μεγάλο αριθμό, '-99999', '999' κ.λπ.
  • Οι προσεγγίσεις Fillna:
    -999, -1 ή
    Μέσος & διάμεσος ή
    Το "δυαδικό χαρακτηριστικό" isnull "μπορεί να είναι ευεργετικό ή
    Ανακατασκευάστε την τιμή που λείπει αν είναι δυνατόν (καλύτερη προσέγγιση)
  • Μην γεμίζετε NaNs πριν από την παραγωγή χαρακτηριστικών: αυτό μπορεί να μολύνει τα δεδομένα (π.χ. "Χρόνος από" ή Συχνότητα / Κωδικοποίηση ετικετών) και βιδώστε το μοντέλο.
  • Το XGboost μπορεί να χειριστεί το "NaN", για να το δοκιμάσει.
  • Επεξεργασία Τιμές δοκιμής που δεν υπάρχουν στα δεδομένα τρένων: Η κωδικοποίηση συχνότητας στο Τρένο μπορεί να βοηθήσει καθώς θα αναζητήσει και την συχνότητα σε δοκιμή.

6. Εξαγωγή χαρακτηριστικών από κείμενο και εικόνες

6.1. Τσάντα λέξεων (BOW)

Πηγή: Coursera

Για τον Τιτανικό, μπορούμε να εξαγάγουμε πληροφορίες / μοτίβα από τα ονόματα των επιβατών, όπως τα μέλη της οικογένειας / τα αδέλφια τους ή οι τίτλοι τους (Λόρδος, Πριγκίπισσα)

Πώς να κάνετε: sklearn.feature_extraction.text.CountVectorizer
Δημιουργεί 1 στήλη ανά μοναδική λέξη και μετρά την εμφάνισή της ανά σειρά (φράση).

Α. Προεπεξεργασία κειμένων

  • Μικρό χαρτί: Πολύ-> πολύ
  • Λεμματοποίηση: δημοκρατία, δημοκρατία, εκδημοκρατισμός -> δημοκρατία (απαιτεί καλό λεξικό, σώμα)
  • Stemming: δημοκρατία, δημοκρατία, εκδημοκρατισμός -> δημοκράτης
  • Stopwords: απαλλαγείτε από άρθρα, προθέσεις και πολύ συνηθισμένες λέξεις, χρησιμοποιεί το NLTK (Natural Language Tool Kit)
    'Sklearn.feature_extraction.text.CountVectorizer' με max_df

Β. Ν-γραμμάρια για ακολουθίες λέξεων ή χαρακτήρων, μπορεί να βοηθήσει στη χρήση τοπικού περιβάλλοντος
'Sklearn.feature_extraction.text.CountVectorizer' με Ngram_range και αναλυτή

C. TFiDF για μεταγενέστερη επεξεργασία (απαιτείται για την κλιμάκωση χαρακτηριστικών για μη DT)

  • TF: Συχνότητα όρου (σε% ανά σειρά, άθροισμα = 1), ακολουθούμενη από
  • iDF: Αντίστροφη συχνότητα εγγράφων (για την ενίσχυση σπάνιων λέξεων έναντι συχνών λέξεων)
    'Sklearn.feature_extraction.text.TfidfVectorizer'

6.2. Χρήση διανυσμάτων Word και ConvNets

A. Φορείς λέξης

  • Το Word2vec μετατρέπει κάθε λέξη σε κάποιο φορέα σε ένα χώρο με εκατοντάδες διαστάσεις, δημιουργεί ενσωματώσεις μεταξύ των λέξεων oftn που χρησιμοποιούνται μαζί στο ίδιο πλαίσιο.
    Βασιλιάς με τον άνθρωπο, Βασίλισσα με τη γυναίκα.
    Βασιλιάς-Βασίλισσα = Άνδρας-Γυναίκα (σε μέγεθος φορέα)
  • Άλλοι Διανύσματα Word: Γάντι, FastText
  • Προτάσεις: Doc2vec

Υπάρχουν προπλασμένα μοντέλα, όπως στη Wikipedia.
Σημείωση: η προεπεξεργασία μπορεί να εφαρμοστεί ΠΡΙΝ από τη χρήση του Word2vec

Β. Συγκρίνοντας BOW vs w2v (Word2vec)

  • BOW: πολύ μεγάλοι φορείς, που έχουν σημασία για κάθε τιμή στον φορέα
  • w2v: μικρότεροι φορείς, τιμές σε φορέα που ερμηνεύεται σπάνια, λέξεις με παρόμοιο νόημα έχουν συχνά παρόμοιες ενσωματώσεις

Γ. Γρήγορη εισαγωγή στην εξαγωγή λειτουργιών από εικόνες με CNN
(που καλύπτονται λεπτομερώς στα μεταγενέστερα μαθήματα)

  • Finetuning ή μεταφορά-μάθηση
  • Αύξηση δεδομένων

Την επόμενη εβδομάδα: Διερευνητική ανάλυση δεδομένων (EDA) και διαρροές δεδομένων