Logistische Regression für maschinelles Lernen: Ein vollständiger Leitfaden

Veröffentlicht: 2021-10-04

Modelle für maschinelles Lernen benötigen Algorithmen, um zu funktionieren. Abhängig von den Bedingungen kann ein bestimmtes ML-Modell mit dem einen oder anderen Algorithmus die beste Leistung erbringen. Infolgedessen sollten sich Ingenieure und Enthusiasten des maschinellen Lernens der verschiedenen Arten von Algorithmen bewusst sein, die in verschiedenen Kontexten verwendet werden können – um zu wissen, welcher zu verwenden ist, wenn die Zeit gekommen ist. Beim maschinellen Lernen gibt es nie eine Einheitslösung, und das Optimieren mit verschiedenen Algorithmen kann die gewünschten Ergebnisse liefern.

Beispielsweise müssen Sie sich bereits mit linearer Regression auskennen. Dieser Algorithmus kann jedoch nicht auf kategorisch abhängige Variablen angewendet werden. Hier kommt die logistische Regression ins Spiel.

Beim maschinellen Lernen ist die logistische Regression eine überwachte Lernmethode, die zur Vorhersage der Wahrscheinlichkeit einer abhängigen oder einer Zielvariablen verwendet wird. Mithilfe der logistischen Regression können Sie Beziehungen zwischen abhängigen und einer oder mehreren unabhängigen Variablen vorhersagen und herstellen.

Logistische Regressionsgleichungen und -modelle werden im Allgemeinen für prädiktive Analysen für die binäre Klassifizierung verwendet. Sie können sie auch für die Mehrklassenklassifizierung verwenden.

So sieht die logistische Regressionsgleichung für maschinelles Lernen aus:

logit(p) = ln(p/(1-p)) = h0+h1X1+h2X2+h3X3….+hkXk

Woher;

p = Wahrscheinlichkeit des Auftretens des Merkmals

x1,x2,..xk = Satz von Eingabemerkmalen

h1,h2,….hk = in der logistischen Regressionsgleichung zu schätzende parametrische Werte.

Inhaltsverzeichnis

Arten von logistischen Regressionsmodellen im maschinellen Lernen

Basierend auf der Art und Weise, wie die logistische Regression verwendet wird, kann die Art der logistischen Regressionsmodelle wie folgt klassifiziert werden:

1. Binäres logistisches Regressionsmodell

Dies ist eines der am häufigsten verwendeten Regressionsmodelle für die logistische Regression. Es hilft, Daten in zwei Klassen zu kategorisieren und den Wert einer neuen Eingabe als zu einer der beiden Klassen gehörend vorherzusagen. Beispielsweise kann der Tumor eines Patienten entweder gutartig oder bösartig sein, aber niemals beides.

2. Multinomiales logistisches Regressionsmodell

Dieses Modell hilft dabei, Zielgrößen in mehr als zwei Klassen einzuteilen – unabhängig von ihrer quantitativen Bedeutung. Ein Beispiel hierfür könnte die Vorhersage der Art von Lebensmitteln sein, die eine Person wahrscheinlich bestellen wird, basierend auf ihren Ernährungspräferenzen und früheren Erfahrungen.

Nehmen Sie online am Machine Learning-Kurs der weltbesten Universitäten teil – Master, Executive Post Graduate Programs und Advanced Certificate Program in ML & AI, um Ihre Karriere zu beschleunigen.

3. Ordinales logistisches Regressionsmodell

Dieses Modell wird zur Klassifizierung der Zielgröße verwendet. Beispielsweise können die Leistungen eines Studenten in einer Prüfung in einer hierarchischen Reihenfolge als schlecht, gut und ausgezeichnet eingestuft werden. Auf diese Weise werden die Daten in drei verschiedene Kategorien eingeteilt, wobei jede Klasse eine bestimmte Wichtigkeitsstufe hat.

Die logistische Regressionsgleichung kann in mehreren Fällen verwendet werden, z. B. bei der Spam-Erkennung, Tumorklassifizierung, Geschlechtskategorisierung und vielen mehr. Sehen wir uns zwei der häufigsten Beispielanwendungsfälle der logistischen Regressionsgleichung im maschinellen Lernen an, um Ihnen zu helfen, sie besser zu verstehen.

Beispielanwendungsfälle der logistischen Regressionsgleichung

Beispiel 1: Identifizieren von Spam-E-Mails

Betrachten Sie die Klasse 1, wenn die E-Mail Spam ist, und 0, wenn die E-Mail kein Spam ist. Um dies zu erkennen, werden mehrere Attribute aus dem Mail-Body analysiert. Diese schließen ein:

  • Der Absender
  • Rechtschreibfehler
  • Schlüsselwörter in der E-Mail wie „Bankverbindung“, „Glückwunsch“, „Gewinner“, „Herzlichen Glückwunsch“.
  • Kontaktdaten oder URL in der E-Mail

Diese extrahierten Daten können dann in die logistische Regressionsgleichung für maschinelles Lernen eingespeist werden, die alle Eingaben analysiert und eine Punktzahl zwischen 0 und 1 liefert. Wenn die Punktzahl größer als 0, aber kleiner als 0,5 ist, wird die E-Mail als Spam klassifiziert und liegt die Punktzahl zwischen 0,5 und 1, wird die E-Mail als Nicht-Spam markiert.

Beispiel 2: Identifizierung von Kreditkartenbetrug

Mithilfe von logistischen Regressionsgleichungen oder auf logistischer Regression basierenden maschinellen Lernmodellen können Banken betrügerische Kreditkartentransaktionen umgehend identifizieren. Dazu werden Details wie PoS, Kartennummer, Transaktionswert, Transaktionsdaten und dergleichen in das logistische Regressionsmodell eingespeist, das entscheidet, ob eine bestimmte Transaktion echt (0) oder betrügerisch (1) ist. Ist beispielsweise der Einkaufswert zu hoch und weicht von typischen Werten ab, weist das Regressionsmodell einen Wert (zwischen 0,5 und 1) zu, der die Transaktion als Betrug einstuft.

Funktionsweise der logistischen Regression beim maschinellen Lernen

Die logistische Regression arbeitet mit der Sigmoid-Funktion, um die Vorhersagen den Ausgabewahrscheinlichkeiten zuzuordnen. Diese Funktion ist eine S-förmige Kurve, die die vorhergesagten Werte zwischen 0 und 1 darstellt. Die Werte werden dann zu den Rändern oben und unten auf der Y-Achse aufgetragen, wobei 0 und 1 als Beschriftungen verwendet werden. Abhängig von diesen Werten können dann die unabhängigen Variablen klassifiziert werden.

So sieht die Sigmoid-Funktion aus:

Die Sigmoid-Funktion basiert auf der folgenden Gleichung:

y=1/(1+e^x)

Wobei e^x= die Exponentialkonstante mit einem Wert von 2,718 ist.

Die obige Gleichung der Sigmoid-Funktion liefert den vorhergesagten Wert (y) als Null, wenn x als negativ betrachtet wird. Wenn x eine große positive Zahl ist, liegt der vorhergesagte Wert nahe bei eins.

Erstellen eines logistischen Regressionsmodells in Python

Lassen Sie uns den Prozess zum Erstellen eines logistischen Regressionsmodells in Python durchgehen. Lassen Sie uns dazu den Datensatz des sozialen Netzwerks verwenden, um die Regressionsanalyse durchzuführen, und versuchen wir vorherzusagen, ob eine Person ein bestimmtes Auto kaufen wird oder nicht. So sehen die Schritte aus.

Schritt 1: Importieren der Bibliotheken und des Datensatzes

Es beginnt mit dem Importieren der Bibliotheken, die zum Erstellen des Modells benötigt werden. Dazu gehören Pandas, Numpy und Matplotlib. Wir müssen auch den Datensatz importieren, mit dem wir arbeiten werden. So sieht der Code aus:

importiere numpy als np

importiere matplotlib.pyplot als pt

pandas als pd importieren

Datensatz = pd.read_csv('Social_Network.csv')

Schritt 2: Aufteilung in abhängige und unabhängige Variablen

Jetzt ist es an der Zeit, die eingespeisten Daten in abhängige und unabhängige Variablen aufzuteilen. Für dieses Beispiel betrachten wir den Anschaffungswert als abhängige Variable, während das geschätzte Gehalt und das Alter der Personen als unabhängige Variablen betrachtet werden.

x = Datensatz.iloc[:, [2,3]].Werte

y = dataset.iloc[:, 4].values

Schritt 3: Aufteilen des Datensatzes in einen Trainingssatz und einen Testsatz

Es ist wichtig, den Datensatz in spezifische Trainings- und Testsätze aufzuteilen. Der Trainingssatz trainiert die logistische Regressionsgleichung, während die Testdaten verwendet werden, um das Training des Modells zu validieren und zu testen. Sklearn wird verwendet, um den gegebenen Datensatz in zwei Sätze aufzuteilen. Wir verwenden die train_split_function, indem wir die Datenmenge angeben, die wir für Training und Tests beiseite legen möchten.

aus sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0,33, random_state = 0)

Wie Sie sehen können, haben wir die Testgröße auf 33 % des vollständigen Datensatzes festgelegt. Die restlichen 66 % werden also als Trainingsdaten verwendet.

Schritt 4: Skalierung

Um die Genauigkeit Ihres logistischen Regressionsmodells zu verbessern, müssen Sie die Daten neu skalieren und Werte einbringen, die möglicherweise sehr unterschiedlicher Natur sind.

aus sklearn.preprocessing importieren Sie StandardScaler

sc_X = StandardSkalierer()

X_train = sc_X.fit_transform(X_train)

X_test = sc_X.transform(X_test)

Schritt 5: Aufbau des logistischen Regressionsmodells

Sobald dies erledigt ist, müssen Sie das logistische Regressionsmodell erstellen und es in das Trainingsset einfügen. Beginnen Sie mit dem Importieren des logistischen Regressionsalgorithmus von Sklearn.

aus sklearn.linear_model import LogisticRegression

Erstellen Sie dann einen Instanzklassifizierer, der zu den Trainingsdaten passt.

classifier = LogisticRegression(random_state=0)

classifier.fit(x_zug, y_zug)

Erstellen Sie als Nächstes Vorhersagen für das Testdataset.

y_pred = classifier.predict(x_test)

Überprüfen Sie abschließend die Leistung Ihres logistischen Regressionsmodells mithilfe der Confusion-Matrix.

aus sklearn.metrics importieren verwirrte_matrix

cm = Verwirrungsmatrix (y_test, y_pred)

acc = precision_score(y_test, y_pred)

Drucken (Zugriff)

Druck (cm)

Jetzt können Sie Matplotlib verwenden, um den gesamten Datensatz zu visualisieren, einschließlich Trainings- und Testdatensätze!

Abschließend

Die logistische Regression ist eines der Werkzeuge, die bei der Entwicklung von Modellen und Algorithmen für maschinelles Lernen helfen. Ebenso gibt es mehrere andere Algorithmen, die je nach Anwendungsfall verwendet werden. Um jedoch zu wissen, welcher Algorithmus zu verwenden ist, sollten Sie sich aller möglichen Optionen bewusst sein. Nur dann sind Sie in der Lage, den passendsten Algorithmus für Ihren Datensatz auszuwählen.

Schauen Sie sich unser Executive PG-Programm für maschinelles Lernen an, das so konzipiert ist, dass es Sie von Grund auf neu entwickelt und Ihnen dabei hilft, Ihre Fähigkeiten bis an die Spitze auszubauen – damit Sie in der Lage sind, jedes reale Problem des maschinellen Lernens zu lösen. Schauen Sie sich die verschiedenen Kurse an und melden Sie sich für den an, der sich für Sie richtig anfühlt. Machen Sie mit bei upGrad und erleben Sie eine ganzheitliche Lernumgebung und Vermittlungsunterstützung!

Wie viele Arten der logistischen Regression für maschinelles Lernen sind möglich?

Bei der logistischen Regression gibt es im Großen und Ganzen drei Arten:
1. Binär
2. Multinomial
3. Ordnungszahl.

Wofür wird die logistische Regression beim maschinellen Lernen verwendet?

Die logistische Regression ist eine der überwachten Lernmethoden, die verwendet werden, um die am besten passende Beziehung zwischen abhängigen und unabhängigen Variablen zu finden und aufzubauen, um korrekte zukünftige Vorhersagen zu treffen.

Welche Funktion verwendet die logistische Regression für maschinelles Lernen?

Die logistische Regression für maschinelles Lernen verwendet die Sigmoid-Funktion, um die am besten passende Kurve zu finden.