Datenwissenschaft

Logistische Regression in Python

Logistische Regression in Python
Die logistische Regression ist ein Klassifikationsalgorithmus für maschinelles Lernen. Die logistische Regression ähnelt auch der linearen Regression. Der Hauptunterschied zwischen der logistischen Regression und der linearen Regression besteht jedoch darin, dass die Ausgabewerte der logistischen Regression immer binär (0, 1) und nicht numerisch sind. Die logistische Regression stellt grundsätzlich eine Beziehung zwischen unabhängigen Variablen (einer oder mehreren) und abhängigen Variablen her. Die abhängige Variable ist eine binäre Variable, die meistens zwei Fälle hat:

Die zentrale Bedeutung der logistischen Regression:

  1. Die unabhängigen Variablen dürfen nicht multikollinear sein; Wenn es eine Beziehung gibt, dann 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 gewisse Bedeutung hat.
  4. Die unabhängigen Variablen müssen gemäß Log-Quoten.

Um das Modell des zu bauen logistische Regression, wir benutzen das scikit-lernen 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 an.
  7. Vorhersage des Modells anhand der Testdaten und Berechnung der Genauigkeit des Modells.

Problem: Die ersten Schritte bestehen darin, den Datensatz zu sammeln, auf den wir die Anwendung anwenden möchten Logistische Regression. Der Datensatz, den wir hier verwenden werden, ist für den MS-Aufnahmedatensatz. Dieser Datensatz hat vier Variablen, von denen drei unabhängige Variablen (GRE, GPA, work_experience) und eine abhängige Variable (zugegeben) sind. Dieser Datensatz sagt aus, ob der Kandidat aufgrund seines Notendurchschnitts, GRE oder seiner Arbeitserfahrung an einer renommierten Universität zugelassen wird oder nicht.

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

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

Schritt 3: Der Datensatz sieht wie folgt 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 auf y gesetzt haben, drucken wir jetzt hier, um X und y mit der Head-Pandas-Funktion zu überprüfen.

Schritt 6: Jetzt werden wir den gesamten Datensatz in Training und Test aufteilen. Dazu verwenden wir die train_test_split Methode von sklearn. Wir haben 25 % des gesamten Datensatzes für den Test und die restlichen 75 % des Datensatzes für das Training verwendet.

Schritt 7: Jetzt werden wir den gesamten Datensatz in Training und Test aufteilen. Dazu verwenden wir die train_test_split Methode von sklearn. Wir haben 25 % des gesamten Datensatzes für den Test und die restlichen 75 % des Datensatzes für das Training verwendet.

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

Schritt 8: Jetzt ist unser Modell bereit für die Vorhersage, also übergeben wir jetzt die Testdaten (X_test) an das Modell und haben die Ergebnisse erhalten. Die Ergebnisse zeigen (y_predictions), dass die Werte 1 (zugelassen) und 0 (nicht zugelassen) sind.

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

Der Klassifizierungsbericht zeigt, dass das Modell die Ergebnisse mit einer Genauigkeit von 69 % vorhersagen kann.
Die Konfusionsmatrix zeigt die gesamten X_test-Datendetails als:
TP = Wahre Positive = 8
TN = Wahre Negative = 61
FP = Falsch Positive = 4
FN = Falsche Negative = 27

Die Gesamtgenauigkeit gemäß der Confusion_matrix ist also:

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

Schritt 10: Jetzt werden wir das Ergebnis durch Drucken überprüfen. Also drucken wir einfach die Top 5 Elemente von X_test und y_test (tatsächlicher wahrer Wert) mit der Head Pandas Funktion. Dann drucken wir auch die Top-5-Ergebnisse der Vorhersagen wie unten gezeigt:

Wir kombinieren alle drei Ergebnisse in einem Blatt, um die Vorhersagen wie unten gezeigt zu verstehen. Wir können sehen, dass die Vorhersage mit Ausnahme der 341 X_test-Daten, die wahr (1) waren, falsch (0) ist sonst. Unsere Modellvorhersagen funktionieren also zu 69 %, wie wir oben bereits gezeigt haben.

Schritt 11: Wir verstehen also, wie die Modellvorhersagen für den unsichtbaren Datensatz wie X_test . durchgeführt werden. Also haben wir nur einen zufällig neuen Datensatz mit einem Pandas-Datenrahmen erstellt, ihn an das trainierte Modell übergeben und das unten gezeigte Ergebnis erhalten.

Der vollständige Code in Python unten angegeben:

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

Logistische Regression in Python
Die logistische Regression ist ein Klassifikationsalgorithmus für maschinelles Lernen. Die logistische Regression ähnelt auch der linearen Regression....
K-Means-Clustering
Der Code für diesen Blog ist zusammen mit dem Datensatz unter dem folgenden Link verfügbar https://github.com/shekharpandey89/k-means K-Means-Clusteri...
So erstellen Sie eine Pivot-Tabelle in Pandas Python
In Pandas Python umfasst die Pivot-Tabelle Summen-, Zähl- oder Aggregationsfunktionen, die aus einer Datentabelle abgeleitet werden. Aggregationsfunkt...