Mittarit
Mallia rakentaessa tarvitsemme mittarin, joka arvioi, kuinka hyvin malli sopii aineistoon. Mittari antaa numeerisen arvon, joka kuvaa mallin suorituskykyä. Tässä luvussa keskitymme yleisimpiin mittareihin.
Käytämme seuraavaa merkintätapaa:
Olemme jo tutustuneet yhteen mittariin, SSR (Sum of Squared Residuals), jota minimoimme optimaalisten parametrien löytämiseksi.
Merkintätavallamme SSR:n kaava voidaan esittää seuraavasti:
tai yhtä lailla:
Tämä mittari toimi vain, kun malleissa käytettiin samaa määrää havaintopisteitä. Se ei osoita, kuinka hyvin malli todellisuudessa suoriutuu. Kuvittele kaksi mallia, jotka on koulutettu erikokoisilla aineistoilla.
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
tai yhtä lailla:
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 neliöity, mikä vaikeuttaa tulkintaa. Jos MSE on 49 dollaria², haluamme virheen dollareina. Ottamalla neliöjuuren saadaan 7 — Root Mean Squared Error (RMSE).
RMSE
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 voidaan ottaa niiden itseisarvot — tämä antaa keskimääräisen itseisarvovirheen (MAE).
tai yhtä lailla
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, kun äärimmäiset arvot vääristävät aineistoa.
Laske MAE:
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.
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 sen mukaan.
Nyt voit varmasti todeta, että toinen malli on parempi, koska kaikki sen metriikat ovat pienempiä. Kuitenkin pienemmät metriikat eivät aina tarkoita, että malli on parempi.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain why lower metrics don't always mean a better model?
What are some other metrics used to evaluate model performance?
Can you give examples of when MAE is preferred over MSE or RMSE?
Awesome!
Completion rate improved to 5.26
Mittarit
Pyyhkäise näyttääksesi valikon
Mallia rakentaessa tarvitsemme mittarin, joka arvioi, kuinka hyvin malli sopii aineistoon. Mittari antaa numeerisen arvon, joka kuvaa mallin suorituskykyä. Tässä luvussa keskitymme yleisimpiin mittareihin.
Käytämme seuraavaa merkintätapaa:
Olemme jo tutustuneet yhteen mittariin, SSR (Sum of Squared Residuals), jota minimoimme optimaalisten parametrien löytämiseksi.
Merkintätavallamme SSR:n kaava voidaan esittää seuraavasti:
tai yhtä lailla:
Tämä mittari toimi vain, kun malleissa käytettiin samaa määrää havaintopisteitä. Se ei osoita, kuinka hyvin malli todellisuudessa suoriutuu. Kuvittele kaksi mallia, jotka on koulutettu erikokoisilla aineistoilla.
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
tai yhtä lailla:
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 neliöity, mikä vaikeuttaa tulkintaa. Jos MSE on 49 dollaria², haluamme virheen dollareina. Ottamalla neliöjuuren saadaan 7 — Root Mean Squared Error (RMSE).
RMSE
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 voidaan ottaa niiden itseisarvot — tämä antaa keskimääräisen itseisarvovirheen (MAE).
tai yhtä lailla
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, kun äärimmäiset arvot vääristävät aineistoa.
Laske MAE:
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.
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 sen mukaan.
Nyt voit varmasti todeta, että toinen malli on parempi, koska kaikki sen metriikat ovat pienempiä. Kuitenkin pienemmät metriikat eivät aina tarkoita, että malli on parempi.
Kiitos palautteestasi!