Μονάδες
1. Εισαγωγή στην Τεχνητή Νοημοσύνη στην Επιστήμη Δεδομένων και την Ανάλυση: Ροή εργασιών, Ρόλοι, Όρια, Επικύρωση και Δεοντολογία 2. Συλλογή δεδομένων και κατανόηση πηγών: Σχήμα, δειγματοληψία, ποιότητα και επίγνωση διαρροών 3. Καθαρισμός και προεπεξεργασία δεδομένων: Λείπει τιμή, ακραία τιμή και μετατροπή τύπου 4. Διερευνητική Ανάλυση Δεδομένων (EDA): Διανομές, Σχέσεις και Αρχικές πληροφορίες 5. Μηχανική Χαρακτηριστικών: Δημιουργία παραλλαγών, Κωδικοποίηση, Κλιμάκωση και Αποφυγή Διαρροής 6. Κατασκευή μοντέλου: Ορισμός προβλήματος, επιλογή αλγορίθμου και διαίρεση εκπαίδευσης/δοκιμής 7. Αξιολόγηση μοντέλου: Μετρήσεις, Διασταυρούμενη επικύρωση και Ακραία Μάθηση 8. Οπτικοποίηση και αφήγηση: Ακριβή γραφικά, ειλικρινή γραφικά 9. Δημιουργία κώδικα: Ανάλυση υποβοηθούμενη από AI με Python (pandas) και SQL 10. Διαρροή δεδομένων και αναπαραγωγιμότητα: Σιωπηλές καταστροφές και πειθαρχία 11. Molps foundation, ηθική, ιδιωτικότητα και υπεύθυνη ανάλυση
Μονάδα 6 / 11

Κατασκευή μοντέλου: Ορισμός προβλήματος, επιλογή αλγορίθμου και διαίρεση εκπαίδευσης/δοκιμής

Κέρδη:

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

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

Πρώτα ορισμός προβλήματος: τι προβλέπουμε

Κάθε εργασία μοντελοποίησης ξεκινά με μια ερώτηση, και αυτή η ερώτηση καθορίζει τον τύπο του μοντέλου. Ταξινόμηση — το αποτέλεσμα είναι μια κατηγορία: "Αυτός ο πελάτης θα φύγει ή θα μείνει;", "Είναι ψεύτικη αυτή η συναλλαγή;". Regression (στα αγγλικά regression - η έξοδος είναι ένας αριθμός): "How much is this houseworth?", "How many orders will come next month?". Ομαδοποίηση (διαιρώντας τα δεδομένα χωρίς ετικέτα σε φυσικές ομάδες): "Σε πόσα φυσικά τμήματα χωρίζονται οι πελάτες μου;".

Το δεύτερο μέρος της δήλωσης προβλήματος είναι το κριτήριο επιτυχίας: τι σημαίνει για αυτό το μοντέλο να είναι «καλό»; Σε ένα μοντέλο απάτης, η απώλεια ενός απατεώνα είναι πολύ πιο ακριβή από το να μπλοκάρεις κατά λάθος έναν έντιμο πελάτη. Επομένως, δεν έρχεται στο προσκήνιο η «γενική ακρίβεια», αλλά «ποσοστό σύλληψης απατεώνων». Εάν δεν ορίσετε αυτό το κριτήριο από την αρχή, μαζί με τον ιδιοκτήτη της επιχείρησης, θα καταλήξετε σε ένα μοντέλο "με μεγάλη ακρίβεια" που δεν λειτουργεί (θα εμβαθύνουμε στις μετρήσεις στην Ενότητα 7).

Προσοχή: Η "ακρίβεια" μπορεί να είναι παραπλανητική. Εάν 10 στις 1000 συναλλαγές είναι δόλιες, ένα ηλίθιο μοντέλο που λέει "καμία δεν είναι απάτη" θα δώσει 99% ακρίβεια, αλλά δεν θα πιάσει ούτε έναν απατεώνα. Επιλέξτε κριτήρια επιτυχίας με βάση το πραγματικό κόστος του προβλήματος.

Εκπαίδευση/διαχωρισμός δοκιμής: ειλικρινής εξέταση του μοντέλου

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

  • Σετ προπόνησης (σετ εκπαίδευσης στα Αγγλικά, συνήθως 70-80%): Το μοντέλο μαθαίνει σε αυτό.
  • Δοκιμαστικό σύνολο (σετ δοκιμής, συνήθως 20-30%): Το μοντέλο δεν το βλέπει καθόλου αυτό. Η πραγματική απόδοση μετριέται εδώ.
  • Σύνολο επικύρωσης: Ενδιάμεσο σύνολο που χρησιμοποιείται για τη ρύθμιση μοντέλου (ποια παράμετρος είναι καλύτερη). για να διατηρείται το δοκιμαστικό σετ «καθαρό».

Ο πιο βασικός κανόνας: το σετ δοκιμών δεν αγγίζεται ποτέ κατά τη διάρκεια της προπόνησης. Κλιμάκωση, κωδικοποίηση, επιλογή χαρακτηριστικών — όλα μαθαίνονται απλώς από το σετ εκπαίδευσης και στη συνέχεια εφαρμόζονται στη δοκιμή (αρχή διαρροής από την Ενότητα 5). Το σετ δοκιμής είναι η πρώτη φορά που το μοντέλο βλέπει τον πραγματικό κόσμο. Εάν το ενεργοποιήσετε πολύ νωρίς, δεν θα μάθετε ποτέ την πραγματική απόδοση.

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

Επιλογή αλγορίθμου: από απλό σε σύνθετο

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

μοντέλο

Τύπος προβλήματος

δυνατό σημείο

αδυναμία

Βασική γραμμή (πλειοψηφία/μέσος όρος)

και τα δύο

Δίνει σημείο αναφοράς

δεν μαθαίνει

Λογιστική παλινδρόμηση

Ταξινόμηση

Απλό, ερμηνεύσιμο

Μόνο γραμμική σχέση

Γραμμική παλινδρόμηση

παλινδρόμηση

Απλό, γρήγορο

γραμμική υπόθεση

δέντρο αποφάσεων

και τα δύο

ερμηνεύσιμο

Εύκολες απομνημονεύσεις

τυχαίο δάσος

και τα δύο

Δυνατό, ανθεκτικό

Λιγότερο ερμηνεύσιμο

Ενίσχυση κλίσης (XGBoost κ.λπ.)

και τα δύο

πολύ δυνατός

Δύσκολη προσαρμογή, κίνδυνος απομνημόνευσης

Κανόνας: επιλέξτε το πιο απλό μοντέλο «αρκετά καλό». Η ερμηνευτικότητα είναι πιο πολύτιμη από την εξουσία στα περισσότερα επιχειρηματικά πλαίσια. Είναι καλύτερο να εξηγήσετε μια απόρριψη δανείου «επειδή ο λόγος χρέους προς εισόδημά σας είναι υψηλός» παρά «επειδή το είπε το μαύρο κουτί».

τρεις μίνι θήκες

Περίπτωση 1 — Εσφαλμένος ορισμός του προβλήματος. Μια ομάδα δημιούργησε ένα μοντέλο ταξινόμησης με βάση το "είναι ικανοποιημένος ο πελάτης", αλλά επέλεξε την "ακρίβεια" ως κριτήριο επιτυχίας. Στα στοιχεία, το 88% των πελατών ήταν ικανοποιημένοι. Το μοντέλο είχε 88% ακρίβεια αποκαλώντας τους πάντες «ικανοποιημένους» και δεν έπιασε ποτέ τους δυσαρεστημένους ανθρώπους — παρόλο που ο πραγματικός στόχος ήταν να τους βρει. Μάθημα: επιλέξτε κριτήρια επιτυχίας με βάση τον πραγματικό σκοπό.

Περίπτωση 2 — Διαρροή χρόνου στο διαμέρισμα. Σε ένα έργο πρόβλεψης ζήτησης, τα δεδομένα διαχωρίστηκαν τυχαία. Το μοντέλο έδωσε 93% ακρίβεια, αλλά συνετρίβη στην παραγωγή γιατί στην εκπαίδευση είχε προβλέψει τον Ιανουάριο, μετά τον Νοέμβριο, με δεδομένα Δεκεμβρίου — είχε δει το μέλλον. Όταν περάσαμε στη χρονολογική διαίρεση, η πραγματική απόδοση αυξήθηκε στο 74%. Μάθημα: χρονολογική διαίρεση σε χρονοσειρές.

Περίπτωση 3 — Περιττή πολυπλοκότητα. Ένας αναλυτής ξεκίνησε απευθείας με ένα βαθύ νευρωνικό δίκτυο, το συντόνισε για εβδομάδες και είχε ακρίβεια 81%. Στη συνέχεια, ένας συνάδελφος πήρε το 80% με 20 γραμμές υλικοτεχνικής παλινδρόμησης — πολύ πιο γρήγορη, ερμηνεύσιμη και ευκολότερη στη συντήρηση. Μάθημα: ξεκινήστε με μια βασική γραμμή και ένα απλό μοντέλο, προσθέστε πολυπλοκότητα όταν το αξίζει.

Τέσσερα πρότυπα με δυνατότητα αντιγραφής

1) Διευκρίνιση του ορισμού του προβλήματος:

Ο ρόλος σας: σύμβουλος μοντέλων. Βοηθήστε με να ορίσω αυτή τη δουλειά: «Θέλω να μειώσω την απελευθέρωση πελατών». Ρωτήστε με και διευκρινίστε: (1) πρόκειται για ταξινόμηση ή παλινδρόμηση, (2) ποια ακριβώς είναι η μεταβλητή στόχος και πώς πρέπει να οριστεί, (3) ποια πρέπει να είναι τα κριτήρια επιτυχίας και γιατί. Η απόφαση είναι δική μου. παρουσιάζετε τις ερωτήσεις και τις επιλογές.

2) Ασφαλής χώρος εκπαίδευσης/δοκιμών:

Διαχωρίστε το df μου σε εκπαίδευση/δοκιμή 80%/20%. Διατήρηση κατανομής κλάσεων (stratify).random_state=42. Αυτό ΔΕΝ είναι ΧΡΟΝΙΚΗ ΣΕΙΡΑ (ανεξάρτητες παρατηρήσεις). Εκτυπώστε την αναλογία κλάσεων κάθε συνόλου μετά τη διαίρεση. Απλώς δώστε τον κωδικό διαχωρισμού στο δοκιμαστικό σύνολο χωρίς να εφαρμόσετε μετασχηματισμό.

3) Χρονολογική διαίρεση χρονοσειρών:

Τα δεδομένα εξαρτώνται από το χρόνο (στήλη ημερομηνίας: παραγγελία_ημερομηνία). ΟΧΙ τυχαία, διαιρέστε χρονολογικά: παλαιότερη εκπαίδευση 80%, νεότερη δοκιμή 20%. Εκτυπώστε τα εύρη ημερομηνιών εκπαίδευσης και δοκιμών, ώστε να μπορώ να επαληθεύσω ότι το μέλλον δεν έχει διαρρεύσει.

4) Ορισμός βασικής γραμμής:

Έχω πρόβλημα ταξινόμησης (στόχος: churn 0/1). Πρώτα ορίστε μια γραμμή βάσης: μετρήστε την ακρίβεια εκπαίδευσης/δοκιμών με τον DummyClassifier, ο οποίος πάντα προβλέπει την πλειοψηφική τάξη. Στη συνέχεια, εκπαιδεύστε μια απλή λογιστική παλινδρόμηση και συγκρίνετε εάν υπερβαίνει τη γραμμή βάσης. Δείξτε τις μετρήσεις των δύο δίπλα δίπλα.

Αδύναμη προτροπή / Ισχυρή προτροπή

Αδύναμη προτροπή:

Δημιουργήστε το καλύτερο μοντέλο με αυτά τα δεδομένα.

Το "Best" είναι απροσδιόριστο. Δεν υπάρχει τύπος προβλήματος, στόχος, κριτήρια επιτυχίας και στρατηγική διαίρεσης. Το AI δημιουργεί ένα τυχαίο μοτίβο, πιθανώς με διαρροή.

Ισχυρή προτροπή:

Ο ρόλος σας: βοηθός μοντέλου. Πρόβλημα: ταξινόμηση, στόχος "churn" (0/1), υπάρχει ανισορροπία κατηγορίας (~12% churn). Κριτήριο επιτυχίας: Η ανάκληση όσων ανακατεύονται είναι προτεραιότητα. Παρατήρηση ανεξάρτητη από δεδομένα (όχι χρονοσειρές). Εργασία: (1) 80/20% στρωματοποιημένη διάσπαση, (2) γραμμή βάσης DummyClassifier, (3) λογιστική παλινδρόμηση, όλοι οι μετασχηματισμοί σε εξέλιξη και μάθησαν μόνο από την εκπαίδευση. Μην αγγίζετε το σετ δοκιμής πριν το σχίσιμο.

Εδώ ο τύπος του προβλήματος, η ανισορροπία, το κριτήριο και το μέτρο διαρροής είναι ξεκάθαρα.

Συνήθη λάθη

  • Όχι επιλογή των κριτηρίων επιτυχίας σύμφωνα με τον πραγματικό σκοπό. Η "ακρίβεια" σε μη ισορροπημένα δεδομένα είναι παραπλανητική. Αν θέλετε να συλλάβετε την τάξη της μειονότητας, η ανάκληση έρχεται στο προσκήνιο.
  • Αγγίζοντας το σετ δοκιμών κατά τη διάρκεια της προπόνησης. Η κλιμάκωση/κωδικοποίηση πριν από το διαχωρισμό είναι διαρροή και κρύβει την πραγματική απόδοση.
  • Τυχαίος διαχωρισμός σε χρονοσειρές. Το μοντέλο βλέπει το μέλλον, καταρρέει στην παραγωγή. Η χρονολογική διαίρεση είναι απαραίτητη.
  • Μετάβαση σε ένα σύνθετο μοντέλο χωρίς να καθιερωθεί μια γραμμή βάσης. Χωρίς σημεία αναφοράς δεν μπορείς να ξέρεις αν ένα μοντέλο είναι πραγματικά καλό ή όχι.
  • Αγνοώντας την ερμηνευτικότητα. Στις επιχειρηματικές αποφάσεις, ένα απλό εξηγήσιμο μοντέλο είναι συχνά πιο πολύτιμο από ένα μαύρο κουτί.
Συμβουλή: Πριν ξεκινήσετε την κατασκευή ενός μοντέλου, γράψτε μια φράση: «Αυτό το μοντέλο θα προβλέψει _____, η επιτυχία του θα μετρηθεί με τη μέτρηση _____, επειδή το πραγματικό κόστος της εργασίας είναι _____». Εάν δεν μπορείτε να συμπληρώσετε αυτήν την πρόταση, δεν είστε ακόμη έτοιμοι να γράψετε κώδικα.

Συνοπτικά

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

Εργασία εφαρμογής

Ορίστε ένα πρόβλημα πρόβλεψης και συμπληρώστε την ακόλουθη πρόταση γραπτώς: «Αυτό το μοντέλο θα προβλέψει ___ (ταξινόμηση/παλίνδρομο), ο στόχος είναι ___, το κριτήριο επιτυχίας είναι ___ επειδή ___. Στη συνέχεια, διαχωρίστε τα δεδομένα με τη σωστή στρατηγική (χρονολογικά εάν πρόκειται για χρονοσειρά), ορίστε μια γραμμή βάσης και μετρήστε εάν ένα απλό μοτίβο σπάει αυτή τη γραμμή βάσης.

λίστα ελέγχου

  • [ ] Έχω ορίσει με σαφήνεια τον τύπο του προβλήματος (ταξινόμηση/παλίνδρομο) και τον στόχο;
  • [ ] Έχω επιλέξει τα κριτήρια επιτυχίας με βάση το πραγματικό κόστος της εργασίας;
  • [ ] Άφησα ανέγγιχτο το σετ δοκιμών κατά τη διάρκεια της προπόνησης;
  • [ ] Αν είναι χρονολογική σειρά, τη μοίρασα χρονολογικά;
  • [ ] Έχω δημιουργήσει μια γραμμή βάσης πριν προχωρήσω στο σύνθετο μοντέλο;