Πίνακας περιεχομένων[Κρύβω][Προβολή]
Εάν είστε προγραμματιστής Python ή αν ψάχνετε για μια ισχυρή εργαλειοθήκη που θα τη χρησιμοποιήσετε για να εισαγάγετε τη μηχανική μάθηση σε ένα σύστημα παραγωγής, το Scikit-learn είναι μια βιβλιοθήκη που πρέπει να ελέγξετε.
Το Scikit-learn είναι καλά τεκμηριωμένο και απλό στη χρήση, είτε είστε νέος στη μηχανική μάθηση, είτε θέλετε να ξεκινήσετε και να λειτουργήσετε γρήγορα είτε θέλετε να χρησιμοποιήσετε το πιο ενημερωμένο εργαλείο έρευνας ML.
Σας επιτρέπει να δημιουργήσετε ένα μοντέλο πρόβλεψης δεδομένων σε λίγες μόνο γραμμές κώδικα και στη συνέχεια χρησιμοποιεί αυτό το μοντέλο για να ταιριάζει στα δεδομένα σας ως βιβλιοθήκη υψηλού επιπέδου. Είναι ευέλικτο και λειτουργεί καλά με άλλα Βιβλιοθήκες Python όπως το Matplotlib για τη δημιουργία γραφημάτων, το NumPy για τη διανυσματική διάταξη και τα panda για την οπτικοποίηση δεδομένων.
Σε αυτόν τον οδηγό, θα μάθετε τα πάντα για το τι είναι, πώς μπορείτε να το χρησιμοποιήσετε, μαζί με τα πλεονεκτήματα και τα μειονεκτήματά του.
Τι είναι Scikit-μάθετε?
Το Scikit-learn (γνωστό και ως sklearn) προσφέρει ένα ποικίλο σύνολο στατιστικών μοντέλων και μηχανικής μάθησης. Σε αντίθεση με τα περισσότερα modules, το sklearn αναπτύσσεται σε Python αντί για C. Παρά το γεγονός ότι αναπτύχθηκε σε Python, η αποτελεσματικότητα του sklearn αποδίδεται στη χρήση του NumPy για λειτουργίες γραμμικής άλγεβρας και πίνακα υψηλής απόδοσης.
Το Scikit-Learn δημιουργήθηκε ως μέρος του έργου Summer of Code της Google και έκτοτε έχει κάνει τη ζωή εκατομμυρίων επιστημόνων δεδομένων με επίκεντρο την Python σε όλο τον κόσμο πιο απλή. Αυτή η ενότητα της σειράς εστιάζει στην παρουσίαση της βιβλιοθήκης και την εστίαση σε ένα στοιχείο - τους μετασχηματισμούς δεδομένων, που είναι ένα βασικό και ζωτικό βήμα που πρέπει να κάνετε πριν από την ανάπτυξη ενός μοντέλου πρόβλεψης.
Η βιβλιοθήκη βασίζεται στο SciPy (Scientific Python), το οποίο πρέπει να εγκατασταθεί για να μπορέσετε να χρησιμοποιήσετε το scikit-learn. Αυτή η στοίβα περιέχει τα ακόλουθα στοιχεία:
- NumPy: Το τυπικό πακέτο n-διάστατων πινάκων της Python
- SciPy: Είναι ένα θεμελιώδες πακέτο για επιστημονικούς υπολογιστές
- Pandas: Δομές και ανάλυση δεδομένων
- Matplotlib: Είναι μια ισχυρή βιβλιοθήκη σχεδίασης 2D/3D
- Sympy: Συμβολικά μαθηματικά
- IPython: Βελτιωμένη διαδραστική κονσόλα
Εφαρμογές της βιβλιοθήκης Scikit-learn
Το Scikit-learn είναι ένα πακέτο Python ανοιχτού κώδικα με εξελιγμένες δυνατότητες ανάλυσης δεδομένων και εξόρυξης. Έρχεται με μια πληθώρα ενσωματωμένων αλγορίθμων που θα σας βοηθήσουν να αξιοποιήσετε στο έπακρο τα έργα επιστήμης δεδομένων σας. Η βιβλιοθήκη Scikit-learn χρησιμοποιείται με τους ακόλουθους τρόπους.
1. Παλινδρόμηση
Η ανάλυση παλινδρόμησης είναι μια στατιστική τεχνική για την ανάλυση και την κατανόηση της σύνδεσης μεταξύ δύο ή περισσότερων μεταβλητών. Η μέθοδος που χρησιμοποιείται για την ανάλυση παλινδρόμησης βοηθά στον προσδιορισμό ποια στοιχεία είναι σχετικά, ποια μπορεί να αγνοηθούν και πώς αλληλεπιδρούν. Οι τεχνικές παλινδρόμησης, για παράδειγμα, μπορούν να χρησιμοποιηθούν για την καλύτερη κατανόηση της συμπεριφοράς των τιμών των μετοχών.
Οι αλγόριθμοι παλινδρόμησης περιλαμβάνουν:
- γραμμική Παλινδρόμηση
- Παλινδρόμηση Ridge
- Παλινδρόμηση Λάσου
- Παλινδρόμηση δέντρου απόφασης
- Τυχαίο Δάσος
- Υποστήριξη μηχανημάτων φορέα (SVM)
2. Ταξινόμηση
Η μέθοδος ταξινόμησης είναι μια προσέγγιση εποπτευόμενης μάθησης που χρησιμοποιεί δεδομένα εκπαίδευσης για να προσδιορίσει την κατηγορία των φρέσκων παρατηρήσεων. Ένας αλγόριθμος στην Ταξινόμηση μαθαίνει από ένα δεδομένο σύνολο δεδομένων ή παρατηρήσεις και στη συνέχεια ταξινομεί πρόσθετες παρατηρήσεις σε μία από τις πολλές τάξεις ή ομάδες. Μπορούν, για παράδειγμα, να χρησιμοποιηθούν για την ταξινόμηση των επικοινωνιών email ως ανεπιθύμητων ή μη.
Οι αλγόριθμοι ταξινόμησης περιλαμβάνουν τα ακόλουθα:
- Λογιστική παλινδρόμηση
- Κ-Κοντινότεροι γείτονες
- Υποστήριξη μηχανής διάνυσμα
- Δέντρο απόφασης
- Τυχαίο Δάσος
3. Ομαδοποίηση
Οι αλγόριθμοι ομαδοποίησης στο Scikit-learn χρησιμοποιούνται για την αυτόματη ταξινόμηση δεδομένων με παρόμοιες ιδιότητες σε σύνολα. Η ομαδοποίηση είναι η διαδικασία ομαδοποίησης ενός συνόλου στοιχείων έτσι ώστε αυτά της ίδιας ομάδας να μοιάζουν περισσότερο με αυτά σε άλλες ομάδες. Τα δεδομένα πελατών, για παράδειγμα, μπορεί να διαχωριστούν με βάση την τοποθεσία τους.
Οι αλγόριθμοι ομαδοποίησης περιλαμβάνουν τα ακόλουθα:
- DB-SCAN
- Κ-Μέσα
- Mini-Batch K-Means
- Φασματική ομαδοποίηση
4. Επιλογή μοντέλου
Οι αλγόριθμοι επιλογής μοντέλων παρέχουν μεθόδους σύγκρισης, επικύρωσης και επιλογής των βέλτιστων παραμέτρων και μοντέλων για χρήση σε πρωτοβουλίες επιστήμης δεδομένων. Δεδομένων δεδομένων, η επιλογή μοντέλου είναι το πρόβλημα της επιλογής ενός στατιστικού μοντέλου από μια ομάδα υποψηφίων μοντέλων. Στις πιο βασικές συνθήκες, λαμβάνεται υπόψη μια προϋπάρχουσα συλλογή δεδομένων. Ωστόσο, η εργασία μπορεί επίσης να περιλαμβάνει το σχεδιασμό πειραμάτων έτσι ώστε τα δεδομένα που λαμβάνονται να είναι κατάλληλα για το πρόβλημα επιλογής μοντέλου.
Οι μονάδες επιλογής μοντέλων που μπορούν να βελτιώσουν την ακρίβεια με την προσαρμογή των παραμέτρων περιλαμβάνουν:
- Διασταυρωμένη επικύρωση
- Αναζήτηση δικτύου
- Metrics
5. Μείωση διαστάσεων
Η μεταφορά δεδομένων από έναν χώρο υψηλής διάστασης σε έναν χώρο χαμηλής διάστασης, έτσι ώστε η αναπαράσταση χαμηλής διάστασης να διατηρεί ορισμένες σημαντικές πτυχές των αρχικών δεδομένων, ιδανικά κοντά στην εγγενή τους διάσταση, είναι γνωστή ως μείωση διαστάσεων. Ο αριθμός των τυχαίων μεταβλητών για ανάλυση μειώνεται όταν μειώνεται η διάσταση. Τα απομακρυσμένα δεδομένα, για παράδειγμα, ενδέχεται να μην θεωρούνται ότι βελτιώνουν την αποτελεσματικότητα των απεικονίσεων.
Ο αλγόριθμος μείωσης διαστάσεων περιλαμβάνει τα ακόλουθα:
- Επιλογή χαρακτηριστικών
- Ανάλυση κύριων συστατικών (PCA)
Εγκατάσταση του Scikit-learn
Τα NumPy, SciPy, Matplotlib, IPython, Sympy και Panda πρέπει να εγκατασταθούν πριν χρησιμοποιήσετε το Scikit-learn. Ας τα εγκαταστήσουμε χρησιμοποιώντας pip από την κονσόλα (λειτουργεί μόνο για Windows).
Ας εγκαταστήσουμε το Scikit-learn τώρα που έχουμε εγκαταστήσει τις απαιτούμενες βιβλιοθήκες.
Χαρακτηριστικά
Το Scikit-learn, μερικές φορές γνωστό ως sklearn, είναι ένα κιτ εργαλείων Python για την εφαρμογή μοντέλων μηχανικής μάθησης και στατιστικής μοντελοποίησης. Μπορεί να το χρησιμοποιήσουμε για τη δημιουργία πολλαπλών μοντέλων μηχανικής μάθησης για παλινδρόμηση, ταξινόμηση και ομαδοποίηση, καθώς και στατιστικά εργαλεία για την αξιολόγηση αυτών των μοντέλων. Περιλαμβάνει επίσης μείωση διαστάσεων, επιλογή χαρακτηριστικών, εξαγωγή χαρακτηριστικών, προσεγγίσεις συνόλου και ενσωματωμένα σύνολα δεδομένων. Θα διερευνήσουμε κάθε μία από αυτές τις ιδιότητες μία κάθε φορά.
1. Εισαγωγή συνόλων δεδομένων
Το Scikit-learn περιλαμβάνει μια σειρά από προκατασκευασμένα σύνολα δεδομένων, όπως το σύνολο δεδομένων ίριδας, το σύνολο δεδομένων τιμής σπιτιού, το σύνολο δεδομένων τιτανικής και ούτω καθεξής. Τα βασικά πλεονεκτήματα αυτών των συνόλων δεδομένων είναι ότι είναι απλά στην κατανόηση και μπορούν να χρησιμοποιηθούν για την άμεση ανάπτυξη μοντέλων ML. Αυτά τα σύνολα δεδομένων είναι κατάλληλα για αρχάριους. Ομοίως, μπορείτε να χρησιμοποιήσετε το sklearn για να εισαγάγετε πρόσθετα σύνολα δεδομένων. Ομοίως, μπορείτε να το χρησιμοποιήσετε για την εισαγωγή πρόσθετων συνόλων δεδομένων.
2. Διαχωρισμός συνόλου δεδομένων για εκπαίδευση και δοκιμή
Το Sklearn περιελάμβανε τη δυνατότητα διαίρεσης του συνόλου δεδομένων σε τμήματα εκπαίδευσης και δοκιμών. Απαιτείται διαχωρισμός του συνόλου δεδομένων για μια αμερόληπτη αξιολόγηση της απόδοσης πρόβλεψης. Μπορούμε να καθορίσουμε πόσα από τα δεδομένα μας θα πρέπει να περιλαμβάνονται στα σύνολα δεδομένων αμαξοστοιχίας και δοκιμής. Διαχωρίσαμε το σύνολο δεδομένων χρησιμοποιώντας διαχωρισμό δοκιμής αμαξοστοιχίας έτσι ώστε το σύνολο αμαξοστοιχίας να περιλαμβάνει το 80% των δεδομένων και το σύνολο δοκιμής έχει το 20%. Το σύνολο δεδομένων μπορεί να χωριστεί ως εξής:
3. Γραμμική παλινδρόμηση
Η Γραμμική παλινδρόμηση είναι μια εποπτευόμενη τεχνική μηχανικής μάθησης που βασίζεται στη μάθηση. Πραγματοποιεί μια εργασία παλινδρόμησης. Με βάση ανεξάρτητες μεταβλητές, η παλινδρόμηση μοντελοποιεί μια τιμή πρόβλεψης στόχου. Χρησιμοποιείται κυρίως για τον προσδιορισμό της σχέσης μεταξύ των μεταβλητών και της πρόβλεψης. Τα διαφορετικά μοντέλα παλινδρόμησης διαφέρουν ως προς τον τύπο σύνδεσης που αξιολογούν μεταξύ εξαρτημένων και ανεξάρτητων μεταβλητών, καθώς και ως προς τον αριθμό των ανεξάρτητων μεταβλητών που χρησιμοποιούνται. Μπορούμε απλά να δημιουργήσουμε το μοντέλο Γραμμικής Παλινδρόμησης χρησιμοποιώντας το sklearn ως εξής:
4. Logistic Regression
Μια κοινή προσέγγιση κατηγοριοποίησης είναι η λογιστική παλινδρόμηση. Ανήκει στην ίδια οικογένεια με την πολυωνυμική και τη γραμμική παλινδρόμηση και ανήκει στην οικογένεια των γραμμικών ταξινομητών. Τα ευρήματα της λογιστικής παλινδρόμησης είναι εύκολα κατανοητά και είναι γρήγορα στον υπολογισμό. Με τον ίδιο τρόπο όπως η γραμμική παλινδρόμηση, η λογιστική παλινδρόμηση είναι μια εποπτευόμενη τεχνική παλινδρόμησης. Η μεταβλητή εξόδου είναι κατηγορηματική, οπότε αυτή είναι η μόνη διαφορά. Μπορεί να καθορίσει εάν ένας ασθενής έχει ή όχι καρδιακή νόσο.
Διάφορα ζητήματα ταξινόμησης, όπως η ανίχνευση ανεπιθύμητων μηνυμάτων, μπορούν να επιλυθούν χρησιμοποιώντας λογιστική παλινδρόμηση. Η πρόβλεψη του διαβήτη, ο προσδιορισμός εάν ένας καταναλωτής θα αγοράσει ένα συγκεκριμένο προϊόν ή θα αλλάξει σε έναν ανταγωνιστή, ο προσδιορισμός εάν ένας χρήστης θα κάνει κλικ σε έναν συγκεκριμένο σύνδεσμο μάρκετινγκ και πολλά άλλα σενάρια είναι μερικά μόνο παραδείγματα.
5. Δέντρο απόφασης
Η πιο ισχυρή και ευρέως χρησιμοποιούμενη τεχνική ταξινόμησης και πρόβλεψης είναι το δέντρο αποφάσεων. Ένα δέντρο απόφασης είναι μια δομή δέντρου που μοιάζει με διάγραμμα ροής, με κάθε εσωτερικό κόμβο να αντιπροσωπεύει μια δοκιμή σε ένα χαρακτηριστικό, κάθε κλάδος να αντιπροσωπεύει το συμπέρασμα της δοκιμής και κάθε κόμβος φύλλου (τερματικός κόμβος) να έχει μια ετικέτα κλάσης.
Όταν οι εξαρτημένες μεταβλητές δεν έχουν γραμμική σχέση με τις ανεξάρτητες μεταβλητές, δηλαδή όταν η γραμμική παλινδρόμηση δεν παράγει σωστά ευρήματα, τα δέντρα απόφασης είναι ωφέλιμα. Το αντικείμενο DecisionTreeRegression() μπορεί να χρησιμοποιηθεί με παρόμοιο τρόπο για να χρησιμοποιήσει ένα δέντρο αποφάσεων για παλινδρόμηση.
6. Τυχαίο Δάσος
Ένα τυχαίο δάσος είναι α μάθηση μηχανής προσέγγιση για την επίλυση ζητημάτων παλινδρόμησης και ταξινόμησης. Χρησιμοποιεί τη μάθηση συνόλου, η οποία είναι μια τεχνική που συνδυάζει πολλαπλούς ταξινομητές για την επίλυση περίπλοκων προβλημάτων. Μια τυχαία μέθοδος δασών αποτελείται από μεγάλο αριθμό δέντρων απόφασης. Μπορεί να χρησιμοποιηθεί για την κατηγοριοποίηση αιτήσεων δανείου, τον εντοπισμό δόλιας συμπεριφοράς και την πρόβλεψη εστιών ασθενειών.
7. Μήτρα σύγχυσης
Ένας πίνακας σύγχυσης είναι ένας πίνακας που χρησιμοποιείται για να περιγράψει την απόδοση του μοντέλου ταξινόμησης. Οι ακόλουθες τέσσερις λέξεις χρησιμοποιούνται για την εξέταση του πίνακα σύγχυσης:
- Αληθινό θετικό: Σημαίνει ότι το μοντέλο πρόβαλλε ένα ευνοϊκό αποτέλεσμα και ήταν σωστό.
- Αληθινό αρνητικό: Σημαίνει ότι το μοντέλο πρόβαλε ένα κακό αποτέλεσμα και ήταν σωστό.
- False Positive: Σημαίνει ότι το μοντέλο περίμενε ένα ευνοϊκό αποτέλεσμα, αλλά ήταν πραγματικά αρνητικό.
- False Negative: Σημαίνει ότι το μοντέλο περίμενε αρνητικό αποτέλεσμα, ενώ το αποτέλεσμα ήταν πραγματικά θετικό.
Εφαρμογή πίνακα σύγχυσης:
ΥΠΕΡ
- Είναι απλό στη χρήση.
- Το πακέτο Scikit-learn είναι εξαιρετικά προσαρμόσιμο και χρήσιμο, εξυπηρετώντας πραγματικούς στόχους όπως η πρόβλεψη της συμπεριφοράς των καταναλωτών, η ανάπτυξη νευροεικόνας και ούτω καθεξής.
- Οι χρήστες που επιθυμούν να συνδέσουν τους αλγόριθμους με τις πλατφόρμες τους θα βρουν λεπτομερή τεκμηρίωση API στον ιστότοπο Scikit-learn.
- Πολλοί συγγραφείς, συνεργάτες και μια μεγάλη παγκόσμια διαδικτυακή κοινότητα υποστηρίζουν και ενημερώνουν το Scikit-learn.
ΚΑΤΑ
- Δεν είναι η ιδανική επιλογή για εις βάθος μελέτη.
Συμπέρασμα
Το Scikit-learn είναι ένα κρίσιμο πακέτο για κάθε επιστήμονα δεδομένων που πρέπει να έχει μια ισχυρή αντίληψη και κάποια εμπειρία. Αυτός ο οδηγός θα σας βοηθήσει με τον χειρισμό δεδομένων χρησιμοποιώντας το sklearn. Υπάρχουν πολλές περισσότερες δυνατότητες του Scikit-learn που θα ανακαλύψετε καθώς προχωράτε στην περιπέτεια της επιστήμης δεδομένων. Μοιραστείτε τις σκέψεις σας στα σχόλια.
Αφήστε μια απάντηση