Kaggle data-analyysi -kilpailut
Kaggle on palvelu, joka houkuttelee data-analyytikoita haastavilla ja mielenkiintoisilla tehtävillä. Palvelu on hyvä tapa saada harjoitusta datan käsittelyyn, analysointiin ja mallintamiseen käytännön ongelmia ratkomalla. Menestys kilpailuissa voi lisäksi tuoda rahallisia palkintoja ja auttaa uralla etenemisessä, mikäli sellaiset asiat kiinnostavat.
Törmäsin palveluun ensimmäisen kerran Courseran Introduction to Data Science -kurssilla reilu vuosi sitten. Idea kuulosti silloin jo hyvältä, mutta aikaa ei ollut silloin sen enempää kilpailuihin. Jäin kuitenkin postituslistalle, ja viime talvena mielenkiinnon herätti kilpailu, jossa piti luokitella galakseja kuvien perusteella. Pääpalkintokin oli mukavat $10 000, joten dollarinkiilto silmissäni kirjauduin sivustolle ja latasin datasetit mallintamista varten.
Galaksitehtävä osoittautui ei-niin-yllättäen turhan haastavaksi minulle. Testailin R-ohjelmointikielellä erilaisia malleja. En ollut aiemmin tehnyt kuvantunnistusta, enkä oikein tiennyt mistä lähteä liikkeelle. Suurin osa ajasta taisi vielä mennä R-kielen kanssa ihmetellessä. Miten tehdään järkevästi ja tehokkaasti muunnoksia isoille taulukoille sekä miten sujuvasti kokeilla eri mallinnusmenetelmiä ja verrata niiden tuloksia toisiinsa. Galaksien määrä konkretisoituu muuten tehokkaasti, kun selailee kymmenentuhannen rivin galaksitaulukkoa, jossa jokainen rivi viittaa isompaan asiaan kuin mitä pystyy käsittämään… En kamppaillut varsinaisesti kärkisijoista, mutta en ollut aivan kilpailun viimeinenkään: sijoitukseni oli 290/326.
Kilpailujen muoto Kagglessa on tyypillisesti ohjattu oppiminen (supervised learning). Tarjolla on kaksi datasettiä, joista ensimmäinen, harjoitusmateriaali, sisältää oikeat vastaukset, joiden perusteella malli rakennetaan. Toinen setti, testimateriaali, syötetään rakennetulle mallille ja tulos lähetetään palveluun arvioitavaksi. Tulostaululta näkee tämän jälkeen oman sijoituksensa suhteessa muihin kilpailijoihin.
Osa kilpailuista on tarkoitettu nimenomaan harjoittelua varten ja sisältää ohjelmointioppaita eri kielille (Python, R, Excel yms). Huomasin sinne ilmestyneen myös Julia-oppaan, jossa tunnistetaan valokuvista numeroita. Ensimmäisessä osassa käytetään valmista kirjastoa ja satunnainen metsä -menetelmää (random forest). Toisessa tehdään oma KNN-algoritmi (K-nearest neigbors) ja esitellään myös Julian rinnakkaisohjelmoinnin perusasiat. Datanpyörittely kävi jo paljon sujuvammin kuin puoli vuotta sitten ja kilpailuunkin osallistuminen alkoi taas hieman kiinnostaa. Pitäisiköhän yrittää uudestaan?
Linkit
- Introduction to Data Science — Online course in Coursera
- Kaggle Competitions for Data Scientists
- Galaxy Zoo Challenge — Classify the morphologies of distant galaxies in our Universe, a Kaggle-competition
- Random forest — In Wikipedia
- K Nearest neighbors algorithm — In Wikipedia
- First steps with Julia - Julia machine learning tutorial in Kaggle