Programmering

Kaggle: Hvor dataforskere lærer og konkurrerer

Datavitenskap er vanligvis mer av en kunst enn en vitenskap, til tross for navnet. Du starter med skitne data og en gammel statistisk prediktiv modell og prøver å gjøre det bedre med maskinlæring. Ingen sjekker arbeidet ditt eller prøver å forbedre det: Hvis den nye modellen din passer bedre enn den gamle, adopterer du den og går videre til neste problem. Når dataene begynner å drive og modellen slutter å fungere, oppdaterer du modellen fra det nye datasettet.

Å gjøre datavitenskap i Kaggle er ganske annerledes. Kaggle er et online maskinlæringsmiljø og fellesskap. Den har standard datasett som hundrevis eller tusenvis av enkeltpersoner eller team prøver å modellere, og det er et leaderboard for hver konkurranse. Mange konkurranser tilbyr pengepremier og statuspoeng, og folk kan avgrense modellene sine til konkurransen stenger, for å forbedre poengsummen og klatre opp stigen. Små prosenter utgjør ofte forskjellen mellom vinnere og andreplasser.

Kaggle er noe profesjonelle dataforskere kan leke med på fritiden, og håpefulle dataforskere kan bruke til å lære å bygge gode maskinlæringsmodeller.

Hva er Kaggle?

Sett på mer omfattende er Kaggle et online fellesskap for dataforskere som tilbyr maskinlæringskonkurranser, datasett, notatblokker, tilgang til treningsakseleratorer og utdanning. Anthony Goldbloom (administrerende direktør) og Ben Hamner (CTO) grunnla Kaggle i 2010, og Google kjøpte selskapet i 2017.

Kaggle-konkurranser har forbedret tilstanden til maskinlæringskunst på flere områder. Den ene er å kartlegge mørk materie; en annen er hiv / aids-forskning. Når du ser på vinnerne av Kaggle-konkurranser, ser du mange XGBoost-modeller, noen Random Forest-modeller og noen få dype nevrale nettverk.

Kaggle-konkurranser

Det er fem kategorier av Kaggle-konkurranser: Komme i gang, Lekeplass, Utvalgt, Forskning og Rekruttering.

Komme i gang-konkurranser er semi-permanente, og er ment å bli brukt av nye brukere som bare får foten inn døren innen maskinlæring. De tilbyr ingen premier eller poeng, men har rikelig opplæring. Komme i gang-konkurranser har to måneders rullende ledertavler.

Lekeplasskonkurranser ligger ett trinn over å komme i gang i vanskeligheter. Premier varierer fra kudos til små pengepremier.

Utvalgte konkurranser er fullskala maskinlæringsutfordringer som utgjør vanskelige forutsigelsesproblemer, generelt med et kommersielt formål. Utvalgte konkurranser tiltrekker seg noen av de mest formidable ekspertene og teamene, og tilbyr premiepotter som kan være så høye som en million dollar. Det høres kanskje nedslående ut, men selv om du ikke vinner en av disse, vil du lære av å prøve og fra å lese andres løsninger, spesielt de høyt rangerte løsningene.

Forskningskonkurranser involverer problemer som er mer eksperimentelle enn kjennetegnet konkurranseproblemer. De tilbyr vanligvis ikke premier eller poeng på grunn av deres eksperimentelle karakter.

I rekrutteringskonkurranser konkurrerer enkeltpersoner om å bygge maskinlæringsmodeller for bedriftskuraterte utfordringer. Når konkurransen er avsluttet, kan interesserte deltakere laste opp sitt CV for vurdering av verten. Prisen er (potensielt) et jobbintervju hos firmaet eller organisasjonen som er vert for konkurransen.

Det er flere formater for konkurranser. I en standard Kaggle-konkurranse kan brukerne få tilgang til komplette datasett i begynnelsen av konkurransen, laste ned dataene, bygge modeller på dataene lokalt eller i Kaggle Notatbøker (se nedenfor), generere en prediksjonsfil og deretter laste opp spådommene som en innsending på Kaggle. De fleste konkurranser på Kaggle følger dette formatet, men det finnes alternativer. Noen få konkurranser er delt inn i etapper. Noen er kodekonkurranser som må sendes fra en Kaggle Notebook.

Kaggle datasett

Kaggle er vert for over 35 tusen datasett. Disse er i en rekke publikasjonsformater, inkludert kommaseparerte verdier (CSV) for tabelldata, JSON for tre-lignende data, SQLite-databaser, ZIP- og 7z-arkiver (ofte brukt for bildedatasett) og BigQuery-datasett, som er flere -terabyte SQL datasett vert på Googles servere.

Det er flere måter å finne Kaggle datasett på. På Kaggle-hjemmesiden finner du en liste over "hot" datasett og datasett lastet opp av personer du følger. På siden Kaggle datasett finner du en datasettliste (opprinnelig ordnet etter "hottest" men med andre bestillingsalternativer) og et søkefilter. Du kan også bruke koder og taggesider for å finne datasett, for eksempel //www.kaggle.com/tags/crime.

Du kan opprette offentlige og private datasett på Kaggle fra din lokale maskin, URL-er, GitHub-lagringssteder og Kaggle Notebook-utganger. Du kan angi at et datasett opprettet fra en URL eller GitHub-arkiv skal oppdateres med jevne mellomrom.

For øyeblikket har Kaggle ganske mange COVID-19 datasett, utfordringer og bærbare datamaskiner. Det har allerede vært flere bidrag fra samfunnet til arbeidet med å forstå denne sykdommen og viruset som forårsaker den.

Kaggle Notatbøker

Kaggle støtter tre typer bærbare datamaskiner: skript, RMarkdown-skript og Jupyter Notatbøker. Skript er filer som kjører alt som kode sekvensielt. Du kan skrive notatbøker i R eller Python. R-kodere og personer som sender inn kode for konkurranser, bruker ofte manus; Python-kodere og folk som gjør utforskende dataanalyse, pleier å foretrekke Jupyter Notebooks.

Notatbøker av hvilken som helst stripe kan valgfritt ha gratis GPU (Nvidia Tesla P100) eller TPU-akseleratorer og kan bruke Google Cloud Platform-tjenester, men det er kvoter som gjelder, for eksempel 30 timer GPU og 30 timer TPU per uke. I utgangspunktet må du ikke bruke en GPU eller en TPU i en bærbar PC med mindre du trenger å akselerere dyp læringstrening. Hvis du bruker Google Cloud Platform-tjenester, kan det medføre belastninger for Google Cloud Platform-kontoen din hvis du overskrider gratis nivånivåer.

Du kan når som helst legge til Kaggle datasett til Kaggle-notatbøker. Du kan også legge til konkurransedatasett, men bare hvis du godtar reglene for konkurransen. Hvis du vil, kan du kjede notatbøker ved å legge til utdataene fra en notatbok til dataene til en annen notatbok.

Notatbøker kjører i kjerner, som egentlig er Docker-containere. Du kan lagre versjoner av notatbøkene mens du utvikler dem.

Du kan søke etter notatbøker med et søkeord på et nettsted og et filter på notatbøker, eller ved å bla gjennom Kaggle-hjemmesiden. Du kan også bruke Notebook-oppføringen; I likhet med datasett er rekkefølgen på notatbøker i listen som standard "hotness". Å lese offentlige notatbøker er en god måte å lære hvordan folk gjør datavitenskap.

Du kan samarbeide med andre på en bærbar PC på flere måter, avhengig av om notatblokken er offentlig eller privat. Hvis det er offentlig, kan du gi redigeringsrettigheter til bestemte brukere (alle kan se). Hvis det er privat, kan du gi visnings- eller redigeringsrettigheter.

Kaggle offentlig API

I tillegg til å bygge og kjøre interaktive notatbøker, kan du samhandle med Kaggle ved hjelp av Kaggle-kommandolinjen fra din lokale maskin, som kaller Kaggle public API. Du kan installere Kaggle CLI ved hjelp av Python 3-installasjonsprogrammet pip, og autentiser maskinen din ved å laste ned et API-token fra Kaggle-nettstedet.

Kaggle CLI og API kan samhandle med konkurranser, datasett og notatblokker (kjerner). API-et er åpen kildekode og er vert på GitHub på //github.com/Kaggle/kaggle-api. README-filen der inneholder full dokumentasjon for kommandolinjeverktøyet.

Kaggle samfunn og utdanning

Kaggle er vert for samfunnsdiskusjonsfora og mikrokurs. Forumemner inkluderer Kaggle selv, komme i gang, tilbakemelding, spørsmål og svar, datasett og mikrokurs. Mikrokurs dekker ferdigheter som er relevante for dataforskere på noen få timer hver: Python, maskinlæring, datavisualisering, Pandaer, funksjonsteknikk, dyp læring, SQL, geospatial analyse, og så videre.

Alt i alt er Kaggle veldig nyttig for å lære datavitenskap og for å konkurrere med andre om datavitenskapelige utfordringer. Det er også veldig nyttig som et lager for standard offentlige datasett. Det er imidlertid ikke en erstatning for betalte cloud data science-tjenester eller for å gjøre din egen analyse.

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