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

Mittarit

Pyyhkäise näyttääksesi valikon

Mallia rakennettaessa tarvitaan metriikka, joka mittaa, kuinka hyvin malli sopii dataan. Metriikka antaa numeerisen arvon, joka kuvaa mallin suorituskykyä. Tässä luvussa keskitytään yleisimpiin metriikoihin.

Käytämme seuraavaa notaatiota:

Notaatiot

Olemme jo tuttuja yhdestä metriikasta, SSR (Sum of Squared Residuals), jota minimoimme optimaalisten parametrien löytämiseksi.
Merkinnöillämme SSR:n kaava voidaan esittää seuraavasti:

SSR-kaava

tai yhtä lailla:

SSRsum

Tämä metriikka toimi vain, kun malleissa käytettiin samaa määrää havaintoja. Se ei osoita, kuinka hyvin malli todellisuudessa suoriutuu. Kuvittele kaksi mallia, jotka on koulutettu erikokoisilla aineistoilla.

SSRCompare

Ensimmäinen malli sopii visuaalisesti paremmin, mutta sillä on suurempi SSR, koska siinä on enemmän pisteitä, joten summa kasvaa, vaikka jäännösten keskiarvo olisi pienempi. Käyttämällä jäännösten neliöiden keskiarvoa tämä korjataan — Mean Squared Error (MSE).

MSE

MSE-kaava

tai yhtä lailla:

MSEsum

Laske MSE NumPyn avulla:

mse = np.mean((y_true - y_pred)**2)

Tai Scikit-learnilla:

from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)

MSE on korotettu toiseen potenssiin, mikä vaikeuttaa tulkintaa. Jos MSE on 49 dollaria², haluamme virheen dollareina. Ottamalla neliöjuuren saadaan 7 — Root Mean Squared Error (RMSE).

RMSE

RMSEsum

Laske RMSE seuraavasti:

rmse = np.sqrt(np.mean((y_true - y_pred)**2))

Tai Scikit-learn-kirjastolla:

rmse = mean_squared_error(y_true, y_pred, squared=False)

MAE

Jäännösten neliöimisen sijaan voimme ottaa niiden itseisarvot — tämä antaa keskimääräisen itseisarvovirheen (MAE).

MAE-kaava

tai yhtä lailla

MAEsum

MAE käyttäytyy kuten MSE, mutta käsittelee suuria virheitä lempeämmin. Koska se käyttää itseisarvoja, se on kestävämpi poikkeaville arvoille, mikä tekee siitä hyödyllisen silloin, kun äärimmäiset arvot vääristävät aineistoa.

MAE:n laskeminen:

mae = np.mean(np.fabs(y_true - y_pred))

Tai:

from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)

SSR auttoi meitä johtamaan normaalin yhtälön, mutta mitä tahansa metriikkaa voidaan käyttää mallien vertailussa.

Note
Huomio

SSR, MSE ja RMSE järjestävät mallit aina samalla tavalla, kun taas MAE saattaa suosia eri mallia, koska se rankaisee suuria virheitä vähemmän. Metriikka kannattaa valita etukäteen ja optimoida nimenomaan sitä varten.

Mallien vertailu

Nyt voit varmasti todeta, että toinen malli on parempi, koska kaikki sen mittarit ovat pienempiä. Kuitenkin pienemmät mittarit eivät aina tarkoita, että malli on parempi.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Osio 4. Luku 1
some-alt