Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele R-kertoimen Neliö | Parhaan Mallin Valitseminen
Lineaarinen Regressio Pythonilla
course content

Kurssisisältö

Lineaarinen Regressio Pythonilla

Lineaarinen Regressio Pythonilla

1. Yksinkertainen Lineaarinen Regressio
2. Monimuuttujainen Lineaarinen Regressio
3. Polynomiregressio
4. Parhaan Mallin Valitseminen

book
R-kertoimen Neliö

Mikä on R-squared

Olemme käsitelleet joitakin yleisimmin käytetyistä regressiomittareista Metrics-luvussa. Näitä ovat MSE, RMSE ja MAE. Ne soveltuvat mallien vertailuun, mutta kun rakennat yhden mallin, et aina tiedä, onko tulos hyvä juuri sinun aineistossasi vai pitäisikö kokeilla muita malleja.

Onneksi on olemassa mittari nimeltä R-squared, joka mittaa mallin suorituskykyä asteikolla 0:sta 1:een. R-squared laskee, kuinka suuren osan kohteen varianssista malli selittää.

Ongelma on, että selitettyä varianssia ei voida laskea suoraan. Selittämätön varianssi voidaan kuitenkin laskea, joten muunnamme yllä olevan yhtälön seuraavasti:

Kokonaisvaihtelu

Kokonaisvaihtelu tarkoittaa kohdemuuttujan varianssia, ja sen voi laskea tilastotieteestä tutulla otosvarianssin kaavalla ( on kohdemuuttujan keskiarvo):

Tässä on esimerkki visualisoinnin kanssa. Erot todellisten kohdearvojen ja kohteen keskiarvon välillä on merkitty oranssilla. Kuten SSR:n laskennassa, otetaan jokaisen oranssin viivan pituus, korotetaan se toiseen potenssiin ja lisätään summaan, mutta nyt jaetaan tulos myös m-1:llä. Tässä kokonaisvaihteluksi saatiin 11,07.

Selittämätön vaihtelu

Nyt meidän täytyy laskea se osa vaihtelusta, jota malli ei selitä. Jos malli selittäisi koko vaihtelun, kaikki pisteet olisivat rakennetulla regressiosuoralla. Näin ei kuitenkaan yleensä ole, joten haluamme laskea kohteen varianssin, mutta nyt suhteessa regressiosuoraan eikä keskiarvoon. Käytämme samaa kaavaa, mutta korvaamme mallin ennusteilla.

Tässä on esimerkki visualisoinnilla:

Nyt tiedämme kaiken tarvittavan R-squared-arvon laskemiseen:

Saimme R-squared-arvoksi 0,92, mikä on lähellä arvoa 1, joten mallimme on erinomainen. Lasketaan R-squared myös yhdelle toiselle mallille.

R-squared on alhaisempi, koska malli alisovittaa dataa hieman.

R-squared Pythonissa

sm.OLS-luokka laskee R-squared-arvon puolestamme. Löydämme sen summary()-taulukosta täältä.

Yhteenvetona, R-squared on regressiomittari. Sen arvo voi olla välillä 0–1. Toisin kuin muissa mittareissa, kuten MSE/MAE, suurempi arvo on parempi (ellei malli ylisopeudu). Löydät R-squared-arvon summary()-luokan sm.OLS-taulukosta.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

course content

Kurssisisältö

Lineaarinen Regressio Pythonilla

Lineaarinen Regressio Pythonilla

1. Yksinkertainen Lineaarinen Regressio
2. Monimuuttujainen Lineaarinen Regressio
3. Polynomiregressio
4. Parhaan Mallin Valitseminen

book
R-kertoimen Neliö

Mikä on R-squared

Olemme käsitelleet joitakin yleisimmin käytetyistä regressiomittareista Metrics-luvussa. Näitä ovat MSE, RMSE ja MAE. Ne soveltuvat mallien vertailuun, mutta kun rakennat yhden mallin, et aina tiedä, onko tulos hyvä juuri sinun aineistossasi vai pitäisikö kokeilla muita malleja.

Onneksi on olemassa mittari nimeltä R-squared, joka mittaa mallin suorituskykyä asteikolla 0:sta 1:een. R-squared laskee, kuinka suuren osan kohteen varianssista malli selittää.

Ongelma on, että selitettyä varianssia ei voida laskea suoraan. Selittämätön varianssi voidaan kuitenkin laskea, joten muunnamme yllä olevan yhtälön seuraavasti:

Kokonaisvaihtelu

Kokonaisvaihtelu tarkoittaa kohdemuuttujan varianssia, ja sen voi laskea tilastotieteestä tutulla otosvarianssin kaavalla ( on kohdemuuttujan keskiarvo):

Tässä on esimerkki visualisoinnin kanssa. Erot todellisten kohdearvojen ja kohteen keskiarvon välillä on merkitty oranssilla. Kuten SSR:n laskennassa, otetaan jokaisen oranssin viivan pituus, korotetaan se toiseen potenssiin ja lisätään summaan, mutta nyt jaetaan tulos myös m-1:llä. Tässä kokonaisvaihteluksi saatiin 11,07.

Selittämätön vaihtelu

Nyt meidän täytyy laskea se osa vaihtelusta, jota malli ei selitä. Jos malli selittäisi koko vaihtelun, kaikki pisteet olisivat rakennetulla regressiosuoralla. Näin ei kuitenkaan yleensä ole, joten haluamme laskea kohteen varianssin, mutta nyt suhteessa regressiosuoraan eikä keskiarvoon. Käytämme samaa kaavaa, mutta korvaamme mallin ennusteilla.

Tässä on esimerkki visualisoinnilla:

Nyt tiedämme kaiken tarvittavan R-squared-arvon laskemiseen:

Saimme R-squared-arvoksi 0,92, mikä on lähellä arvoa 1, joten mallimme on erinomainen. Lasketaan R-squared myös yhdelle toiselle mallille.

R-squared on alhaisempi, koska malli alisovittaa dataa hieman.

R-squared Pythonissa

sm.OLS-luokka laskee R-squared-arvon puolestamme. Löydämme sen summary()-taulukosta täältä.

Yhteenvetona, R-squared on regressiomittari. Sen arvo voi olla välillä 0–1. Toisin kuin muissa mittareissa, kuten MSE/MAE, suurempi arvo on parempi (ellei malli ylisopeudu). Löydät R-squared-arvon summary()-luokan sm.OLS-taulukosta.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 3
some-alt