Logistische Regression in Python

Logistische Regression in Python
Logistische Regression ist ein Klassifizierungsalgorithmus für maschinelles Lernen. Die logistische Regression ähnelt auch der linearen Regression. Der Hauptunterschied zwischen logistischer Regression und linearer Regression besteht jedoch darin, dass die logistischen Regressionsausgangswerte immer binär (0, 1) und nicht numerisch sind. Die logistische Regression erzeugt im Grunde eine Beziehung zwischen unabhängigen Variablen (einer oder mehr als einem) und abhängigen Variablen. Die abhängige Variable ist eine binäre Variable, die meistens zwei Fälle hat:
  • 1 für wahr oder
  • 0 für false

Die wichtigste Bedeutung der logistischen Regression:

  1. Die unabhängigen Variablen dürfen keine Multikollinearität sein; Wenn es eine Beziehung gibt, sollte es sehr wenig sein.
  2. Der Datensatz für die logistische Regression sollte groß genug sein, um bessere Ergebnisse zu erzielen.
  3. Nur diese Attribute sollten im Datensatz vorhanden sein, was eine Bedeutung hat.
  4. Die unabhängigen Variablen müssen nach dem sein Protokollwidrigkeiten.

Das Modell der Aufbau des Modells logistische Regression, wir benutzen das Scikit-Learn Bibliothek. Der Prozess der logistischen Regression in Python ist unten angegeben:

  1. Importieren Sie alle erforderlichen Pakete für die logistische Regression und andere Bibliotheken.
  2. Laden Sie den Datensatz hoch.
  3. Verstehen Sie die unabhängigen Datensatzvariablen und abhängigen Variablen.
  4. Teilen Sie den Datensatz in Trainings- und Testdaten auf.
  5. Initialisieren Sie das logistische Regressionsmodell.
  6. Passen Sie das Modell mit dem Trainingsdatensatz ein.
  7. Prognostizieren Sie das Modell anhand der Testdaten und berechnen Sie die Genauigkeit des Modells.

Problem: Die ersten Schritte sind, den Datensatz zu sammeln, auf dem wir die anwenden möchten Logistische Regression. Der Datensatz, den wir hier verwenden werden, ist für den MS -Zulassungsdatensatz. Dieser Datensatz hat vier Variablen und von denen drei unabhängige Variablen sind (GRE, GPA, Work_Experience) und eine abhängige Variable (zugelassen). Dieser Datensatz zeigt, ob der Kandidat eine Zulassung oder nicht an eine angesehene Universität erhält, die auf seinem GPA, GRE oder Work_Experience basiert.

Schritt 1: Wir importieren alle erforderlichen Bibliotheken, die wir für das Python -Programm benötigten.

Schritt 2: Jetzt laden wir unseren MS -Zulassungsdatensatz mit der Funktion read_csv pandas.

Schritt 3: Der Datensatz sieht unten aus:

Schritt 4: Wir überprüfen alle im Datensatz verfügbaren Spalten und setzen dann alle unabhängigen Variablen auf variable x und abhängige Variablen auf y, wie im folgenden Screenshot gezeigt.

Schritt 5: Nachdem wir die unabhängigen Variablen auf x und die abhängige Variable in Y eingestellt haben.

Schritt 6: Jetzt werden wir den gesamten Datensatz in Training und Test einteilen. Dafür verwenden wir die Methode der train_test_split von sklearn. Wir haben 25% des gesamten Datensatzes für den Test und die verbleibenden 75% des Datensatzes zum Training gegeben.

Schritt 7: Jetzt werden wir den gesamten Datensatz in Training und Test einteilen. Dafür verwenden wir die Methode der train_test_split von sklearn. Wir haben 25% des gesamten Datensatzes für den Test und die verbleibenden 75% des Datensatzes zum Training gegeben.

Dann erstellen wir das logistische Regressionsmodell und passen die Trainingsdaten an.

Schritt 8: Jetzt ist unser Modell bereit für die Vorhersage, daher übergeben wir jetzt die Tests (X_test) an das Modell und haben die Ergebnisse erhalten. Die Ergebnisse zeigen (y_Predictions), dass die Werte 1 (zugelassen) und 0 (nicht zugelassen) bewertet werden.

Schritt 9: Jetzt drucken wir den Klassifizierungsbericht und die Verwirrungsmatrix aus.

Das Classification_Report zeigt, dass das Modell die Ergebnisse mit einer Genauigkeit von 69% vorhersagen kann.
Die Verwirrungsmatrix zeigt die Gesamtdetails der X_test -Daten als:
Tp = wahre positive Aspekte = 8
Tn = wahre negative = 61
Fp = falsch positives = 4
Fn = falsche negative = 27

Die Gesamtgenauigkeit gemäß der Confusion_Matrix lautet also:

Genauigkeit = (TP+TN)/Total = (8+61)/100 = 0.69

Schritt 10: Jetzt werden wir das Ergebnis durch Druck überprüften. Wir drucken also einfach die Top 5 Elemente des X_tests und des y_tests (tatsächlicher wahrer Wert) mit der Kopfpandas -Funktion. Anschließend drucken wir auch die Top 5 Ergebnisse der Vorhersagen wie unten gezeigt:

Wir kombinieren alle drei Ergebnisse in einem Blatt, um die Vorhersagen zu verstehen, wie unten gezeigt. Wir sehen. Unsere Modellvorhersagen funktionieren also 69%, wie wir bereits oben gezeigt haben.

Schritt 11: Wir verstehen also, wie die Modellvorhersagen im unsichtbaren Datensatz wie X_test erfolgen. Wir haben also nur ein zufällig neuer Datensatz mit einem Pandas -Datenfream erstellt, es an das geschulte Modell übergeben und das unten gezeigte Ergebnis erhalten.

Der vollständige Code in Python unten angegeben:

Der Code für diesen Blog zusammen mit dem Datensatz ist unter dem folgenden Link verfügbar
https: // github.com/Shekharpandey89/Logistic-Regression