Programavimas

Kaggle: Kur duomenų mokslininkai mokosi ir varžosi

Nepaisant pavadinimo, duomenų mokslas paprastai yra daugiau menas nei mokslas. Pradėsite nuo nešvarių duomenų ir seno statistinio nuspėjamojo modelio ir bandysite geriau mokytis mašinoje. Niekas netikrina jūsų darbo ir nebando jo tobulinti: jei jūsų naujas modelis tinka geriau nei senasis, jūs jį priimate ir pereinate prie kitos problemos. Kai duomenys pradeda slinkti ir modelis nebeveikia, atnaujinate modelį iš naujo duomenų rinkinio.

Atlikti duomenų mokslą „Kaggle“ yra visai kas kita. „Kaggle“ yra internetinė mašinų mokymosi aplinka ir bendruomenė. Jame yra standartiniai duomenų rinkiniai, kuriuos bando modeliuoti šimtai ar tūkstančiai asmenų ar komandų, o kiekvienoms varžyboms yra skirtas lyderių sąrašas. Daugelyje konkursų siūlomi piniginiai prizai ir statuso taškai, o žmonės gali patobulinti savo modelius iki konkurso pabaigos, kad pagerintų savo rezultatus ir liptų laiptais. Maži procentai dažnai lemia nugalėtojus ir antrąsias vietas.

„Kaggle“ yra tai, su kuo profesionalūs duomenų mokslininkai gali žaisti laisvalaikiu, o besikreipiantys duomenys mokslininkai gali panaudoti išmokdami sukurti gerus mašininio mokymosi modelius.

Kas yra Kaggle?

Žvelgiant išsamiau, „Kaggle“ yra internetinė duomenų mokslininkų bendruomenė, siūlanti mašininio mokymosi konkursus, duomenų rinkinius, sąsiuvinius, prieigą prie mokymo greitintuvų ir švietimo. Anthony Goldbloomas (generalinis direktorius) ir Benas Hamneris (CTO) įkūrė „Kaggle“ 2010 m., O „Google“ įsigijo įmonę 2017 m.

„Kaggle“ varžybos pagerino mašinų mokymosi meno būklę keliose srityse. Vienas yra tamsiosios materijos kartografavimas; kitas yra ŽIV / AIDS tyrimas. Žvelgdami į „Kaggle“ varžybų nugalėtojus, pamatysite daugybę „XGBoost“ modelių, keletą „Random Forest“ modelių ir keletą gilių neuroninių tinklų.

Kaggle varžybos

Yra penkios „Kaggle“ varžybų kategorijos: „Pradžia“, „Žaidimų aikštelė“, „Teminiai“, „Tyrimai“ ir „Įdarbinimas“.

„Pradžios“ varžybos yra pusiau nuolatinės ir yra skirtos naudoti naujiems vartotojams, kurie tik įsitraukia į duris mašininio mokymosi srityje. Jie nesiūlo prizų ar taškų, tačiau turi pakankamai pamokų. „Getting Started“ varžybose yra dviejų mėnesių slenkantys lyderiai.

Žaidimų aikštelių varžybos yra vienas žingsnis aukščiau už „Pradėti sunkumus“. Prizai svyruoja nuo pagarbos iki mažų piniginių prizų.

Teminiai konkursai yra visapusiški mašininio mokymosi iššūkiai, keliantys sudėtingas prognozavimo problemas, paprastai turintys komercinį tikslą. Teminiai konkursai pritraukia keletą baisiausių ekspertų ir komandų bei siūlo prizinius fondus, kurie gali siekti milijoną dolerių. Tai gali nuskambėti atgrasiai, tačiau net jei nelaimėsite nė vieno iš šių dalykų, sužinosite bandydami ir skaitydami kitų žmonių sprendimus, ypač aukšto rango sprendimus.

Tyrimų konkursai apima problemas, kurios yra labiau eksperimentinės nei varžybų problemos. Paprastai jie nesiūlo prizų ar taškų dėl eksperimentinio pobūdžio.

Įdarbinimo konkursuose asmenys varžosi, kurdami mašinų mokymosi modelius, skirtus korporacijų kuruojamiems iššūkiams. Pasibaigus varžyboms, susidomėję dalyviai gali įkelti savo gyvenimo aprašymą, kad juos apsvarstytų šeimininkas. Prizas yra (potencialiai) darbo pokalbis įmonėje ar organizacijoje, organizuojančioje konkursą.

Yra keli varžybų formatai. Standartinėse „Kaggle“ varžybose vartotojai gali prieiti prie visų duomenų rinkinių varžybų pradžioje, atsisiųsti duomenis, kurti modelius ant duomenų vietoje arba „Kaggle Notebooks“ (žr. Toliau), sugeneruoti numatymo failą, tada nusiųsti prognozes kaip pateiktį ant Kaggle. Dauguma „Kaggle“ varžybų vyksta pagal šį formatą, tačiau yra ir alternatyvų. Keletas varžybų yra suskirstytos į etapus. Kai kurie yra kodiniai konkursai, kuriuos reikia pateikti iš „Kaggle Notebook“.

„Kaggle“ duomenų rinkiniai

„Kaggle“ talpina daugiau nei 35 tūkstančius duomenų rinkinių. Tai yra įvairių leidinių formatų, įskaitant kableliais atskirtas vertes (CSV) lentelių duomenims, JSON į medžius panašius duomenis, SQLite duomenų bazes, ZIP ir 7z archyvus (dažnai naudojamus vaizdų rinkiniams) ir „BigQuery“ duomenų rinkinius, kurie yra keli -terabaitų SQL duomenų rinkiniai, talpinami „Google“ serveriuose.

Yra keli būdai rasti „Kaggle“ duomenų rinkinius. „Kaggle“ pagrindiniame puslapyje rasite „karštų“ duomenų rinkinių ir rinkinių, kuriuos įkėlė jūsų stebimi žmonės, sąrašą. „Kaggle“ duomenų rinkinių puslapyje rasite duomenų rinkinių sąrašą (iš pradžių juos tvarkė „karščiausias“, bet su kitomis užsakymo galimybėmis) ir paieškos filtrą. Taip pat galite naudoti žymes ir žymų puslapius, kad rastumėte duomenų rinkinius, pavyzdžiui, //www.kaggle.com/tags/crime.

Galite sukurti viešus ir privačius „Kaggle“ duomenų rinkinius iš savo vietinio kompiuterio, URL, „GitHub“ saugyklų ir „Kaggle Notebook“ išvesties. Galite nustatyti, kad duomenų rinkinys, sukurtas iš URL arba „GitHub“ saugyklos, būtų periodiškai atnaujinamas.

Šiuo metu „Kaggle“ turi nemažai COVID-19 duomenų rinkinių, iššūkių ir sąsiuvinių. Jau buvo keletas bendruomenės indėlių stengiantis suprasti šią ligą ir ją sukeliantį virusą.

„Kaggle“ užrašų knygelės

„Kaggle“ palaiko tris nešiojamųjų kompiuterių tipus: scenarijus, „RMarkdown“ scenarijus ir „Jupyter“ bloknotus. Scenarijai yra failai, kurie viską vykdo kaip kodą nuosekliai. Sąsiuvinius galite rašyti R arba Python. R koduotojai ir žmonės, pateikiantys kodą varžyboms, dažnai naudoja scenarijus; „Python“ koduotojai ir žmonės, atliekantys tiriamąją duomenų analizę, dažniausiai teikia pirmenybę „Jupyter Notebooks“.

Bet kurios juostos nešiojamieji kompiuteriai gali pasirinktinai turėti nemokamus GPU („Nvidia Tesla P100“) arba TPU greitintuvus ir gali naudoti „Google Cloud Platform“ paslaugas, tačiau yra tam tikrų kvotų, pavyzdžiui, 30 valandų GPU ir 30 valandų TPU per savaitę. Iš esmės nenaudokite GPU ar TPU sąsiuvinyje, nebent jums reikia paspartinti giluminio mokymosi mokymą. Naudojant „Google Cloud Platform“ paslaugas jūsų „Google Cloud Platform“ paskyra gali būti apmokestinta, jei viršysite nemokamo lygio leidimus.

„Kaggle“ duomenų rinkinius galite bet kada pridėti prie „Kaggle“ bloknotų. Taip pat galite pridėti varžybų duomenų rinkinius, bet tik tuo atveju, jei sutinkate su varžybų taisyklėmis. Jei norite, galite prijungti bloknotus prie vieno nešiojamojo kompiuterio išvesties prie kito nešiojamojo kompiuterio duomenų.

Nešiojamieji kompiuteriai veikia branduoliuose, kurie iš esmės yra „Docker“ talpyklos. Kurdami galite išsaugoti savo užrašų knygelių versijas.

Užrašų knygelių galite ieškoti naudodami svetainės raktinių žodžių užklausą ir užrašų knygelių filtrą arba naršydami pagrindiniame „Kaggle“ puslapyje. Taip pat galite naudoti „Notebook“ sąrašą; kaip ir duomenų rinkiniai, sąsiuvinių eiliškumas sąraše pagal numatytuosius nustatymus yra „karštumas“. Skaityti viešus sąsiuvinius yra geras būdas sužinoti, kaip žmonės užsiima duomenų mokslu.

Galite bendradarbiauti su kitais naudodami bloknotą keliais būdais, priklausomai nuo to, ar užrašų knygelė yra vieša, ar privati. Jei jis yra viešas, galite suteikti redagavimo teises konkretiems vartotojams (visi gali peržiūrėti). Jei jis yra privatus, galite suteikti peržiūros ar redagavimo teises.

„Kaggle“ viešoji API

Be interaktyvių bloknotų kūrimo ir paleidimo, galite sąveikauti su „Kaggle“ naudodami „Kaggle“ komandų eilutę iš savo vietinio kompiuterio, kuris iškviečia „Kaggle“ viešąją API. „Kaggle“ CLI galite įdiegti naudodami „Python 3“ diegimo programą pipir patvirtinkite savo kompiuterį atsisiųsdami API žetoną iš „Kaggle“ svetainės.

„Kaggle“ CLI ir API gali sąveikauti su varžybomis, duomenų rinkiniais ir sąsiuviniais (branduoliais). API yra atviro kodo ir priglobta „GitHub“ adresu //github.com/Kaggle/kaggle-api. „README“ failas pateikia visą komandinės eilutės įrankio dokumentaciją.

Kaggle bendruomenė ir švietimas

„Kaggle“ rengia bendruomenės diskusijų forumus ir mikrokursus. Forumo temos apima patį „Kaggle“, darbo pradžią, atsiliepimus, klausimus ir atsakymus, duomenų rinkinius ir mikrokursus. Mikrokursai per kelias valandas apima įgūdžius, susijusius su duomenų mokslininkais: „Python“, mašininis mokymasis, duomenų vizualizavimas, „Pandas“, funkcijų inžinerija, gilus mokymasis, SQL, geoerdvinė analizė ir kt.

Apskritai, „Kaggle“ yra labai naudingas mokantis duomenų mokslo ir norint konkuruoti su kitais duomenų mokslo iššūkiais. Tai taip pat labai naudinga kaip standartinių viešųjų duomenų rinkinių saugykla. Tačiau tai nepakeičia mokamų debesijos duomenų mokslo paslaugų ar jūsų pačių analizės.