Mallin Arviointi
Datan jakaminen
Kun neuroverkko on koulutettu, sen suorituskykyä täytyy arvioida näkemättömällä datalla. Tämä auttaa ymmärtämään, onko malli todella oppinut hyödyllisiä piirteitä vai onko se vain ulkoa opetellut koulutusdatan. Tämän saavuttamiseksi data jaetaan kahteen osaan:
- Koulutusjoukko: tätä osaa datasta käytetään neuroverkon kouluttamiseen, jolloin se voi säätää painoja ja bias-arvoja takaisinlevityksen avulla;
- Testijoukko: koulutuksen jälkeen mallia arvioidaan tällä erillisellä datalla, jotta nähdään, kuinka hyvin se yleistää uusiin, näkemättömiin esimerkkeihin.
Tyypillinen jako on 80 % koulutus / 20 % testaus, mutta tämä voi vaihdella datan koon ja monimutkaisuuden mukaan.
Koulutus-/testijako tehdään yleensä train_test_split()
-funktiolla, joka löytyy sklearn.model_selection
-moduulista:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)
test_size
-parametri määrittää, kuinka suuri osa datasta käytetään testijoukkona. Esimerkiksi, jos test_size=0.1
, 10 % datasta käytetään testaukseen ja loput 90 % koulutukseen.
Jos malli toimii hyvin koulutusdatalla mutta huonosti testidatalla, kyseessä voi olla ylisovittaminen (overfitting), eli malli on opetellut koulutusdatan ulkoa eikä oppinut yleistettäviä piirteitä. Tavoitteena on saavuttaa korkea testitarkkuus ja hyvä yleistettävyys.
Kun malli on koulutettu, sen suorituskyky täytyy mitata mittareilla. Mittarin valinta riippuu luokittelutehtävän luonteesta.
Luokittelumittarit
Luokitteluongelmissa mallin ennusteiden arviointiin voidaan käyttää useita keskeisiä mittareita:
- tarkkuus;
- tarkkuus (precision);
- palautus (recall);
- F1-pisteet.
Koska perceptroni suorittaa binääriluokittelua, sekaannusmatriisin (confusion matrix) laatiminen auttaa ymmärtämään näitä mittareita paremmin.
Sekaannusmatriisi on taulukko, joka tiivistää mallin luokittelusuorituskyvyn vertaamalla ennustettuja luokkia todellisiin luokkiin. Se antaa tietoa oikeiden ja väärien ennusteiden määrästä kullekin luokalle (1
ja 0
).
Tarkkuus mittaa oikein luokiteltujen näytteiden osuutta kaikista näytteistä. Jos malli luokittelee oikein 90 sadasta kuvasta, sen tarkkuus on 90%.
accuracy=allcorrect=TP+TN+FP+FNTP+TNVaikka tarkkuus on hyödyllinen mittari, se ei aina anna kattavaa kuvaa—erityisesti epätasapainoisissa aineistoissa. Esimerkiksi aineistossa, jossa 95% näytteistä kuuluu yhteen luokkaan, malli voi saavuttaa 95% tarkkuuden ennustamalla aina enemmistöluokan—ilman, että se oppii mitään hyödyllistä. Tällaisissa tapauksissa tarkkuus, recall tai F1-pisteet voivat olla informatiivisempia.
Tarkkuus (precision) on oikein ennustettujen positiivisten tapausten osuus kaikista ennustetuista positiivisista. Tämä mittari on erityisen hyödyllinen, kun väärät positiiviset ovat kalliita, kuten roskapostin tai petosten tunnistuksessa.
precision=predicted positivecorrect positive=TP+FPTPRecall (herkkyys) mittaa, kuinka monta todellisista positiivisista tapauksista malli tunnistaa oikein. Korkea recall on tärkeää tilanteissa, joissa vääriä negatiivisia tulee välttää, kuten lääketieteellisissä diagnooseissa.
recall=all positivecorrect positive=TP+FNTPF1-pisteet ovat harmoninen keskiarvo tarkkuudesta ja palautuksesta, tarjoten tasapainoisen mittarin silloin, kun sekä väärät positiiviset että väärät negatiiviset ovat merkityksellisiä. Tämä on hyödyllistä, kun aineisto on epätasapainossa, eli yksi luokka esiintyy huomattavasti useammin kuin toinen.
F1=precision+recall2×precision×recall1. Mikä on tärkein syy jakaa aineisto opetus- ja testijoukkoihin?
2. Miksi F1-pisteet voivat olla parempi valinta kuin tarkkuus epätasapainoisessa aineistossa?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 4
Mallin Arviointi
Pyyhkäise näyttääksesi valikon
Datan jakaminen
Kun neuroverkko on koulutettu, sen suorituskykyä täytyy arvioida näkemättömällä datalla. Tämä auttaa ymmärtämään, onko malli todella oppinut hyödyllisiä piirteitä vai onko se vain ulkoa opetellut koulutusdatan. Tämän saavuttamiseksi data jaetaan kahteen osaan:
- Koulutusjoukko: tätä osaa datasta käytetään neuroverkon kouluttamiseen, jolloin se voi säätää painoja ja bias-arvoja takaisinlevityksen avulla;
- Testijoukko: koulutuksen jälkeen mallia arvioidaan tällä erillisellä datalla, jotta nähdään, kuinka hyvin se yleistää uusiin, näkemättömiin esimerkkeihin.
Tyypillinen jako on 80 % koulutus / 20 % testaus, mutta tämä voi vaihdella datan koon ja monimutkaisuuden mukaan.
Koulutus-/testijako tehdään yleensä train_test_split()
-funktiolla, joka löytyy sklearn.model_selection
-moduulista:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)
test_size
-parametri määrittää, kuinka suuri osa datasta käytetään testijoukkona. Esimerkiksi, jos test_size=0.1
, 10 % datasta käytetään testaukseen ja loput 90 % koulutukseen.
Jos malli toimii hyvin koulutusdatalla mutta huonosti testidatalla, kyseessä voi olla ylisovittaminen (overfitting), eli malli on opetellut koulutusdatan ulkoa eikä oppinut yleistettäviä piirteitä. Tavoitteena on saavuttaa korkea testitarkkuus ja hyvä yleistettävyys.
Kun malli on koulutettu, sen suorituskyky täytyy mitata mittareilla. Mittarin valinta riippuu luokittelutehtävän luonteesta.
Luokittelumittarit
Luokitteluongelmissa mallin ennusteiden arviointiin voidaan käyttää useita keskeisiä mittareita:
- tarkkuus;
- tarkkuus (precision);
- palautus (recall);
- F1-pisteet.
Koska perceptroni suorittaa binääriluokittelua, sekaannusmatriisin (confusion matrix) laatiminen auttaa ymmärtämään näitä mittareita paremmin.
Sekaannusmatriisi on taulukko, joka tiivistää mallin luokittelusuorituskyvyn vertaamalla ennustettuja luokkia todellisiin luokkiin. Se antaa tietoa oikeiden ja väärien ennusteiden määrästä kullekin luokalle (1
ja 0
).
Tarkkuus mittaa oikein luokiteltujen näytteiden osuutta kaikista näytteistä. Jos malli luokittelee oikein 90 sadasta kuvasta, sen tarkkuus on 90%.
accuracy=allcorrect=TP+TN+FP+FNTP+TNVaikka tarkkuus on hyödyllinen mittari, se ei aina anna kattavaa kuvaa—erityisesti epätasapainoisissa aineistoissa. Esimerkiksi aineistossa, jossa 95% näytteistä kuuluu yhteen luokkaan, malli voi saavuttaa 95% tarkkuuden ennustamalla aina enemmistöluokan—ilman, että se oppii mitään hyödyllistä. Tällaisissa tapauksissa tarkkuus, recall tai F1-pisteet voivat olla informatiivisempia.
Tarkkuus (precision) on oikein ennustettujen positiivisten tapausten osuus kaikista ennustetuista positiivisista. Tämä mittari on erityisen hyödyllinen, kun väärät positiiviset ovat kalliita, kuten roskapostin tai petosten tunnistuksessa.
precision=predicted positivecorrect positive=TP+FPTPRecall (herkkyys) mittaa, kuinka monta todellisista positiivisista tapauksista malli tunnistaa oikein. Korkea recall on tärkeää tilanteissa, joissa vääriä negatiivisia tulee välttää, kuten lääketieteellisissä diagnooseissa.
recall=all positivecorrect positive=TP+FNTPF1-pisteet ovat harmoninen keskiarvo tarkkuudesta ja palautuksesta, tarjoten tasapainoisen mittarin silloin, kun sekä väärät positiiviset että väärät negatiiviset ovat merkityksellisiä. Tämä on hyödyllistä, kun aineisto on epätasapainossa, eli yksi luokka esiintyy huomattavasti useammin kuin toinen.
F1=precision+recall2×precision×recall1. Mikä on tärkein syy jakaa aineisto opetus- ja testijoukkoihin?
2. Miksi F1-pisteet voivat olla parempi valinta kuin tarkkuus epätasapainoisessa aineistossa?
Kiitos palautteestasi!