Beslissingsgrens
Laten we de resultaten van Logistische Regressie visualiseren. Bekijk het volgende voorbeeld met twee kenmerken:
Na het opstellen van een Logistische Regressie kan een beslissingsgrens worden weergegeven. Deze toont het gebied van elke klasse waarin nieuwe instanties als die klasse worden voorspeld. Hier volgt bijvoorbeeld de beslissingsgrens van Logistische Regressie toegepast op bovenstaande gegevens:
Hier is te zien dat de lijn de twee klassen perfect scheidt. In dat geval wordt de dataset lineair scheidbaar genoemd. Dit is echter niet altijd het geval. Stel dat de dataset er als volgt uitziet:
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 een Polynomiale Regressie, en we kunnen de vergelijking hiervan gebruiken om z te berekenen en zo een complexere vorm van de beslissingsgrens te verkrijgen:
z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22Net 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 inputfeatures in X door toe te voegen:
- Kwadratische termen (bijv. x2);
- Interactietermen (bijv. x1⋅x2 als er meerdere features zijn).
Als X bijvoorbeeld oorspronkelijk twee features heeft: [x1,x2], dan krijg je na het toepassen van PolynomialFeatures(2, include_bias=False): [x1,x2,x12,x1x2,x22]
Hierdoor kunnen modellen zoals Logistische Regressie niet-lineaire relaties vastleggen en flexibelere, gebogen beslissingsgrenzen produceren. Echter, het verhogen van de graad kan ertoe leiden dat het model te goed past op de trainingsdata - een probleem dat bekend staat als overfitting. Daarom proberen we meestal eerst lagere graden en evalueren we het model zorgvuldig.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Geweldig!
Completion tarief verbeterd naar 3.33
Beslissingsgrens
Veeg om het menu te tonen
Laten we de resultaten van Logistische Regressie visualiseren. Bekijk het volgende voorbeeld met twee kenmerken:
Na het opstellen van een Logistische Regressie kan een beslissingsgrens worden weergegeven. Deze toont het gebied van elke klasse waarin nieuwe instanties als die klasse worden voorspeld. Hier volgt bijvoorbeeld de beslissingsgrens van Logistische Regressie toegepast op bovenstaande gegevens:
Hier is te zien dat de lijn de twee klassen perfect scheidt. In dat geval wordt de dataset lineair scheidbaar genoemd. Dit is echter niet altijd het geval. Stel dat de dataset er als volgt uitziet:
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 een Polynomiale Regressie, en we kunnen de vergelijking hiervan gebruiken om z te berekenen en zo een complexere vorm van de beslissingsgrens te verkrijgen:
z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22Net 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 inputfeatures in X door toe te voegen:
- Kwadratische termen (bijv. x2);
- Interactietermen (bijv. x1⋅x2 als er meerdere features zijn).
Als X bijvoorbeeld oorspronkelijk twee features heeft: [x1,x2], dan krijg je na het toepassen van PolynomialFeatures(2, include_bias=False): [x1,x2,x12,x1x2,x22]
Hierdoor kunnen modellen zoals Logistische Regressie niet-lineaire relaties vastleggen en flexibelere, gebogen beslissingsgrenzen produceren. Echter, het verhogen van de graad kan ertoe leiden dat het model te goed past op de trainingsdata - een probleem dat bekend staat als overfitting. Daarom proberen we meestal eerst lagere graden en evalueren we het model zorgvuldig.
Bedankt voor je feedback!