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

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:

PolyFeaturesBoundaries

Kyseessä on kuitenkin 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 ylisovittamiseen.

Ylisovittaminen tarkoittaa tilannetta, jossa malli yleisten kaavojen oppimisen sijaan rakentaa hyvin monimutkaisen päätösrajan käsitelläkseen jokaisen harjoitusaineiston tapauksen erikseen. Tällöin malli ei kuitenkaan suoriudu yhtä hyvin aiemmin näkemättömällä datalla, vaikka juuri siihen koneoppimismallin tulisi ensisijaisesti pyrkiä.

ylisovitus lr

Regularisointi ratkaisee ylisovituksen ongelman. Itse asiassa l2-regularisointi on oletuksena käytössä LogisticRegression-luokassa. Mallin regularisoinnin voimakkuus täytyy kuitenkin määrittää. Tätä ohjataan 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äytät logistista regressiota regularisoinnin kanssa, on tärkeää 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ää regularisoinnin oletuksena, joten sinun tulisi joko poistaa regularisointi (asettamalla penalty=None) tai skaalata data (esim. käyttämällä StandardScaler-menetelmää).

Note
Huomio

Jos käytät sekä PolynomialFeatures- että StandardScaler-luokkia, varmista, että sovellat StandardScaler-skaalausta vasta 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äsittelylle

question mark

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

Valitse oikea vastaus

question mark

Mikä on oikea järjestys datan esikäsittelylle

Valitse oikea vastaus

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

Osio 2. Luku 5
some-alt