Πώς να εκτελέσετε υλικοτεχνική παλινδρόμηση στο Python;



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

Η λογιστική παλινδρόμηση στο Python είναι μια τεχνική πρόβλεψης ανάλυσης. Χρησιμοποιείται επίσης στη Μηχανική Εκμάθηση για δυαδικά προβλήματα ταξινόμησης. Σε αυτό το blog θα εξετάσουμε τα ακόλουθα θέματα για να κατανοήσουμε τη λογιστική παλινδρόμηση στο Python:

  1. Τι είναι η παλινδρόμηση;
  2. Λογιστική παλινδρόμηση στην Python
  3. Λογιστική παλινδρόμηση έναντι γραμμικής παλινδρόμησης
  4. Χρησιμοποιήστε Θήκες
  5. Επίδειξη

Μπορείτε επίσης να αναφέρετε αυτό το αναλυτικό σεμινάριο σχετικά με τη λογιστική παλινδρόμηση στο python με μια επίδειξη για καλύτερη κατανόηση ή να διαβάσετε το να κυριαρχήσει η λογιστική παλινδρόμηση





Τι είναι η παλινδρόμηση;

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

Αντιμετωπίζουμε την παλινδρόμηση με διαισθητικό τρόπο όλη την ώρα. Όπως προβλέποντας τον καιρό χρησιμοποιώντας το σύνολο δεδομένων των καιρικών συνθηκών στο παρελθόν.



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

Η ανάλυση προβλέπει το αποτέλεσμα σε μια δυαδική μεταβλητή που έχει μόνο δύο πιθανά αποτελέσματα.



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

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

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

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

Χρησιμοποιούμε το Σιγμοειδής συνάρτηση / καμπύλη για να προβλέψουμε την κατηγορική τιμή. Η τιμή κατωφλίου αποφασίζει το αποτέλεσμα (νίκη / ήττα).

Εξίσωση γραμμικής παλινδρόμησης: y = β0 + β1Χ1 + β2Χ2…. + βnXn

  • Το Y σημαίνει την εξαρτημένη μεταβλητή που πρέπει να προβλεφθεί.
  • Το β0 είναι το Y-intercept, το οποίο είναι βασικά το σημείο της γραμμής που αγγίζει τον άξονα y.
  • Το β1 είναι η κλίση της γραμμής (η κλίση μπορεί να είναι αρνητική ή θετική ανάλογα με τη σχέση μεταξύ της εξαρτημένης μεταβλητής και της ανεξάρτητης μεταβλητής.)
  • Το X εδώ αντιπροσωπεύει την ανεξάρτητη μεταβλητή που χρησιμοποιείται για την πρόβλεψη της προκύπτουσας εξαρτημένης τιμής.

Συνάρτηση Sigmoid: ρ = 1/1 + ε

Εφαρμόστε τη λειτουργία σιγμοειδούς στην εξίσωση γραμμικής παλινδρόμησης.

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

Λογιστική εξίσωση παλινδρόμησης: ρ = 1/1 + ε-(β0 + β1X1 + β2X2 …. + βnXn)

Ας ρίξουμε μια ματιά σε διαφορετικούς τύπους λογιστικής παλινδρόμησης.

Τύποι υλικοτεχνικής παλινδρόμησης

ρίξτε διπλό στο int στην Ιάβα
    • Δυαδική λογιστική παλινδρόμηση - Έχει μόνο δύο πιθανά αποτελέσματα. Παράδειγμα - ναι ή όχι
    • Πολυεθνική λογιστική παλινδρόμηση - Έχει τρεις ή περισσότερες ονομαστικές κατηγορίες. Παράδειγμα - γάτα, σκύλος, ελέφαντας.
    • Συνήθης λογιστική παλινδρόμηση - Έχει τρεις ή περισσότερες κανονικές κατηγορίες, που σημαίνει ότι οι κατηγορίες θα είναι σε μια σειρά. Παράδειγμα - αξιολογήσεις χρηστών (1-5).

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

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

Η γραμμική παλινδρόμηση χρησιμοποιείται όταν η μεταβλητή απόκρισης είναι συνεχής στη φύση, αλλά η λογιστική παλινδρόμηση χρησιμοποιείται όταν η μεταβλητή απόκρισης είναι κατηγορηματικής φύσης.

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

Χρησιμοποιήστε Θήκες

Ακολουθούν οι περιπτώσεις χρήσης όπου μπορούμε να χρησιμοποιήσουμε λογιστική παλινδρόμηση.

Πρόβλεψη καιρού

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

Προσδιορισμός της ασθένειας

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

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

Διαδήλωση

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

Συλλογή δεδομένων

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

εισαγωγή panda ως pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt df = pd.read_csv (r'C: UsersMohammadWaseemDocumentsdata.csv ') εκτύπωση (df.head (5))

Θα λάβετε όλα τα δεδομένα σε αναγνώσιμη μορφή για ευκολότερη ανάλυση. Και μετά μπορείτε να προσδιορίσετε τις εξαρτώμενες και ανεξάρτητες μεταβλητές για το μοντέλο σας.

Ανάλυση δεδομένων

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

sns.countplot ('Home', hue = 'WINorLOSS', data = df) plt.show ()

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

Διαμάχη δεδομένων

Το σύνολο δεδομένων τροποποιείται σύμφωνα με τη μεταβλητή στόχου. Θα εξαλείψουμε όλες τις μηδενικές τιμές και τις τιμές συμβολοσειράς επίσης από το DataFrame.

εκτύπωση (df.isnull (). άθροισμα ())

Θα ελέγξουμε για όλα τα άσχετα δεδομένα, όπως τιμές null και τις τιμές που δεν θα απαιτηθούν κατά τη δημιουργία του μοντέλου πρόβλεψης. Εάν δεν υπάρχουν τιμές null στο σύνολο δεδομένων NBA που χρησιμοποιούμε, θα προχωρήσουμε στη διάσπαση των δεδομένων.

Δεδομένα δοκιμής και αμαξοστοιχίας

Για την απόδοση του μοντέλου τα δεδομένα χωρίζονται σε δεδομένα δοκιμής και δεδομένα αμαξοστοιχίας. Τα δεδομένα χωρίζονται χρησιμοποιώντας το train_test_split . Τα δεδομένα εδώ χωρίζονται στην αναλογία 70:30.

Τώρα, για το πρόβλεψη μοντέλου η συνάρτηση logistic regression υλοποιείται με την εισαγωγή του logistic regression model στο sklearn module.

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

από sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import classification_report from sklearn.metrics import confusion_matrix, correct_score x = df.drop ('Home', axis = 1) y = df ['Home'] x_tr x_test, y_train, y_test = train_test_split (x, y, test_size = 0.33, random_state = 1) logmodel = LogisticRegression () logmodel.fit (x_train, y_train) predictions = logmodel.predict (x_test) εκτύπωση (class__estest) εκτύπωση (confusion_matrix (y_test, προβλέψεις)) εκτύπωση (ακρίβεια_ βαθμολογία (y_test, προβλέψεις))

Έκθεση ταξινόμησης:

Η αναφορά ταξινόμησης εμφανίζει το Ακρίβεια , Ανάκληση, F1 και Υποστήριξη βαθμολογίες για το μοντέλο.

Ακρίβεια σκορ σημαίνει το επίπεδο μέχρι το οποίο η πρόβλεψη του μοντέλου είναι ακριβής. Η ακρίβεια για ένα παιχνίδι στο σπίτι είναι 0,62 και για το εκτός έδρας παιχνίδι είναι 0,58 .

πώς να ορίσετε το java classpath στη γραμμή εντολών linux

Ανάκληση είναι το ποσό μέχρι το οποίο το μοντέλο μπορεί να προβλέψει το αποτέλεσμα. Η ανάκληση για ένα παιχνίδι στο σπίτι είναι 0,57 και για ένα παιχνίδι εκτός έδρας είναι 0,64 . Οι βαθμολογίες F1 και Support είναι το ποσό των δεδομένων που δοκιμάστηκαν για τις προβλέψεις. Στο σύνολο δεδομένων NBA τα δεδομένα που δοκιμάστηκαν για το παιχνίδι στο σπίτι είναι 1662 και για το εκτός έδρας παιχνίδι είναι 1586 .

Πίνακας σύγχυσης:

Ο πίνακας σύγχυσης είναι ένας πίνακας που περιγράφει την απόδοση ενός μοντέλου πρόβλεψης. Ένας πίνακας σύγχυσης περιέχει τις πραγματικές τιμές και τις προβλεπόμενες τιμές. μπορούμε να χρησιμοποιήσουμε αυτές τις τιμές για να υπολογίσουμε τη βαθμολογία ακρίβειας του μοντέλου.

Χάρτης θερμότητας σύγχυσης:

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

sns.heatmap (pd.DataFrame (confusion_matrix (y_test, predictions))) plt.show ()

Κοιτάζοντας τον χάρτη θερμότητας, μπορούμε να συμπεράνουμε τα εξής:

  • Από όλες τις προβλέψεις, ο ταξινομητής προέβλεπε ναι για το σύνολο 1730 φορές, εκ των οποίων οι 1012 ήταν πραγματικοί ναι.
  • Από όλες τις προβλέψεις, ο ταξινομητής προέβλεψε όχι για το σύνολο 1518 φορές, εκ των οποίων οι 944 ήταν πραγματικοί αριθ.

Με αυτήν την ανάλυση του πίνακα σύγχυσης μπορούμε να συμπεράνουμε τη βαθμολογία ακρίβειας για το μοντέλο προβλέψεών μας.

Βαθμολογία ακρίβειας:

Η βαθμολογία ακρίβειας είναι το ποσοστό ακρίβειας των προβλέψεων που έκανε το μοντέλο. Για το μοντέλο μας η βαθμολογία ακρίβειας είναι 0,60, η οποία είναι αρκετά αρκετά ακριβής. Όσο περισσότερο η βαθμολογία ακρίβειας τόσο αποτελεσματικό είναι το μοντέλο πρόβλεψης. Πρέπει πάντα να στοχεύετε σε υψηλότερη βαθμολογία ακρίβειας για ένα καλύτερο μοντέλο πρόβλεψης.

Ακολουθώντας τα βήματα που συζητήθηκαν παραπάνω, έχουμε προβλέψει τη δυνατότητα ενός παιχνιδιού εντός / εκτός από το σύνολο δεδομένων NBA. Αφού αναλύσουμε την αναφορά ταξινόμησης μπορούμε να αναλάβουμε την πιθανότητα ενός εντός ή εκτός έδρας παιχνιδιού.

Σε αυτό το blog έχουμε συζητήσει τη λογιστική παλινδρόμηση σε έννοιες python, πώς είναι διαφορετική από τη γραμμική προσέγγιση. Επίσης, έχουμε καλύψει μια επίδειξη χρησιμοποιώντας το σύνολο δεδομένων NBA. Για περισσότερες πληροφορίες και πρακτικές, μπορείτε να χρησιμοποιήσετε ένα σύνολο δεδομένων της επιλογής σας και να ακολουθήσετε τα βήματα που συζητήθηκαν για την εφαρμογή λογιστικής παλινδρόμησης στο Python.

Επίσης, ρίξτε μια ματιά στα διάφορα ιστολόγια Data-Science στην πλατφόρμα edureka για να μάθετε τον επιστήμονα δεδομένων σε εσάς.

Αν θέλετε να μάθετε την Python και να δημιουργήσετε μια καριέρα στην επιστήμη των δεδομένων, τότε ρίξτε μια ματιά στο διαδραστικό μας, ζωντανό διαδικτυακό εδώ, συνοδεύεται από υποστήριξη 24 * 7 για να σας καθοδηγήσει καθ 'όλη τη διάρκεια της μαθησιακής σας περιόδου.
Έχετε μια ερώτηση; Παρακαλώ το αναφέρετε στα σχόλια και θα επικοινωνήσουμε μαζί σας.