Märkused Data Scientist: kust alustada ja kas see on vajalik?

Märkused Data Scientist: kust alustada ja kas see on vajalik?

TL;DR on postitus küsimustele/vastustele andmeteaduse kohta ning kuidas erialale siseneda ja selles areneda. Artiklis analüüsin põhiprintsiipe ja KKK-d ning olen valmis vastama teie konkreetsetele küsimustele - kirjutage kommentaaridesse (või privaatsõnumisse), püüan kõigele vastata mõne päeva jooksul.

Märkmete seeria “Satanist Date” tulekuga tuli palju sõnumeid ja kommentaare küsimustega, kuidas alustada ja millest kaevata, ning täna analüüsime peamisi oskusi ja küsimusi, mis pärast publikatsioone tekkisid.

Kõik siin väljaöeldu ei pretendeeri lõplikule tõele ja on autori subjektiivne arvamus. Vaatleme peamisi asju, mis tunduvad protsessi juures kõige olulisemad.

Miks seda täpselt vaja on?

Et eesmärk oleks paremini saavutatav, et see näeks välja vähemalt mõnevõrra konkreetne – tahad saada DS-i või teadlaseks Facebookis/Apple’is/Amazonis/Netflixis/Google’is – vaadake nõudeid, keeli ja vajalikke oskusi konkreetselt millisele ametikohale. Mis on töölevõtmise protsess? Kuidas möödub tavaline päev sellises rollis? Milline näeb välja seal töötava inimese keskmine profiil?

Tihti on üldpilt selline, et inimene ei saa tegelikult aru, mida ta täpselt tahab ja pole lõpuni selge, kuidas selleks ebaselgeks kuvandiks valmistuda – seega tasub omada vähemalt umbkaudset plaani, mida täpselt soovid.

Täpsustage praegune eesmärgi vaade

Isegi kui see teel muutub ja plaanide muutmine etenduse käigus on üldiselt normaalne, tasub võtta eesmärk ja sellele keskenduda, perioodiliselt hinnata ja ümber mõelda.

Kas see saab olema või on see endiselt aktuaalne?

Selleks ajaks, kui sa positsiooniks kasvad.

Kujutage ette, et enne ametikohale asumist peate omandama doktorikraadi, töötama 2-3 aastat tööstuses ja üldiselt kloostris mediteerides juukseid lõikama – kas pole andmeteaduse olukord sama, mis kunagi oli majandusteadlaste ja advokaadid? Kas valdkonnas, millega soovid tegeleda, muutub kõik tundmatuseni?

Eks ole suur võimalus, et kõik tormavad nüüd sinna ja näeme pilti, kus on lai kiht inimesi, kes üritavad erialale sisse astuda – ja seal on lihtsalt napp stardipositsioon.

Tee valikul tasub võib-olla arvestada praeguste trendidega, mitte ainult tööturu hetkeseisuga, vaid ka teie ettekujutusega, kuidas see muutub ja kus see on.

Näiteks ei plaaninud autor saada satanistiks, kuid doktorikraadi ajal töötas ta kolmandate osapoolte projektidega, millel olid DS-iga tugevad ühised oskused, ning kraadiõppe lõpus lülitus ta loomulikult keskkonnale, nähes head positsiooni.

Kui etenduse käigus selgub, et on vaja kolida kuhugi mujale – sest seal on praegu kõige rohkem liikumist ja toimub kõige huvitavam tegevus, siis liigume sinna loomulikult.

Oskuste jaotus

Need on tingimuslikud oskuste kategooriad, mis tunduvad mulle DS-is täieliku ja tõhusa töö võtmetähtsusega. Eraldi tõstan esile inglise keele – õppige kõike, mida CS-is teete. Järgmised on peamised kategooriad.

Programmeerimine/skriptimine

Milliste keeltega oled kindlasti tuttav? Python? Java? Shelli skriptimine? Lua? SQL? C++?

Mida täpselt peate oskama ja miks programmeerimise osas – siinsete positsioonide vahemik on väga erinev.

Näiteks pean tihti juurutama keerulist loogikat, päringuid, mudeleid, analüütikat ja üldiselt arendama tõlgendatud süsteeme, kuid koodi kiirusele pole peaaegu kunagi nõudeid, välja arvatud kõige üldisemad ja mõistlikumad.

Seetõttu on minu oskused väga erinevad nendest, kes kirjutavad Tensorflow teeki ja mõtlevad koodi optimeerimisele l1 vahemälu ja sarnaste asjade tõhusaks kasutamiseks, seega vaadake, mida täpselt vajate, ja hinnake õiget õppimise teed.

Näiteks pythoni puhul teevad inimesed juba meigi kaart keeleõpe.

Kindlasti on teie vajaduste jaoks juba kogenud nõuandeid ja häid allikaid - peate koostama nimekirja ja hakkama sellega töötama.

Äriprotsesside mõistmine

Ilma selleta ei saa te kuhugi minna: peate mõistma, miks teid selles protsessis vaja on, mida te teete ja miks. Sageli võib just see säästa palju aega, maksimeerida oma kasu ega raisata aega ja ressursse jamadele.

Tavaliselt esitan endale järgmised küsimused:

  • Mida ma ettevõttes täpsemalt teen?
  • Miks?
  • Kes ja kuidas seda kasutama hakkab?
  • Millised võimalused mul on?
  • Millised on parameetrite piirid?

Siin on parameetrite kohta veidi täpsemalt: sageli saate tööstsenaariumi oluliselt muuta, kui teate, et midagi võib ohverdada: näiteks tõlgendatavus või vastupidi, paar protsenti ei mängi siin rolli ja meil on väga kiire lahendus ja klient vajab seda, sest ta maksab torujuhtme AWS-is töötamise aja eest.

Matemaatika

Siin mõtled ja saad ise kõigest aru - ilma elementaarse matemaatika teadmisteta pole te midagi muud kui granaadiga ahvid (vabandust Random Forest) - seega peate vähemalt elementaarsetest asjadest aru saama. Kui peaksin koostama väga minimaalse nimekirja, sisaldaks see järgmist:

  • Lineaaralgebra – tohutul hulgal ressursse on lihtne guugeldada, otsige endale sobivaimat;
  • Matemaatiline analüüs - (vähemalt esimesel kahel semestril);
  • Tõenäosusteooria on masinõppes kõikjal;
  • Kombinatoorika – see on tegelikult teooriat täiendav;
  • Graafiteooria - vähemalt BASIC;
  • Algoritmid - vähemalt kahe esimese semestri jooksul (vt Cormeni soovitusi tema raamatus);
  • Matemaatika – vähemalt elementaarne.

Praktiline andmete analüüs ja visualiseerimine

Üks olulisemaid asju on osata mitte karta andmetega kätt määrida ning viia läbi andmestiku, projekti põhjalik analüüs ja luua kiire andmete visualiseerimine.

Uurimuslik andmeanalüüs peaks saama lihtsalt millekski loomulikuks, nagu kõik muud andmetransformatsioonid ja võimalus luua unixi sõlmedest lihtne konveier (vt eelnevaid artikleid) või kirjutada loetav ja arusaadav märkmik.

Tahaksin mainida visualiseerimist: parem on üks kord näha kui sada korda kuulda.

Graafiku näitamine haldurile on sada korda lihtsam ja selgem kui arvude komplekt, nii et matplotlib, seaborn ja ggplot2 on teie sõbrad.

Pehmed oskused

Sama oluline on osata oma ideid, aga ka tulemusi ja muresid (jm) teistele edastada – veendu, et suudad ülesande selgelt sõnastada nii tehnilises kui ärilises mõttes.

Saate selgitada kolleegidele, juhtidele, ülemustele, klientidele ja kõigile teistele, kes seda vajavad, mis toimub, milliseid andmeid kasutate ja milliseid tulemusi olete saanud.

Teie diagramme ja dokumente tuleks lugeda ilma teieta. See tähendab, et te ei pea teie juurde minema, et mõista, mis seal on kirjutatud.

Saate teha selge esitluse, et mõtet aru saada ja/või projekti/oma tööd dokumenteerida.

Saate oma seisukohta põhjendatult ja emotsioonideta edasi anda, öelda "jah/ei" või kahtluse alla seada/otsust toetada.

koolitus

Seal on palju erinevaid kohti, kus saate seda kõike õppida. Annan lühikese nimekirja - proovisin sealt kõike ja ausalt öeldes on igal esemel oma plussid ja miinused. Proovige järele ja otsustage, mis teile sobib, kuid soovitan tungivalt proovida mitut võimalust ja mitte jääda ühe juurde.

  • Veebikursused: coursera, udacity, Edx jne;
  • Uued koolid: võrgus ja võrguühenduseta – SkillFactory, ShaD, MADE;
  • Klassikalised koolid: ülikoolide magistriprogrammid ja täiendõppekursused;
  • Projektid – saate lihtsalt valida teid huvitavad ülesanded ja neid lõigata, laadides need githubisse;
  • Praktika – siin on raske midagi soovitada, tuleb otsida olemasolevat ja leida sobivad võimalused.

Kas see on vajalik?

Lõpetuseks lisan ilmselt kolm isiklikku põhimõtet, mida püüan ise järgida.

  • Peaks olema huvitav;
  • Tooge sisemist naudingut (= vähemalt ärge tekitage kannatusi);
  • "Olla sinu oma."

Miks just nemad? Raske on ette kujutada, et teeks midagi iga päev ja ei naudiks või ei tunneks huvi. Kujutage ette, et olete arst ja vihkate inimestega suhtlemist – see võib muidugi kuidagi toimida, kuid tunnete end pidevalt ebamugavalt patsientide vooga, kes tahavad teilt midagi küsida. See ei tööta pikemas perspektiivis.

Miks ma konkreetselt sisemist naudingut mainisin? Mulle tundub, et see on vajalik edasiseks arenguks ja põhimõtteliselt ka õppeprotsessiks. Naudin väga, kui õnnestub mõni keerukas funktsioon valmis teha ja mudel ehitada või mõni oluline parameeter välja arvutada. Ma naudin seda, kui mu kood on esteetiliselt ilus ja hästi kirjutatud. Seetõttu on millegi uue õppimine huvitav ega nõua otseselt mingit olulist motivatsiooni.

“Olla sinu oma” on sama tunne, et see on umbes see, mida sa teha tahtsid. Mul on väike lugu. Olen lapsepõlvest saati tundnud huvi rokkmuusika (ja metalli – LÕHE!) vastu ning nagu paljud teised, tahtsin õppida mängima ja see on kõik. Selgus, et mul polnud kuulmist ega häält - see ei häirinud mind üldse (ja pean ütlema, et see ei häiri paljusid esinejaid otse laval) ja kui ma veel koolis käisin, sain ma endale kitarri... ja sai selgeks, et mulle väga ei meeldi tundide viisi istuda ja sellega mängida. See läks raskelt, mulle tundus alati, et mingi jama tuleb välja - ma ei saanud sellest üldse naudingut ja tundsin end lihtsalt näruse, lollina ja täiesti võimetuna. Sundisin end sõna otseses mõttes tundideks maha istuma ja üldiselt polnud see hobusele hea toit.

Samal ajal võisin üsna rahulikult istuda tundide kaupa mõnd mänguasja arendades, kasutades skripti, et midagi flashis animeerida (või midagi muud) ja mul oli meeletu motivatsioon mängu elemente lõpetada või liikumis- ja/või mehaanikaga tegeleda. kolmandate osapoolte teekide, pistikprogrammide ja kõige muu ühendamine.

Ja mingi hetk sain aru, et kitarrimäng pole minu asi ja mulle meeldib väga kuulata, mitte mängida. Ja mu silmad lõid särama, kui kirjutasin mänge ja koodi (sellel hetkel kuulasin igasugust metalli) ja see mulle siis meeldis ja seda oleksin pidanud tegema.

Kas teil on muid küsimusi?

Muidugi ei jõudnud me kõiki teemasid ja küsimusi läbi käia, nii et kirjutage kommentaaridesse ja saatke mulle PM - küsimuste üle on mul alati hea meel.

Märkused Data Scientist: kust alustada ja kas see on vajalik?

Märkused Data Scientist: kust alustada ja kas see on vajalik?

Allikas: www.habr.com

Lisa kommentaar