Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Ylisovittaminen | Parhaan Mallin Valitseminen
Lineaarinen Regressio Pythonilla

bookYlisovittaminen

Ylisovittaminen

Tarkastele alla olevia kahta regressiosuoraa. Kumpi niistä on parempi?

Mittarit osoittavat, että toinen malli on parempi, joten sitä käytetään ennustamaan X_new = [0.2, 0.5, 2.7]. Kun kuitenkin verrataan ennusteita todellisiin arvoihin, ensimmäinen malli suoriutuu paremmin.

Tämä johtuu siitä, että toinen malli ylisovittaa — se on liian monimutkainen ja vastaa harjoitusaineistoa liian tarkasti, eikä kykene yleistämään uusiin tapauksiin.

Alioppiminen

Alioppiminen tapahtuu, kun malli on liian yksinkertainen sovittamaan edes opetusdataa, mikä johtaa myös heikkoihin ennusteisiin uudella datalla.

Voimme yrittää arvioida, alioppiiko vai ylioppiiko malli visuaalisesti.

Koska emme voi visualisoida korkean ulottuvuuden malleja, tarvitsemme toisen tavan havaita alioppiminen tai ylioppiminen.

Koulutus- ja testijoukon jako

Arvioidakseen suorituskykyä tuntemattomalla datalla, aineisto jaetaan koulutusjoukkoon ja testijoukkoon, joiden tavoitteet ovat tiedossa.

Mallia opetetaan koulutusjoukolla ja mittareita lasketaan sekä koulutus- että testijoukolle suorituskyvyn vertaamiseksi.

Jako tulee tehdä satunnaisesti. Tyypillisesti 20–30 % varataan testijoukolle ja 70–80 % käytetään koulutukseen. Scikit-learn tarjoaa helpon tavan toteuttaa tämän.

Esimerkiksi, jakaaksesi opetusjoukon 70 % koulutus-/30 % testijoukkoon, voit käyttää seuraavaa koodia:

from sklearn.model_selection import train_test_split # import the function
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
question-icon

Perustuen mallien MSE-arvoihin, selvitä yli- tai alisovittavatko ne koulutusjoukkoon (aineisto on sama).

Model 1: Training set's MSE=0.2, Test set's MSE=0.215 .
Model 2: Training set's MSE=0.14, Test set's MSE=0.42
.
Model 3: Training set's MSE=0.5, Test set's MSE=0.47
.

Click or drag`n`drop items and fill in the blanks

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you explain more about how overfitting and underfitting affect model performance?

What are some ways to prevent overfitting in machine learning models?

How do I choose the right train-test split ratio for my dataset?

Awesome!

Completion rate improved to 5.26

bookYlisovittaminen

Pyyhkäise näyttääksesi valikon

Ylisovittaminen

Tarkastele alla olevia kahta regressiosuoraa. Kumpi niistä on parempi?

Mittarit osoittavat, että toinen malli on parempi, joten sitä käytetään ennustamaan X_new = [0.2, 0.5, 2.7]. Kun kuitenkin verrataan ennusteita todellisiin arvoihin, ensimmäinen malli suoriutuu paremmin.

Tämä johtuu siitä, että toinen malli ylisovittaa — se on liian monimutkainen ja vastaa harjoitusaineistoa liian tarkasti, eikä kykene yleistämään uusiin tapauksiin.

Alioppiminen

Alioppiminen tapahtuu, kun malli on liian yksinkertainen sovittamaan edes opetusdataa, mikä johtaa myös heikkoihin ennusteisiin uudella datalla.

Voimme yrittää arvioida, alioppiiko vai ylioppiiko malli visuaalisesti.

Koska emme voi visualisoida korkean ulottuvuuden malleja, tarvitsemme toisen tavan havaita alioppiminen tai ylioppiminen.

Koulutus- ja testijoukon jako

Arvioidakseen suorituskykyä tuntemattomalla datalla, aineisto jaetaan koulutusjoukkoon ja testijoukkoon, joiden tavoitteet ovat tiedossa.

Mallia opetetaan koulutusjoukolla ja mittareita lasketaan sekä koulutus- että testijoukolle suorituskyvyn vertaamiseksi.

Jako tulee tehdä satunnaisesti. Tyypillisesti 20–30 % varataan testijoukolle ja 70–80 % käytetään koulutukseen. Scikit-learn tarjoaa helpon tavan toteuttaa tämän.

Esimerkiksi, jakaaksesi opetusjoukon 70 % koulutus-/30 % testijoukkoon, voit käyttää seuraavaa koodia:

from sklearn.model_selection import train_test_split # import the function
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
question-icon

Perustuen mallien MSE-arvoihin, selvitä yli- tai alisovittavatko ne koulutusjoukkoon (aineisto on sama).

Model 1: Training set's MSE=0.2, Test set's MSE=0.215 .
Model 2: Training set's MSE=0.14, Test set's MSE=0.42
.
Model 3: Training set's MSE=0.5, Test set's MSE=0.47
.

Click or drag`n`drop items and fill in the blanks

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 2
some-alt