Notes Date Scientist: kde začať a je to potrebné?

Notes Date Scientist: kde začať a je to potrebné?

TL;DR je príspevok na otázky/odpovede o Data Science a o tom, ako vstúpiť do profesie a rozvíjať sa v nej. V článku rozoberiem základné princípy a FAQ a som pripravený odpovedať na vaše konkrétne otázky - píšte do komentárov (alebo do súkromnej správy), pokúsim sa na všetko odpovedať do niekoľkých dní.

S príchodom série poznámok „Dátum satanistu“ prišlo veľa správ a komentárov s otázkami o tom, ako začať a kde kopať, a dnes budeme analyzovať hlavné zručnosti a otázky, ktoré vznikli po publikáciách.

Všetko, čo je tu uvedené, si nerobí nárok na úplnú pravdu a je to subjektívny názor autora. Pozrieme sa na hlavné veci, ktoré sa v tomto procese zdajú najdôležitejšie.

Prečo je to presne potrebné?

Aby bol cieľ lepšie dosiahnuteľný, aby vyzeral aspoň trochu konkrétne – chcete sa stať DS alebo Research Scientist na Facebooku/Apple/Amazon/Netflix/Google – pozrite sa na požiadavky, jazyky a potrebné zručnosti konkrétne na akú pozíciu. Aký je proces prijímania zamestnancov? Ako prebieha bežný deň v takejto úlohe? Ako vyzerá priemerný profil človeka, ktorý tam pracuje?

Celkový obraz je často taký, že človek v skutočnosti nerozumie tomu, čo presne chce, a nie je celkom jasné, ako sa na tento nejasný obraz pripraviť – preto stojí za to mať aspoň približný plán toho, čo presne chcete.

Konkretizujte aktuálny pohľad na cieľ

Aj keď sa to počas hry mení a vo všeobecnosti je normálne meniť plány v priebehu hry, stojí za to mať pred sebou cieľ a zamerať sa naň, pravidelne vyhodnocovať a prehodnocovať.

Bude alebo je stále aktuálna?

V čase, keď vyrastiete do pozície.

Predstavte si, že pred vašou pozíciou potrebujete získať doktorát, pracovať 2-3 roky v odbore a vo všeobecnosti si ostrihať vlasy pri meditácii v kláštore – nebude situácia s Data Science rovnaká ako kedysi s ekonómami a právnici? Zmení sa všetko na nepoznanie v oblasti, ktorej sa chceš venovať?

Nie je veľká šanca, že sa tam teraz všetci ponáhľajú a uvidíme obrázok, kde je široká vrstva ľudí, ktorí sa snažia vstúpiť do tejto profesie – a tam bude jednoducho mizerná východisková pozícia.

Možno stojí za zváženie aktuálnych trendov pri výbere cesty, nielen aktuálny stav na trhu práce, ale aj vaša predstava o tom, ako sa mení a kde je.

Autor sa napríklad neplánoval stať satanistom, ale počas doktorandského štúdia pracoval na projektoch tretích strán, ktoré mali silné zručnosti spoločné s DS, a na konci postgraduálnej školy prirodzene prešiel na prostredie, videl dobrý pozíciu.

Ak sa v priebehu hry ukáže, že sa bude treba posunúť niekam inam – pretože tam je teraz najviac pohybu a dejú sa všetky najzaujímavejšie akcie, tak sa tam prirodzene presunieme.

Rozdelenie zručností

Sú to podmienené kategórie zručností, ktoré sa mi javia ako kľúčové pre plnohodnotnú a efektívnu prácu v DS. Samostatne zvýrazním angličtinu – naučte sa čokoľvek, čo robíte v CS. Ďalej sú to kľúčové kategórie.

Programovanie/Skriptovanie

S akými jazykmi sa určite zoznámite? Python? Java? Shell skriptovanie? Lua? SQL? C++?

Čo presne potrebujete vedieť a prečo z hľadiska programovania – rozsah pozícií sa tu veľmi líši.

Napríklad často musím implementovať zložitú logiku, dotazy, modely, analýzy a vo všeobecnosti vyvíjať interpretované systémy, ale takmer nikdy neexistujú požiadavky na rýchlosť kódu, okrem tých najvšeobecnejších a najrozumnejších.

Preto je moja sada zručností veľmi odlišná od tých, ktorí píšu knižnicu Tensorflow a premýšľajú o optimalizácii kódu pre efektívne využitie l1 cache a podobných vecí, takže sa pozrite na to, čo presne potrebujete, a zhodnoťte správnu cestu k učeniu.

Napríklad pre pytóna už ľudia tvoria mapa učenie jazyka.

Iste, existujú už skúsené rady a dobré zdroje pre vaše potreby - musíte sa rozhodnúť pre zoznam a začať na ňom pracovať.

Pochopenie obchodných procesov

Bez toho nemôžete nikam ísť: musíte pochopiť, prečo ste v tomto procese potrební, čo robíte a prečo. To je často to, čo vám môže ušetriť veľa času, maximalizovať výhody a vyhnúť sa plytvaniu časom a zdrojmi na svinstvá.

Zvyčajne si kladiem nasledujúce otázky:

  • Čo konkrétne vo firme robím?
  • Prečo?
  • Kto a ako to bude používať?
  • Aké mám možnosti?
  • Aké sú limity parametrov?

Tu je trochu viac podrobností o parametroch: často môžete výrazne zmeniť pracovný scenár, ak viete, že sa dá niečo obetovať: napríklad interpretovateľnosť alebo naopak, pár percent tu nebude hrať rolu a máme veľmi rýchly riešenie a klient ho potrebuje, pretože platí za čas, počas ktorého beží pipeline v AWS.

Matematika

Tu si všetko myslíš a rozumieš sám - bez znalosti základnej matematiky nie si nič iné ako opice s granátom (sorry Random Forest) - takže potrebuješ pochopiť aspoň základné veci. Ak by som mal zostaviť veľmi minimálny zoznam, obsahoval by:

  • Lineárna algebra – obrovské množstvo zdrojov sa dá ľahko vygoogliť, hľadajte, čo vám najviac vyhovuje;
  • Matematická analýza - (aspoň v prvých dvoch semestroch);
  • Teória pravdepodobnosti je v strojovom učení všade;
  • Kombinatorika – je vlastne komplementárna k teórii;
  • Teória grafov - aspoň ZÁKLADNÉ;
  • Algoritmy - aspoň prvé dva semestre (pozri Cormenove odporúčania v jeho knihe);
  • Matematická - aspoň základná.

Praktická analýza a vizualizácia dát

Jednou z najdôležitejších vecí je vedieť sa nebáť zašpiniť si ruky od dát a urobiť komplexnú analýzu dátového súboru, projektu a vytvoriť rýchlu vizualizáciu dát.

Prieskumná analýza údajov by sa jednoducho mala stať niečím prirodzeným, ako všetky ostatné transformácie údajov a schopnosť vytvoriť jednoduchý pipeline z unixových uzlov (pozri predchádzajúce články) alebo napísať čitateľný a zrozumiteľný notebook.

Rád by som spomenul vizualizáciu: je lepšie raz vidieť ako stokrát počuť.

Zobrazenie grafu manažérovi je stokrát jednoduchšie a prehľadnejšie ako množina čísel, takže matplotlib, seaborn a ggplot2 sú vaši priatelia.

Mäkké zručnosti

Rovnako dôležité je vedieť komunikovať svoje nápady, ako aj výsledky a obavy (a pod.) s ostatnými – uistite sa, že viete jasne formulovať úlohu z technického aj obchodného hľadiska.

Môžete vysvetliť kolegom, manažérom, nadriadeným, klientom a komukoľvek, kto to potrebuje, čo sa deje, aké dáta používate a aké výsledky ste dosiahli.

Vaše grafy a dokumentácia by sa mali čítať bez vás. To znamená, že nemusíte ísť za vami, aby ste pochopili, čo je tam napísané.

Môžete urobiť jasnú prezentáciu, aby ste pochopili podstatu a/alebo zdokumentovali projekt/svoju prácu.

Môžete vyjadriť svoj postoj odôvodneným a bez emócií, povedať „áno/nie“ alebo spochybniť/podporiť rozhodnutie.

výcvik

Existuje mnoho rôznych miest, kde sa toto všetko môžete naučiť. Uvediem krátky zoznam - vyskúšal som z neho všetko a úprimne povedané, každá položka má svoje pre a proti. Vyskúšajte to a rozhodnite sa, čo vám vyhovuje, ale vrelo odporúčam vyskúšať viacero možností a nezostať pri jednej.

  • Online kurzy: Coursera, udacity, Edx atď.;
  • Nové školy: online a offline - SkillFactory, ShaD, MADE;
  • Klasické školy: univerzitné magisterské programy a kurzy odbornej prípravy;
  • Projekty – môžete si jednoducho vybrať úlohy, ktoré vás zaujímajú, vystrihnúť ich a nahrať na github;
  • Stáže - je ťažké tu niečo navrhnúť, musíte hľadať, čo je k dispozícii, a nájsť vhodné možnosti.

Je potrebné?

Na záver asi pridám tri osobné zásady, ktorými sa sám snažím riadiť.

  • Malo by to byť zaujímavé;
  • Priniesť vnútorné potešenie (= aspoň nespôsobovať utrpenie);
  • "Byť tvoj."

Prečo práve oni? Je ťažké si predstaviť, že by ste niečo robili každý deň a nebavilo vás to alebo nezaujímalo. Predstavte si, že ste lekár a neznášate komunikáciu s ľuďmi – to, samozrejme, môže nejako fungovať, ale neustále vám bude nepríjemne prúdiť pacientov, ktorí sa vás chcú niečo opýtať. Toto dlhodobo nefunguje.

Prečo som konkrétne spomenul vnútorné potešenie? Zdá sa mi to nevyhnutné pre ďalší rozvoj a v zásade aj proces učenia. Veľmi ma baví, keď sa mi podarí dokončiť nejakú komplexnú funkciu a postaviť model alebo vypočítať dôležitý parameter. Baví ma, keď je môj kód esteticky krásny a dobre napísaný. Učenie sa niečoho nového je preto zaujímavé a nevyžaduje si priamo žiadnu výraznejšiu motiváciu.

„Byť svoj“ je ten istý pocit, aký ste zhruba chceli robiť. Mám malý príbeh. Od detstva som sa zaujímal o rockovú hudbu (a metal - LOSOS!) a ako mnohí iní som sa chcel naučiť hrať a to je všetko. Ukázalo sa, že som nepočul ani hlas - to mi vôbec neprekážalo (a musím povedať, že to neprekáža mnohým interpretom priamo na pódiu) a keď som bol ešte v škole, dostal som gitaru... a ukázalo sa, že ma veľmi nebaví sedieť celé hodiny a hrať sa na tom. Išlo to do tuhého, vždy sa mi zdalo, že vychádzajú nejaké kecy - nemal som z toho vôbec žiadne potešenie a cítil som sa mizerne, hlúpo a úplne neschopný. Doslova som sa nútil sadnúť si na hodiny a vo všeobecnosti to nebolo dobré jedlo pre koňa.

Zároveň som mohol celkom pokojne sedieť celé hodiny a vyvíjať nejakú hračku, pomocou skriptu animovať niečo na flash (alebo niečo iné) a mal som divokú motiváciu dokončiť prvky v hre alebo sa zaoberať mechanikou pohybu a/alebo pripojenie knižníc tretích strán, pluginov a všetkého ostatného.

A v istom momente som si uvedomil, že hra na gitare nie je moja vec a že naozaj rád počúvam, nie hrám. A moje oči sa leskli, keď som písal hry a kód (v tej chvíli som počúval všetky druhy metalu) a to sa mi vtedy páčilo, a to som mal robiť.

Máte ešte nejaké otázky?

Samozrejme, nemohli sme prejsť všetkými témami a otázkami, takže píšte komentáre a PM - vždy sa teším na otázky.

Notes Date Scientist: kde začať a je to potrebné?

Notes Date Scientist: kde začať a je to potrebné?

Zdroj: hab.com

Pridať komentár