Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Mallit | Mallintaminen
Koneoppimisen Perusteet Scikit-learnilla

bookMallit

Tietojen esikäsittelyn ja putkiston rakentamisen perusteet on nyt käsitelty. Seuraava vaihe on mallintaminen.

Malli Scikit-learnissa on estimaattori, joka tarjoaa .predict()- ja .score()-metodit sekä kaikilta estimaattoreilta perityn .fit()-metodin.

.fit()

Kun data on esikäsitelty ja valmis mallille, mallin rakentamisen ensimmäinen vaihe on mallin kouluttaminen. Tämä tehdään käyttämällä .fit(X, y).

Note
Huomio

Jotta mallia voidaan kouluttaa ohjatun oppimisen tehtävässä (esim. regressio, luokittelu), sekä X että y tulee välittää .fit()-metodille.

Jos kyseessä on ohjaamattoman oppimisen tehtävä (esim. klusterointi), merkittyjä tietoja ei tarvita, joten voit välittää vain muuttujan X, .fit(X). Kuitenkin, jos käytät .fit(X, y), virhettä ei synny. Malli vain jättää huomiotta muuttujan y.

Koulutuksen aikana malli oppii kaiken tarvittavan ennusteiden tekemiseen. Mitä malli oppii ja kuinka kauan koulutus kestää, riippuu valitusta algoritmista. Jokaiselle tehtävälle on tarjolla useita malleja, jotka perustuvat eri algoritmeihin. Osa malleista koulutetaan hitaammin, osa nopeammin.

Koulutus on kuitenkin yleensä koneoppimisen aikaa vievin vaihe. Jos koulutusjoukko on suuri, mallin koulutus voi kestää minuutteja, tunteja tai jopa päiviä.

.predict()

Kun malli on koulutettu .fit()-metodilla, se voi tehdä ennusteita. Ennustaminen onnistuu helposti kutsumalla .predict()-metodia:

model.fit(X, y) # Train a model
y_pred = model.predict(X_new) # Get a prediction

Yleensä halutaan ennustaa kohde uudelle aineistolle, X_new.

.score()

.score()-metodia käytetään koulutetun mallin suorituskyvyn mittaamiseen. Yleensä se lasketaan testijoukolla (seuraavissa luvuissa selitetään, mitä se tarkoittaa). Tässä on syntaksi:

model.fit(X, y) # Training the model
model.score(X_test, y_test)

.score()-metodi vaatii todelliset tavoitearvot (y_test esimerkissä). Se laskee ennusteen X_test-havaintoihin ja vertaa tätä ennustetta todelliseen tavoitteeseen (y_test) käyttäen jotakin metriikkaa. Oletuksena tämä metriikka on tarkkuus luokittelussa.

Note
Huomio

X_test viittaa aineiston osajoukkoon, jota kutsutaan testijoukoksi ja jota käytetään mallin suorituskyvyn arviointiin koulutuksen jälkeen. Se sisältää piirteet (syötedata). y_test on vastaava osajoukko todellisia luokkia X_test:lle. Yhdessä ne arvioivat, kuinka hyvin malli ennustaa uutta, aiemmin näkemätöntä dataa.

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

Awesome!

Completion rate improved to 3.13

bookMallit

Pyyhkäise näyttääksesi valikon

Tietojen esikäsittelyn ja putkiston rakentamisen perusteet on nyt käsitelty. Seuraava vaihe on mallintaminen.

Malli Scikit-learnissa on estimaattori, joka tarjoaa .predict()- ja .score()-metodit sekä kaikilta estimaattoreilta perityn .fit()-metodin.

.fit()

Kun data on esikäsitelty ja valmis mallille, mallin rakentamisen ensimmäinen vaihe on mallin kouluttaminen. Tämä tehdään käyttämällä .fit(X, y).

Note
Huomio

Jotta mallia voidaan kouluttaa ohjatun oppimisen tehtävässä (esim. regressio, luokittelu), sekä X että y tulee välittää .fit()-metodille.

Jos kyseessä on ohjaamattoman oppimisen tehtävä (esim. klusterointi), merkittyjä tietoja ei tarvita, joten voit välittää vain muuttujan X, .fit(X). Kuitenkin, jos käytät .fit(X, y), virhettä ei synny. Malli vain jättää huomiotta muuttujan y.

Koulutuksen aikana malli oppii kaiken tarvittavan ennusteiden tekemiseen. Mitä malli oppii ja kuinka kauan koulutus kestää, riippuu valitusta algoritmista. Jokaiselle tehtävälle on tarjolla useita malleja, jotka perustuvat eri algoritmeihin. Osa malleista koulutetaan hitaammin, osa nopeammin.

Koulutus on kuitenkin yleensä koneoppimisen aikaa vievin vaihe. Jos koulutusjoukko on suuri, mallin koulutus voi kestää minuutteja, tunteja tai jopa päiviä.

.predict()

Kun malli on koulutettu .fit()-metodilla, se voi tehdä ennusteita. Ennustaminen onnistuu helposti kutsumalla .predict()-metodia:

model.fit(X, y) # Train a model
y_pred = model.predict(X_new) # Get a prediction

Yleensä halutaan ennustaa kohde uudelle aineistolle, X_new.

.score()

.score()-metodia käytetään koulutetun mallin suorituskyvyn mittaamiseen. Yleensä se lasketaan testijoukolla (seuraavissa luvuissa selitetään, mitä se tarkoittaa). Tässä on syntaksi:

model.fit(X, y) # Training the model
model.score(X_test, y_test)

.score()-metodi vaatii todelliset tavoitearvot (y_test esimerkissä). Se laskee ennusteen X_test-havaintoihin ja vertaa tätä ennustetta todelliseen tavoitteeseen (y_test) käyttäen jotakin metriikkaa. Oletuksena tämä metriikka on tarkkuus luokittelussa.

Note
Huomio

X_test viittaa aineiston osajoukkoon, jota kutsutaan testijoukoksi ja jota käytetään mallin suorituskyvyn arviointiin koulutuksen jälkeen. Se sisältää piirteet (syötedata). y_test on vastaava osajoukko todellisia luokkia X_test:lle. Yhdessä ne arvioivat, kuinka hyvin malli ennustaa uutta, aiemmin näkemätöntä dataa.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 1
some-alt