Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Beslissingsgrens | Logistische Regressie
Classificatie met Python

Beslissingsgrens

Veeg om het menu te tonen

Laten we de resultaten van Logistische Regressie plotten. Bekijk het volgende voorbeeld met twee kenmerken:

DecisionBoundarySetup

Zodra we een Logistische Regressie hebben gebouwd, kunnen we een beslissingsgrens plotten. Deze toont het gebied van elke klasse waarin nieuwe instanties als die klasse worden voorspeld. Hier is bijvoorbeeld de beslissingsgrens van Logistische Regressie toegepast op de bovenstaande gegevens:

Beslissingsgrens

We zien dat de lijn hier twee klassen perfect scheidt. Wanneer dat het geval is, wordt de dataset lineair scheidbaar genoemd. Dit is echter niet altijd het geval. Stel dat de dataset er zo uitziet:

SlechteBeslissingsgrens

Hierboven staat een beslissingsgrens voor een iets andere dataset. Hier zijn de gegevens niet lineair scheidbaar; daarom zijn de voorspellingen van Logistische Regressie niet perfect. Helaas kan Logistische Regressie standaard geen complexere beslissingsgrenzen voorspellen, dus dit is de beste voorspelling die we kunnen krijgen.

Maar onthoud dat Logistische Regressie is afgeleid van Lineaire Regressie, die een oplossing heeft voor het probleem dat het model te eenvoudig is. Deze oplossing is Polynomiale Regressie, en we kunnen de vergelijking hiervan gebruiken voor het berekenen van zz om een complexere vorm van de beslissingsgrens te krijgen:

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

Net als bij Polynomiale Regressie kunnen we de PolynomialFeatures-transformer gebruiken om polynomiale termen toe te voegen aan onze features - dit helpt het model om complexere patronen te leren.

from sklearn.preprocessing import PolynomialFeatures

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

Deze regel transformeert de oorspronkelijke invoervariabelen in X door toe te voegen:

  • Kwadratische termen (bijv. x2x^2);
  • Interactietermen (bijv. x1x2x_1 \cdot x_2 als er meerdere features zijn).

Als X bijvoorbeeld oorspronkelijk twee features heeft: [x1,x2][x_1, x_2], dan krijg je na het toepassen van PolynomialFeatures(2, include_bias=False): [x1,x2,x12,x1x2,x22][x_1, x_{2}, x_{1}\\^{2} , x_{1} x_{2}, x_{2}\\^{2}]

Hierdoor kunnen modellen zoals Logistische Regressie niet-lineaire relaties vastleggen en flexibelere, gebogen beslissingsgrenzen produceren. Echter, als de graad te hoog wordt gekozen, kan het model te goed passen op de trainingsdata - een probleem dat overfitting wordt genoemd. Daarom proberen we meestal eerst lagere graden en evalueren we het model zorgvuldig.

question mark

Waarom heb je polynomiale kenmerken nodig bij Logistische Regressie?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 4

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 2. Hoofdstuk 4
some-alt