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

Overfitting en Regularisatie

Veeg om het menu te tonen

Zoals aangetoond in het vorige hoofdstuk, kun je met PolynomialFeatures een complexe beslissingsgrens creëren. Tweede-graads polynoomkenmerken kunnen zelfs de grenzen produceren die in de onderstaande afbeelding worden getoond:

PolyFeaturesBoundaries

En dit is slechts een graad van twee. Een hogere graad kan zelfs complexere vormen opleveren. Maar hier zit een probleem aan vast. De beslissingsgrens die door Logistic Regression wordt opgebouwd, kan te ingewikkeld worden, waardoor het model gaat overfitten.

Overfitting betekent dat het model, in plaats van algemene patronen in de data te leren, een zeer complexe beslissingsgrens opbouwt om elk trainingsvoorbeeld te behandelen. Toch presteert het model minder goed op data die het nog nooit heeft gezien, terwijl goed presteren op onbekende data juist een primaire taak is van het machine learning model.

overfitting lr

Regularisatie pakt het probleem van overfitting aan. In feite wordt l2-regularisatie standaard gebruikt in de LogisticRegression-klasse. Je moet echter configureren hoe sterk het model geregulariseerd moet worden. Dit wordt geregeld door een C-parameter:

carousel-imgcarousel-imgcarousel-img
  • hogere C - lagere regularisatie, meer overfitting;
  • lagere C - sterkere regularisatie, minder overfitting (maar mogelijk underfitting).

Welke waarden van C een goed model opleveren, hangt af van de dataset. Het is daarom beter om deze te kiezen met behulp van GridSearchCV.

Note
Opmerking

Bij het gebruik van Logistic Regression met regularisatie is het essentieel om je data te schalen. Regularisatie straft grote coëfficiënten af, en zonder schaling kunnen kenmerken met grotere waarden de resultaten verstoren. Schalen is vrijwel altijd noodzakelijk - zelfs als er geen regularisatie wordt gebruikt.

De LogisticRegression-klasse bevat standaard regularisatie, dus je moet ofwel de regularisatie verwijderen (door penalty=None in te stellen) of de data schalen (bijvoorbeeld met StandardScaler).

Note
Opmerking

Als je zowel PolynomialFeatures als StandardScaler gebruikt, zorg er dan voor dat je StandardScaler na het genereren van de polynoomfeatures toepast. Het schalen van de data voor de polynoomexpansie kan de resulterende features verstoren, omdat bewerkingen zoals kwadrateren of vermenigvuldigen van reeds gestandaardiseerde waarden kunnen leiden tot onnatuurlijke verdelingen.

1. Kies de ONJUISTE uitspraak.

2. Wat is de juiste volgorde om data te preprocessen

question mark

Kies de ONJUISTE uitspraak.

Selecteer het correcte antwoord

question mark

Wat is de juiste volgorde om data te preprocessen

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 5

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 5
some-alt