Ylisovittaminen ja Regularisointi
Kuten edellisessä luvussa osoitettiin, käyttämällä PolynomialFeatures
-toimintoa voidaan luoda monimutkainen päätösraja. Toisen asteen polynomipiirteet voivat tuottaa alla olevan kuvan mukaisia rajoja:
Ja kyseessä on vain toisen asteen polynomi. Korkeampi aste voi tuottaa vielä monimutkaisempia muotoja. Tässä piilee kuitenkin ongelma. Logistisen regressiomallin rakentama päätösraja voi muodostua liian monimutkaiseksi, mikä johtaa mallin ylioppimiseen.
Ylioppiminen tarkoittaa tilannetta, jossa malli ei opi yleisiä piirteitä datasta, vaan rakentaa hyvin monimutkaisen päätösrajan käsitelläkseen jokaisen harjoitusaineiston tapauksen erikseen. Tällöin malli ei kuitenkaan suoriudu hyvin aiemmin näkemättömällä datalla, vaikka juuri siihen koneoppimismallin tulisi ensisijaisesti pyrkiä.
Regularisointi ratkaisee ylioppimisen ongelman. Itse asiassa l2-regularisointi on oletuksena käytössä LogisticRegression
-luokassa. Mallin regularisoinnin voimakkuus täytyy kuitenkin määrittää. Tätä säädetään C
-parametrilla:



- suurempi
C
– heikompi regularisointi, enemmän ylioppimista; - pienempi
C
– vahvempi regularisointi, vähemmän ylioppimista (mutta mahdollisesti alioppimista).
Millaiset C
-arvot tuottavat hyvän mallin riippuu aineistosta, joten on parempi valita se käyttämällä GridSearchCV
-menetelmää.
Kun käytetään logistista regressiota regularisoinnin kanssa, on olennaista skaalata data. Regularisointi rankaisee suuria kertoimia, ja ilman skaalausta suuremmat piirteet voivat vääristää tuloksia. Itse asiassa skaalaus on lähes aina tarpeen – jopa silloin, kun regularisointia ei käytetä.
LogisticRegression
-luokka sisältää oletuksena regularisoinnin, joten sinun tulisi joko poistaa regularisointi (asettamalla penalty=None
) tai skaalaa data (esim. käyttämällä StandardScaler
).
Jos käytät sekä PolynomialFeatures
- että StandardScaler
-luokkia, varmista että sovellat StandardScaler
-skaalausta polynomisten piirteiden luonnin jälkeen. Datan skaalaaminen ennen polynomista laajennusta voi vääristää syntyviä piirteitä, koska esimerkiksi neliöinti tai kertolasku jo standardoiduilla arvoilla voi johtaa epäluonnollisiin jakaumiin.
1. Valitse VÄÄRÄ väittämä.
2. Mikä on oikea järjestys datan esikäsittelyyn
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain how to use GridSearchCV to find the best C value?
What is the difference between overfitting and underfitting?
How does regularization help prevent overfitting in logistic regression?
Awesome!
Completion rate improved to 4.17
Ylisovittaminen ja Regularisointi
Pyyhkäise näyttääksesi valikon
Kuten edellisessä luvussa osoitettiin, käyttämällä PolynomialFeatures
-toimintoa voidaan luoda monimutkainen päätösraja. Toisen asteen polynomipiirteet voivat tuottaa alla olevan kuvan mukaisia rajoja:
Ja kyseessä on vain toisen asteen polynomi. Korkeampi aste voi tuottaa vielä monimutkaisempia muotoja. Tässä piilee kuitenkin ongelma. Logistisen regressiomallin rakentama päätösraja voi muodostua liian monimutkaiseksi, mikä johtaa mallin ylioppimiseen.
Ylioppiminen tarkoittaa tilannetta, jossa malli ei opi yleisiä piirteitä datasta, vaan rakentaa hyvin monimutkaisen päätösrajan käsitelläkseen jokaisen harjoitusaineiston tapauksen erikseen. Tällöin malli ei kuitenkaan suoriudu hyvin aiemmin näkemättömällä datalla, vaikka juuri siihen koneoppimismallin tulisi ensisijaisesti pyrkiä.
Regularisointi ratkaisee ylioppimisen ongelman. Itse asiassa l2-regularisointi on oletuksena käytössä LogisticRegression
-luokassa. Mallin regularisoinnin voimakkuus täytyy kuitenkin määrittää. Tätä säädetään C
-parametrilla:



- suurempi
C
– heikompi regularisointi, enemmän ylioppimista; - pienempi
C
– vahvempi regularisointi, vähemmän ylioppimista (mutta mahdollisesti alioppimista).
Millaiset C
-arvot tuottavat hyvän mallin riippuu aineistosta, joten on parempi valita se käyttämällä GridSearchCV
-menetelmää.
Kun käytetään logistista regressiota regularisoinnin kanssa, on olennaista skaalata data. Regularisointi rankaisee suuria kertoimia, ja ilman skaalausta suuremmat piirteet voivat vääristää tuloksia. Itse asiassa skaalaus on lähes aina tarpeen – jopa silloin, kun regularisointia ei käytetä.
LogisticRegression
-luokka sisältää oletuksena regularisoinnin, joten sinun tulisi joko poistaa regularisointi (asettamalla penalty=None
) tai skaalaa data (esim. käyttämällä StandardScaler
).
Jos käytät sekä PolynomialFeatures
- että StandardScaler
-luokkia, varmista että sovellat StandardScaler
-skaalausta polynomisten piirteiden luonnin jälkeen. Datan skaalaaminen ennen polynomista laajennusta voi vääristää syntyviä piirteitä, koska esimerkiksi neliöinti tai kertolasku jo standardoiduilla arvoilla voi johtaa epäluonnollisiin jakaumiin.
1. Valitse VÄÄRÄ väittämä.
2. Mikä on oikea järjestys datan esikäsittelyyn
Kiitos palautteestasi!