Mallit
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).
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.
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.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 3.13
Mallit
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).
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.
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.
Kiitos palautteestasi!