Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Entscheidungsgrenze | Logistische Regression
Klassifikation mit Python

Entscheidungsgrenze

Swipe um das Menü anzuzeigen

Visualisierung der Ergebnisse der logistischen Regression. Beispiel mit zwei Merkmalen:

DecisionBoundarySetup

Nach dem Erstellen einer logistischen Regression kann eine Entscheidungsgrenze dargestellt werden. Sie zeigt für jede Klasse den Bereich, in dem neue Instanzen dieser Klasse zugeordnet werden. Beispielhaft die Entscheidungsgrenze der logistischen Regression für die oben genannten Daten:

Entscheidungsgrenze

Hier ist zu erkennen, dass die Linie zwei Klassen perfekt trennt. In diesem Fall wird der Datensatz als linear trennbar bezeichnet. Das ist jedoch nicht immer der Fall. Wie wäre es, wenn der Datensatz so aussehen würde:

EntscheidungsgrenzeSchlecht

Oben ist eine Entscheidungsgrenze für einen etwas anderen Datensatz dargestellt. Hier sind die Daten nicht linear trennbar; daher sind die Vorhersagen der logistischen Regression unvollkommen. Leider kann die logistische Regression standardmäßig keine komplexeren Entscheidungsgrenzen vorhersagen, sodass dies die beste Vorhersage ist, die wir erhalten können.

Es ist jedoch zu beachten, dass die logistische Regression von der linearen Regression abgeleitet ist, die eine Lösung für das Problem eines zu einfachen Modells bietet. Diese Lösung ist die polynomielle Regression, und wir können deren Gleichung zur Berechnung von zz verwenden, um eine komplexere Form der Entscheidungsgrenze zu erhalten:

z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22z = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \beta_3 x_1^2 + \beta_4 x_1 x_2 + \beta_5 x_2^2
PolyDecisionBoundary

Wie bei der polynomialen Regression können wir den PolynomialFeatures-Transformer verwenden, um polynomielle Terme zu unseren Merkmalen hinzuzufügen – das hilft dem Modell, komplexere Muster zu erkennen.

from sklearn.preprocessing import PolynomialFeatures

X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)

Diese Zeile transformiert die ursprünglichen Eingabemerkmale in X, indem sie hinzufügt:

  • Quadratterme (z. B. x2x^2);
  • Interaktionsterme (z. B. x1x2x_1 \cdot x_2, wenn es mehrere Merkmale gibt).

Wenn X beispielsweise ursprünglich zwei Merkmale hat: [x1,x2][x_1, x_2], dann erhält man nach Anwendung von PolynomialFeatures(2, include_bias=False): [x1,x2,x12,x1x2,x22][x_1, x_{2}, x_{1}\\^{2} , x_{1} x_{2}, x_{2}\\^{2}]

Dadurch können Modelle wie die logistische Regression nichtlineare Zusammenhänge erfassen und flexiblere, gekrümmte Entscheidungsgrenzen erzeugen. Wird der Grad jedoch zu stark erhöht, kann das Modell die Trainingsdaten zu gut anpassen – ein Problem, das als Overfitting bekannt ist. Deshalb probiert man in der Regel zunächst kleinere Grade aus und bewertet das Modell sorgfältig.

question mark

Warum benötigt man polynomiale Merkmale in der logistischen Regression?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 2. Kapitel 4
some-alt