Programiranje

Kaggle: Kje se podatkovni znanstveniki učijo in tekmujejo

Kljub temu je znanost o podatkih običajno bolj umetnost kot znanost. Začnete z umazanimi podatki in starim statističnim napovednim modelom in poskušate bolje s strojnim učenjem. Nihče ne preveri vašega dela ali ga poskuša izboljšati: če se vaš novi model bolje prilega staremu, ga sprejmete in preidete na naslednjo težavo. Ko se podatki začnejo premikati in model preneha delovati, ga posodobite iz novega nabora podatkov.

Raziskovanje podatkov v Kaggleu je povsem drugačno. Kaggle je spletno okolje in skupnost za strojno učenje. Ima standardne nabore podatkov, ki jih poskuša oblikovati na stotine ali tisoče posameznikov ali ekip, za vsako tekmovanje pa obstaja lestvica najboljših. Številni natečaji ponujajo denarne nagrade in statusne točke, ljudje pa lahko izboljšajo svoje modele, dokler se tekmovanje ne zaključi, da izboljšajo svoje rezultate in se povzpnejo po lestvici. Majhni odstotki pogosto razlikujejo med zmagovalci in podprvaki.

Kaggle je nekaj, s čimer se lahko profesionalni podatkovni znanstveniki igrajo v prostem času, ambiciozni znanstveniki pa se lahko naučijo, kako zgraditi dobre modele strojnega učenja.

Kaj je Kaggle?

Če pogledamo bolj izčrpno, je Kaggle spletna skupnost za podatkovne znanstvenike, ki ponuja tekmovanja v strojnem učenju, nabore podatkov, zvezke, dostop do pospeševalnikov usposabljanja in izobraževanje. Anthony Goldbloom (izvršni direktor) in Ben Hamner (CTO) sta leta 2010 ustanovila podjetje Kaggle, Google pa je podjetje prevzel leta 2017.

Natečaji Kaggle so izboljšali stanje tehnike strojnega učenja na več področjih. Ena je preslikava temne snovi; drugo je raziskovanje virusa HIV / aidsa. Ob pogledu na zmagovalce natečajev Kaggle boste videli veliko modelov XGBoost, nekaj modelov Random Forest in nekaj globokih nevronskih mrež.

Kaggle tekmovanja

Obstaja pet kategorij tekmovanja Kaggle: Uvod, Otroško igrišče, Predstavljeno, Raziskovanje in Zaposlovanje.

Tekmovanja Uvod so pol trajna in naj bi jih uporabljali novi uporabniki, ki šele stopijo pred vrata na področju strojnega učenja. Ne ponujajo nagrad ali točk, imajo pa veliko vadnic. Začetna tekmovanja imajo dvomesečne lestvice najboljših.

Tekmovanja na igriščih so en korak nad Kako začeti v težavah. Nagrade segajo od pohval do majhnih denarnih nagrad.

Prikazana tekmovanja so izzivi strojnega učenja, ki povzročajo težke težave z napovedmi, na splošno s komercialnim namenom. Prikazana tekmovanja privabljajo nekatere najstrašnejše strokovnjake in ekipe ter ponujajo nagradne sklade, ki znašajo tudi do milijon dolarjev. To bi lahko zvenilo odvračajoče, toda tudi če ene od teh ne boste osvojili, se boste naučili iz preizkušanja in branja rešitev drugih ljudi, zlasti visoko uvrščenih rešitev.

Raziskovalna tekmovanja vključujejo probleme, ki so bolj eksperimentalni kot predstavljeni problemi. Zaradi eksperimentalne narave običajno ne ponujajo nagrad ali točk.

Na natečajih zaposlovanja posamezniki tekmujejo za oblikovanje modelov strojnega učenja za izzive, ki jih organizira korporacija. Po zaključku tekmovanja lahko zainteresirani udeleženci naložijo svoj življenjepis v obravnavo gostitelju. Nagrada je (potencialno) razgovor za službo v podjetju ali organizaciji, ki gosti tekmovanje.

Obstaja več formatov tekmovanj. V običajnem tekmovanju Kaggle lahko uporabniki dostopajo do celotnih podatkovnih nizov na začetku tekmovanja, prenašajo podatke, gradijo modele na podatkih lokalno ali v Kaggle Notebooks (glej spodaj), ustvarijo datoteko napovedi in nato napovedi naložijo kot oddajo na Kaggleu. Večina tekmovanj na Kaggleu sledi tej obliki, vendar obstajajo druge možnosti. Nekaj ​​tekmovanj je razdeljenih na etape. Nekateri so tekmovanja v kodi, ki jih je treba oddati znotraj Kaggle Notebook.

Kaggle nabori podatkov

Kaggle gosti več kot 35 tisoč naborov podatkov. Ti so v različnih oblikah objav, vključno z vrednostmi, ločenimi z vejico (CSV) za tabelarne podatke, JSON za drevesne podatke, zbirke podatkov SQLite, arhivi ZIP in 7z (pogosto uporabljeni za nabore slik) in nabori podatkov BigQuery, ki -terabajtni nabori podatkov SQL, gostujoči na Googlovih strežnikih.

Obstaja več načinov iskanja naborov podatkov Kaggle. Na domači strani Kaggle boste našli seznam vročih naborov podatkov in naborov podatkov, ki so jih naložili ljudje, ki jim sledite. Na strani nabora podatkov Kaggle boste našli seznam nabora podatkov (prvotno razvrščen po »najbolj vročem«, vendar z drugimi možnostmi naročanja) in iskalni filter. Oznake in strani z oznakami lahko uporabite tudi za iskanje naborov podatkov, na primer //www.kaggle.com/tags/crime.

V lokalnem računalniku, URL-jih, skladiščih GitHub in izhodih Kaggle Notebook lahko v Kaggleju ustvarite javne in zasebne nabore podatkov. Za redno posodabljanje lahko nastavite nabor podatkov, ustvarjen iz URL-ja ali repozitorija GitHub.

Trenutno ima Kaggle kar nekaj nabora podatkov, izzivov in zvezkov za COVID-19. Skupnost je že večkrat prispevala k prizadevanjem za razumevanje te bolezni in virusa, ki jo povzroča.

Kaggle zvezki

Kaggle podpira tri vrste zvezkov: skripte, skripte RMarkdown in zvezke Jupyter. Skripti so datoteke, ki zaporedno izvajajo vse kot kodo. Beležnice lahko pišete v jeziku R ali Python. Programerji R in ljudje, ki oddajajo kodo za tekmovanja, pogosto uporabljajo skripte; Programerji Pythona in ljudje, ki se ukvarjajo z raziskovalno analizo podatkov, imajo raje zvezke Jupyter.

Prenosniki s poljubnimi črtami imajo lahko po želji brezplačne GPU (Nvidia Tesla P100) ali TPU pospeševalnike in lahko uporabljajo storitve Google Cloud Platform, vendar veljajo kvote, na primer 30 ur GPU in 30 ur TPU na teden. V bistvu ne uporabljajte GPU-ja ali TPU-ja v prenosnem računalniku, razen če morate pospešiti globoko učenje. Če uporabljate storitve Google Cloud Platform, lahko vaš račun Google Cloud Platform zaračuna stroške, če presežete dovoljenje za brezplačno raven.

Podatkovne nize Kaggle lahko kadar koli dodate v prenosnike Kaggle. Lahko dodate tudi nabore podatkov o tekmovanju, vendar le, če sprejmete pravila tekmovanja. Če želite, lahko zvežete zvezke, tako da izhod enega prenosnika dodate podatkom drugega prenosnika.

Prenosniki delujejo v jedrih, ki so v bistvu Dockerjevi vsebniki. Različice zvezkov lahko shranite, ko jih razvijate.

Beležnice lahko iščete s poizvedbo po ključnih besedah ​​spletnega mesta in filtrom na zvezkih ali z brskanjem po domači strani Kaggle. Uporabite lahko tudi seznam Notebook; Tako kot nabori podatkov je vrstni red zvezkov na seznamu privzeto po "vročini". Branje javnih zvezkov je dober način, da se naučite, kako se ljudje ukvarjajo s podatki.

Na prenosnem računalniku lahko sodelujete z drugimi na več načinov, odvisno od tega, ali je zvezek javni ali zasebni. Če je javen, lahko dodelite pravice urejanja določenim uporabnikom (vsi si jih lahko ogledajo). Če je zasebno, lahko dodelite pravice za ogled ali urejanje.

Kaggle javni API

Poleg gradnje in izvajanja interaktivnih zvezkov lahko z Kaggle komunicirate tudi z ukazno vrstico Kaggle iz lokalnega računalnika, ki pokliče javni API Kaggle. Kaggle CLI lahko namestite z namestitvenim programom Python 3 pipin preverite pristnost naprave s prenosom žetona API s spletnega mesta Kaggle.

Kaggle CLI in API lahko komunicirata s tekmovanji, nabori podatkov in zvezki (jedri). API je odprtokoden in gostuje na GitHubu na //github.com/Kaggle/kaggle-api. Datoteka README vsebuje celotno dokumentacijo za orodje ukazne vrstice.

Skupnost in izobraževanje Kaggle

Kaggle gosti diskusijske forume in mikrotečaje. Teme foruma vključujejo sam Kaggle, začetek, povratne informacije, vprašanja in odgovori, nabori podatkov in mikrotečaji. Mikro tečaji zajemajo veščine, pomembne za podatkovne znanstvenike, v nekaj urah: Python, strojno učenje, vizualizacija podatkov, Pande, funkcijski inženiring, poglobljeno učenje, SQL, geoprostorska analiza itd.

Vse skupaj je Kaggle zelo koristno za učenje naravoslovja in za tekmovanje z izzivi na področju znanosti podatkov. Zelo uporaben je tudi kot odlagališče za standardne javne nabore podatkov. Vendar to ni zamenjava za plačljive storitve znanosti o oblaku ali za samostojno analizo.

$config[zx-auto] not found$config[zx-overlay] not found