Pastabos Data Scientist: nuo ko pradėti ir ar tai būtina?

Pastabos Data Scientist: nuo ko pradėti ir ar tai būtina?

TL;DR yra įrašas, skirtas klausimams/atsakymams apie duomenų mokslą ir kaip įstoti į profesiją bei tobulėti joje. Straipsnyje išanalizuosiu pagrindinius principus bei DUK ir esu pasiruošęs atsakyti į jūsų konkrečius klausimus – rašykite komentaruose (arba asmenine žinute), pasistengsiu į viską atsakyti per kelias dienas.

Atsiradus užrašų serijai „Satanistinis pasimatymas“, atsirado daug žinučių ir komentarų su klausimais, nuo ko pradėti ir kur kasti, o šiandien analizuosime pagrindinius įgūdžius ir klausimus, kurie kilo po publikacijų.

Viskas, kas čia pasakyta, nepretenduoja į galutinę tiesą ir yra subjektyvi autoriaus nuomonė. Apžvelgsime pagrindinius dalykus, kurie procese atrodo patys svarbiausi.

Kodėl būtent to reikia?

Kad tikslas būtų geriau pasiekiamas, kad jis atrodytų bent kiek konkretus – norite tapti „Facebook“/Apple/Amazon/Netflix/Google DS ar mokslininku – pažiūrėkite į reikalavimus, kalbas ir reikiamus įgūdžius. konkrečiai kokiai pozicijai. Koks yra įdarbinimo procesas? Kaip praeina įprasta diena atliekant tokį vaidmenį? Kaip atrodo vidutinis ten dirbančio žmogaus profilis?

Dažnai bendras vaizdas yra toks, kad žmogus nelabai suvokia, ko tiksliai nori ir nėra iki galo aišku, kaip šiam neaiškiam įvaizdžiui pasiruošti – todėl verta turėti bent apytikslį planą, ko tiksliai nori.

Sukonkretinkite dabartinį tikslo vaizdą

Net jei jis keičiasi pakeliui ir apskritai normalu keisti planus žaidimo eigoje, verta turėti tikslą ir susitelkti į jį, periodiškai įvertinti ir permąstyti.

Ar tai bus, ar vis dar aktualu?

Kol užaugsi į poziciją.

Įsivaizduokite, kad prieš įsidarbindami turite įgyti daktaro laipsnį, padirbėti 2–3 metus pramonėje ir apskritai nusikirpti plaukus medituodami vienuolyne – ar su duomenų mokslu situacija nebus tokia pati, kokia buvo su ekonomistais ir teisininkai? Ar toje srityje, kurios norite užsiimti, viskas pasikeis neatpažįstamai?

Argi nėra didelė tikimybė, kad dabar visi ten skubės ir pamatysime vaizdą, kuriame yra platus sluoksnis žmonių, kurie bando įstoti į profesiją - ir bus tiesiog menka startinė padėtis.

Galbūt verta renkantis kelią atsižvelgti į dabartines tendencijas, ne tik į esamą darbo rinkos būklę, bet ir į savo idėją, kaip ji keičiasi ir kur ji yra.

Pavyzdžiui, autorius neplanavo tapti satanistu, bet studijuodamas doktorantūroje dirbo prie trečiųjų šalių projektų, kurie turėjo stiprių bendrų su DS įgūdžių, o baigęs magistrantūros studijas natūraliai perėjo į aplinką, matydamas gerą. padėtis.

Jei pjesės eigoje paaiškės, kad reikės persikelti kur nors kitur – nes dabar juda daugiausiai ir vyksta visas įdomiausias veiksmas, tai mes ten judėsime natūraliai.

Įgūdžių suskirstymas

Tai yra sąlyginės įgūdžių kategorijos, kurios, man atrodo, yra esminės visapusiškam ir efektyviam darbui DS. Atskirai pabrėšiu anglų kalbą – mokykitės, ką darote CS. Toliau pateikiamos pagrindinės kategorijos.

Programavimas/scenarijus

Su kokiomis kalbomis tikrai susipažinsi? Python? Java? Shell scenarijus? Lua? SQL? C++?

Ką tiksliai reikia mokėti daryti ir kodėl programavimo prasme – pozicijų diapazonas čia labai skiriasi.

Pavyzdžiui, man dažnai tenka diegti sudėtingą logiką, užklausas, modelius, analizę ir apskritai kurti interpretuojamas sistemas, tačiau kodo greičio reikalavimų beveik niekada nėra, išskyrus pačius bendriausius ir pagrįstiausius.

Todėl mano įgūdžių rinkinys labai skiriasi nuo tų, kurie rašo Tensorflow biblioteką ir galvoja apie kodo optimizavimą efektyviam l1 talpyklos naudojimui ir panašius dalykus, todėl pažiūrėkite, ko tiksliai jums reikia ir įvertinkite teisingą mokymosi kelią.

Pavyzdžiui, pitonui žmonės jau susikuria kortelę kalbos mokymasis.

Žinoma, jau yra patyrusių patarimų ir gerų šaltinių jūsų poreikiams – turite nuspręsti dėl sąrašo ir pradėti jį dirbti.

Verslo procesų supratimas

Be jo niekur neišeisi: reikia suprasti, kam esi reikalingas šiame procese, ką darai ir kodėl. Tai dažnai gali sutaupyti daug laiko, maksimaliai padidinti naudą ir neeikvoti laiko bei išteklių šlamštams.

Paprastai užduodu sau tokius klausimus:

  • Ką tiksliai aš veikiu įmonėje?
  • Kodėl?
  • Kas jį naudos ir kaip?
  • Kokius variantus turiu?
  • Kokios yra parametrų ribos?

Šiek tiek daugiau apie parametrus: dažnai galite labai pakeisti darbo scenarijų, jei žinote, kad galima ką nors paaukoti: pavyzdžiui, aiškinamumas arba atvirkščiai, pora procentų čia neturės jokio vaidmens ir mes turime labai greitą. sprendimas, o klientui jo reikia, nes jis moka už dujotiekio veikimo laiką AWS.

Matematika

Čia tu pats viską galvoji ir supranti - be elementarios matematikos žinių esi ne kas kita, kaip beždžionės su granata (atsiprašau Random Forest) - taigi reikia suprasti bent pagrindinius dalykus. Jei turėčiau sudaryti labai minimalų sąrašą, jame būtų:

  • Tiesinė algebra – „Google“ lengva rasti daugybę išteklių, ieškokite, kas jums labiausiai tinka;
  • Matematinė analizė – (bent pirmus du semestrus);
  • Tikimybių teorija yra visur mašininiame mokyme;
  • Kombinatorika – ji iš tikrųjų papildo teoriją;
  • Grafų teorija – bent BASIC;
  • Algoritmai – bent pirmus du semestrus (žr. Cormeno rekomendacijas jo knygoje);
  • Mathlogic – bent jau elementarus.

Praktinė duomenų analizė ir vizualizacija

Vienas iš svarbiausių dalykų – mokėti nebijoti susitepti rankų su duomenimis ir atlikti visapusišką duomenų rinkinio, projekto analizę bei sukurti greitą duomenų vizualizaciją.

Tiriamoji duomenų analizė turėtų tiesiog tapti kažkuo natūralia, kaip ir visos kitos duomenų transformacijos bei galimybė iš unix mazgų sukurti paprastą konvejerį (žr. ankstesnius straipsnius) arba parašyti skaitomą ir suprantamą sąsiuvinį.

Norėčiau paminėti vizualizaciją: geriau vieną kartą pamatyti, nei šimtą kartų išgirsti.

Rodyti grafiką vadovui yra šimtą kartų lengviau ir aiškiau nei skaičių rinkinį, todėl matplotlib, seaborn ir ggplot2 yra jūsų draugai.

Minkšti įgūdžiai

Ne mažiau svarbu mokėti perteikti savo idėjas, taip pat rezultatus ir rūpesčius (tt) kitiems – įsitikinkite, kad galite aiškiai išdėstyti užduotį tiek technine, tiek dalykine prasme.

Galite paaiškinti kolegoms, vadovams, vadovams, klientams ir visiems kitiems, kam to reikia, kas vyksta, kokius duomenis naudojate ir kokius rezultatus gavote.

Jūsų diagramos ir dokumentai turėtų būti skaitomi be jūsų. Tai yra, jums nereikia eiti pas jus, kad suprastumėte, kas ten parašyta.

Galite pateikti aiškų pristatymą, kad suprastumėte esmę ir (arba) dokumentuokite projektą / savo darbą.

Savo poziciją galite perteikti argumentuotai ir be emocijų, pasakyti „taip/ne“ arba suabejoti/palaikyti sprendimą.

mokymas

Yra daug įvairių vietų, kur galite viso to išmokti. Pateiksiu trumpą sąrašą – iš jo išbandžiau viską ir, tiesą pasakius, kiekviena prekė turi savo pliusų ir minusų. Išbandykite ir nuspręskite, kas jums tinka, tačiau labai rekomenduoju išbandyti keletą variantų ir neužstrigti ties vienu.

  • Internetiniai kursai: coursera, udacity, Edx ir kt.;
  • Naujos mokyklos: internete ir neprisijungus – SkillFactory, Shad, MADE;
  • Klasikinės mokyklos: universitetinės magistrantūros programos ir kvalifikacijos kėlimo kursai;
  • Projektai – galite tiesiog pasirinkti jus dominančias užduotis ir jas iškirpti, įkeldami į github;
  • Stažuotės – čia sunku ką nors pasiūlyti; reikia ieškoti, kas yra, ir rasti tinkamų variantų.

Ar tai būtina?

Baigdamas turbūt pridėsiu tris asmeninius principus, kuriais stengiuosi vadovautis ir pats.

  • Turėtų būti įdomu;
  • Nešti vidinį malonumą (= bent jau nesukelti kančios);
  • „Būti tavo“.

Kodėl jie? Sunku įsivaizduoti, kad kasdien kažką darai ir nesimėgauja ar nesidomi. Įsivaizduokite, kad esate gydytojas ir nekenčiate bendrauti su žmonėmis – tai, žinoma, kažkaip gali suveikti, bet jums nuolat bus nepatogu dėl pacientų, norinčių jūsų ko nors paklausti, srauto. Tai neveikia ilgalaikėje perspektyvoje.

Kodėl konkrečiai paminėjau vidinį malonumą? Man atrodo, kad tai būtina tolimesniam tobulėjimui ir iš esmės mokymosi procesui. Man labai patinka, kai pavyksta užbaigti kokią nors sudėtingą funkciją ir sukurti modelį arba apskaičiuoti svarbų parametrą. Man patinka, kai mano kodas yra estetiškai gražus ir gerai parašytas. Todėl išmokti ko nors naujo yra įdomu ir tiesiogiai nereikalauja jokios reikšmingos motyvacijos.

„Būti tavo“ yra tas pats jausmas, kad maždaug tai ir norėjote padaryti. Turiu mažą istoriją. Nuo vaikystės domėjausi roko muzika (ir metalu – SALMON!) ir, kaip ir daugelis kitų, norėjau išmokti groti ir viskas. Paaiškėjo, kad aš neturėjau klausos ir balso - tai manęs visiškai nejaudino (ir turiu pasakyti, kad tai netrukdo daugeliui atlikėjų tiesiog ant scenos), o dar mokydamasi mokykloje gavau gitarą... ir tapo aišku, kad man nelabai patinka valandų valandas sėdėti ir žaisti. Sunkiai sekėsi, man visada atrodė, kad išeina kažkokia nesąmonė - aš iš to visai nepatyriau jokio malonumo ir tiesiog jaučiausi niūri, kvaila ir visiškai nepajėgi. Tiesiogine prasme prisiverčiau atsisėsti į pamokas ir apskritai tai nebuvo geras maistas arkliui.

Tuo pat metu galėjau gana ramiai sėdėti valandų valandas, kurdamas kokį nors žaislą, naudodamas scenarijų, kad ką nors animuotų per „flash“ (ar ką nors kita), ir buvau beprotiškai motyvuotas užbaigti žaidimo elementus arba susitvarkyti su judesio ir/ar mechanika. prijungti trečiųjų šalių bibliotekas, papildinius ir visa kita.

Ir kažkuriuo metu supratau, kad groti gitara – ne mano reikalas ir man labai patinka klausytis, o ne groti. Ir mano akys spindėjo, kai rašiau žaidimus ir kodą (tuo momentu klausiausi visokio metalo) ir tai man tada patiko, ir tai turėjau daryti.

Ar turite kitų klausimų?

Žinoma, negalėjome peržvelgti visų temų ir klausimų, todėl rašykite komentarus ir rašykite man į PM - visada džiaugiuosi, kad kyla klausimų.

Pastabos Data Scientist: nuo ko pradėti ir ar tai būtina?

Pastabos Data Scientist: nuo ko pradėti ir ar tai būtina?

Šaltinis: www.habr.com

Добавить комментарий