Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Ylisovittaminen ja Regularisointi | Logistinen Regressio
Luokittelu Pythonilla

bookYlisovittaminen 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:

carousel-imgcarousel-imgcarousel-img
  • 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ää.

Note
Huomio

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).

Note
Huomio

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

question mark

Valitse VÄÄRÄ väittämä.

Select the correct answer

question mark

Mikä on oikea järjestys datan esikäsittelyyn

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 5

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

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

bookYlisovittaminen 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:

carousel-imgcarousel-imgcarousel-img
  • 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ää.

Note
Huomio

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).

Note
Huomio

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

question mark

Valitse VÄÄRÄ väittämä.

Select the correct answer

question mark

Mikä on oikea järjestys datan esikäsittelyyn

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 5
some-alt