Notes Date Scientist: kde začít a je to nutné?

Notes Date Scientist: kde začít a je to nutné?

TL;DR je příspěvek pro otázky/odpovědi o Data Science a o tom, jak vstoupit do profese a rozvíjet se v ní. V článku rozeberu základní principy a FAQ a jsem připraven odpovědět na vaše konkrétní dotazy - pište do komentářů (nebo do soukromé zprávy), pokusím se na vše odpovědět během pár dnů.

S příchodem série poznámek „Satanist Date“ přišlo mnoho zpráv a komentářů s otázkami, jak začít a kde kopat, a dnes budeme analyzovat hlavní dovednosti a otázky, které vyvstaly po publikacích.

Vše zde uvedené si nečiní nárok na konečnou pravdu a je to subjektivní názor autora. Podíváme se na hlavní věci, které se v procesu zdají nejdůležitější.

Proč je to přesně potřeba?

Aby byl cíl lépe dosažitelný, aby vypadal alespoň trochu konkrétně – chcete se stát DS nebo Research Scientist na Facebooku/Apple/Amazon/Netflix/Google – podívejte se na požadavky, jazyky a potřebné dovednosti konkrétně na kterou pozici. Jaký je proces náboru? Jak probíhá typický den v takové roli? Jak vypadá průměrný profil člověka, který tam pracuje?

Často je celkový obraz takový, že člověk vlastně nerozumí tomu, co přesně chce, a není zcela jasné, jak se na tento nejasný obraz připravit – proto se vyplatí mít alespoň přibližný plán toho, co přesně chcete.

Konkretizujte aktuální pohled na cíl

I když se to během hry mění a je obecně normální měnit plány v průběhu hry, stojí za to mít cíl a zaměřit se na něj, pravidelně vyhodnocovat a přehodnocovat.

Bude nebo je stále aktuální?

Až vyrosteš do pozice.

Představte si, že před svou pozicí potřebujete získat doktorát, pracovat 2-3 roky v oboru a obecně si stříhat vlasy při meditaci v klášteře – nebude situace s Data Science stejná jako kdysi u ekonomů a právníci? Změní se vše k nepoznání v oblasti, které se chcete věnovat?

Není velká šance, že se tam teď všichni nahrnou a uvidíme obrázek, kde je široká vrstva lidí, kteří se snaží vstoupit do profese – a tam bude prostě mizivá výchozí pozice.

Možná by stálo za to při výběru cesty zvážit aktuální trendy, nejen aktuální stav na trhu práce, ale také vaši představu o tom, jak se mění a kde je.

Autor například neplánoval stát se satanistou, ale během svého doktorského studia pracoval na projektech třetích stran, které měly silné dovednosti společné s DS, a na konci postgraduální školy přirozeně přešel na prostředí a viděl dobrý pozice.

Pokud se v průběhu hry ukáže, že bude potřeba se posunout někam jinam – protože je tam teď nejvíc pohybu a děje se všechna nejzajímavější akce, tak se tam přirozeně přesuneme.

Rozdělení dovedností

To jsou podmíněné kategorie dovedností, které se mi zdají klíčové pro plnohodnotnou a efektivní práci v DS. Angličtinu zdůrazním zvlášť – naučte se, co děláte v CS. Další jsou klíčové kategorie.

Programování/skriptování

S jakými jazyky se určitě seznámíte? Krajta? Jáva? Shell skriptování? Lua? SQL? C++?

Co přesně musíte umět a proč z hlediska programování – rozsah pozic se zde velmi liší.

Často musím například implementovat složitou logiku, dotazy, modely, analýzy a obecně vyvíjet interpretované systémy, ale téměř nikdy nejsou požadavky na rychlost kódu, kromě těch nejobecnějších a nejrozumnějších.

Moje sada dovedností je proto velmi odlišná od těch, kteří píší knihovnu Tensorflow a přemýšlejí o optimalizaci kódu pro efektivní využití l1 cache a podobných věcí, takže se podívejte, co přesně potřebujete, a vyhodnoťte správnou cestu k učení.

Například u krajty už se lidé tvoří mapa studium jazyků.

Jistě již existují zkušené rady a dobré zdroje pro vaše potřeby – je třeba se rozhodnout pro seznam a začít na něm pracovat.

Pochopení obchodních procesů

Bez toho se nikam nedostanete: musíte pochopit, proč jste v tomto procesu potřební, co děláte a proč. Často je to to, co vám může ušetřit spoustu času, maximalizovat svůj užitek a neztrácet čas a zdroje na kecy.

Obvykle si pokládám následující otázky:

  • Co přesně ve firmě dělám?
  • Proč?
  • Kdo a jak to bude používat?
  • Jaké mám možnosti?
  • Jaké jsou limity parametrů?

Zde je trochu více podrobností o parametrech: často můžete značně změnit pracovní scénář, pokud víte, že lze něco obětovat: například interpretovatelnost nebo naopak, pár procent zde nebude hrát roli a máme velmi rychlý řešení a klient to potřebuje, protože platí za dobu, po kterou pipeline běží v AWS.

Matematika

Tady si vše myslíš a rozumíš sám - bez znalosti základní matematiky nejsi nic jiného než opice s granátem (promiň Random Forest) - takže je potřeba rozumět alespoň základním věcem. Pokud bych měl sestavit velmi minimální seznam, obsahoval by:

  • Lineární algebra – obrovské množství zdrojů snadno vygooglíte, hledejte, co vám nejvíce vyhovuje;
  • Matematická analýza - (alespoň v prvních dvou semestrech);
  • Teorie pravděpodobnosti je ve strojovém učení všude;
  • Kombinatorika - je vlastně doplňkem teorie;
  • Teorie grafů - alespoň ZÁKLADNÍ;
  • Algoritmy - alespoň pro první dva semestry (viz Cormenova doporučení v jeho knize);
  • Matematická logika - alespoň základní.

Praktická analýza a vizualizace dat

Jednou z nejdůležitějších věcí je umět se nebát ušpinit si ruce od dat a provést komplexní analýzu datové sady, projektu a vytvořit rychlou vizualizaci dat.

Průzkumná analýza dat by se prostě měla stát něčím přirozeným, jako všechny ostatní transformace dat a možnost vytvořit jednoduchý pipeline z unixových uzlů (viz předchozí články) nebo napsat čitelný a srozumitelný notebook.

Rád bych zmínil vizualizaci: je lepší jednou vidět, než stokrát slyšet.

Zobrazení grafu manažerovi je stokrát jednodušší a jasnější než sada čísel, takže matplotlib, seaborn a ggplot2 jsou vaši přátelé.

Jemné dovednosti

Stejně důležité je umět sdělit své nápady, ale i výsledky a obavy (atd.) ostatním – ujistěte se, že úkol dokážete jasně formulovat po technické i obchodní stránce.

Můžete vysvětlit kolegům, manažerům, nadřízeným, klientům a komukoli dalšímu, kdo to potřebuje, co se děje, jaká data používáte a jaké máte výsledky.

Vaše grafy a dokumentace by se měly číst bez vás. To znamená, že nemusíte chodit k vám, abyste pochopili, co je tam napsáno.

Můžete vytvořit jasnou prezentaci, abyste získali pointu a/nebo zdokumentovali projekt/svou práci.

Můžete vyjádřit svůj postoj odůvodněným a bez emocí, říci „ano/ne“ nebo zpochybnit/podpořit rozhodnutí.

výcvik

Existuje mnoho různých míst, kde se toto všechno můžete naučit. Uvedu krátký výčet – vyzkoušel jsem od toho všechno a upřímně řečeno, každá položka má své pro a proti. Vyzkoušejte to a rozhodněte se, co vám vyhovuje, ale vřele doporučuji vyzkoušet více možností a neustrnout na jedné.

  • Online kurzy: Coursera, udacity, Edx atd.;
  • Nové školy: online a offline - SkillFactory, ShaD, MADE;
  • Klasické školy: univerzitní magisterské programy a kurzy pro pokročilé;
  • Projekty – můžete jednoduše vybrat úkoly, které vás zajímají, a vyjmout je a nahrát je na github;
  • Stáže – tady je těžké něco navrhovat, musíte hledat, co je k dispozici, a najít vhodné možnosti.

Je to nezbytné?

Na závěr asi přidám tři osobní zásady, kterými se sám snažím řídit.

  • Mělo by to být zajímavé;
  • Přinášet vnitřní potěšení (= alespoň nezpůsobovat utrpení);
  • "Být tvůj."

proč oni? Je těžké si představit, že každý den něco děláte a nebaví vás to nebo nezajímá. Představte si, že jste lékař a nenávidíte komunikaci s lidmi – to samozřejmě může nějak fungovat, ale neustále vám bude nepříjemný proud pacientů, kteří se vás budou chtít na něco zeptat. Tohle dlouhodobě nefunguje.

Proč jsem konkrétně zmínil vnitřní potěšení? Zdá se mi, že je to nutné pro další rozvoj a v zásadě i proces učení. Strašně mě baví, když se mi podaří dokončit nějakou komplexní funkci a postavit model nebo vypočítat důležitý parametr. Baví mě, když je můj kód esteticky krásný a dobře napsaný. Učit se tedy něco nového je zajímavé a nevyžaduje přímo žádnou výraznou motivaci.

„Být svůj“ je stejný pocit, jaký jste zhruba chtěli dělat. Mám malý příběh. Od dětství jsem se zajímal o rockovou hudbu (a metal - LOSOS!) a jako mnoho jiných jsem se chtěl naučit hrát a to je vše. Ukázalo se, že nemám sluch a nemám hlas - to mi vůbec nevadilo (a musím říct, že to netrápí mnoho interpretů přímo na pódiu), a když jsem byl ještě ve škole, dostal jsem kytaru... a ukázalo se, že mě opravdu nebaví hodiny sedět a hrát si na tom. Šlo to do tuhého, pořád se mi zdálo, že vycházejí nějaké kecy - neměl jsem z toho vůbec žádnou radost a jen jsem si připadal mizerný, hloupý a úplně neschopný. Doslova jsem se nutila sedět na hodinách a obecně to pro koně nebylo dobré jídlo.

Přitom jsem mohl docela klidně sedět hodiny vyvíjející nějakou hračku, pomocí skriptu animovat něco na flash (nebo něco jiného) a měl jsem divokou motivaci dodělávat prvky ve hře nebo se zabývat mechanikou pohybu a/nebo připojení knihoven třetích stran, pluginů a všeho ostatního.

A v určitém okamžiku jsem si uvědomil, že hraní na kytaru není moje věc a že opravdu rád poslouchám, ne hraji. A mé oči jiskřily, když jsem psal hry a kód (v tu chvíli poslouchal všechny druhy metalu) a to se mi tehdy líbilo, a to jsem měl dělat.

Máte nějaké další otázky?

Samozřejmě jsme nemohli projít všechna témata a otázky, takže pište komentáře a PM - vždy jsem rád, když mám otázky.

Notes Date Scientist: kde začít a je to nutné?

Notes Date Scientist: kde začít a je to nutné?

Zdroj: www.habr.com

Přidat komentář