Bilješke Date Scientist: odakle početi i je li potrebno?

Bilješke Date Scientist: odakle početi i je li potrebno?

TL;DR je post za pitanja/odgovore o Data Science i kako ući u profesiju i razvijati se u njoj. U članku ću analizirati osnovne principe i FAQ i spreman sam odgovoriti na vaša konkretna pitanja - pišite u komentarima (ili u privatnoj poruci), pokušat ću odgovoriti na sve u roku od nekoliko dana.

S pojavom serije bilješki "Sotonistički datum" stigle su mnoge poruke i komentari s pitanjima o tome kako započeti i gdje kopati, a danas ćemo analizirati glavne vještine i pitanja koja su se pojavila nakon publikacija.

Sve što je ovdje navedeno ne pretendira na konačnu istinu i subjektivno je mišljenje autora. Pogledat ćemo glavne stvari koje se čine najvažnijima u procesu.

Zašto je to točno potrebno?

Kako bi cilj bio što bolje ostvariv, kako bi izgledao barem donekle specifično - želite postati DS ili Research Scientist na Facebooku/Appleu/Amazonu/Netflixu/Googleu - pogledajte zahtjeve, jezike i potrebne vještine konkretno za koju poziciju. Kakav je proces zapošljavanja? Kako prolazi tipičan dan u takvoj ulozi? Kako izgleda prosječan profil osobe koja tamo radi?

Često je ukupna slika takva da osoba zapravo ne razumije što točno želi i nije sasvim jasno kako se pripremiti za tu nejasnu sliku - stoga vrijedi imati barem okvirni plan o tome što točno želite.

Konkretizirajte trenutni pogled na cilj

Čak i ako se usput mijenja, a općenito je normalno mijenjati planove tijekom igre, vrijedi imati cilj i usredotočiti se na njega, povremeno procjenjivati ​​i promišljati.

Hoće li biti ili je još aktualan?

Dok izrastete u položaj.

Zamislite da prije svoje pozicije trebate steći doktorat, raditi 2-3 godine u industriji i općenito ošišati kosu dok meditirate u samostanu – neće li situacija sa Data Science biti ista kao što je nekad bila s ekonomistima i odvjetnici? Hoće li se sve promijeniti do neprepoznatljivosti u području kojim se želite baviti?

Zar nije velika šansa da će sada svi pohrliti tamo i da ćemo vidjeti sliku gdje postoji širok sloj ljudi koji pokušava ući u profesiju - a bit će jednostavno mršava startna pozicija.

Možda je vrijedno razmotriti trenutne trendove pri odabiru puta, ne samo trenutno stanje na tržištu rada, već i vašu ideju o tome kako se ono mijenja i gdje se nalazi.

Na primjer, autor nije planirao postati sotonist, ali je tijekom doktorata radio na projektima trećih strana koji su imali jake vještine zajedničke s DS-om, a na kraju diplomskog studija prirodno se prebacio na okruženje, vidjevši dobru položaj.

Ako se tijekom predstave pokaže da će se morati preseliti negdje drugdje - jer tamo je sada najviše kretanja i događa se sva najzanimljivija radnja, onda ćemo se tamo preseliti prirodno.

Slom vještina

To su uvjetne kategorije vještina koje mi se čine ključnima za potpun i učinkovit rad u DS-u. Posebno ću istaknuti engleski - naučite što god radite u CS-u. Sljedeće su ključne kategorije.

Programiranje/skriptiranje

Koje jezike sigurno želite upoznati? Piton? Java? Skriptiranje ljuske? Lua? Sql? C++?

Što točno trebate znati raditi i zašto u smislu programiranja - raspon pozicija ovdje jako varira.

Na primjer, često moram implementirati složenu logiku, upite, modele, analitiku i općenito razvijati interpretirane sustave, ali gotovo nikad nema zahtjeva za brzinom koda, osim onih najopćenitijih i najrazumnijih.

Stoga se moj skup vještina jako razlikuje od onih koji pišu biblioteku Tensorflow i razmišljaju o optimizaciji koda za učinkovito korištenje l1 cachea i sličnih stvari, stoga pogledajte što točno trebate i procijenite pravi put učenja.

Na primjer, za python se ljudi već izmišljaju karta učenje jezika.

Sigurno već postoje iskusni savjeti i dobri izvori za vaše potrebe - morate se odlučiti za popis i početi raditi na njemu.

Razumijevanje poslovnih procesa

Ne možete nikamo bez toga: morate razumjeti zašto ste potrebni u ovom procesu, što radite i zašto. Često vam to može uštedjeti mnogo vremena, povećati vašu korist i ne gubiti vrijeme i resurse na sranja.

Obično si postavljam sljedeća pitanja:

  • Što točno radim u tvrtki?
  • Zašto?
  • Tko će ga koristiti i kako?
  • Koje mogućnosti imam?
  • Koje su granice parametara?

Evo malo više detalja o parametrima: često možete jako promijeniti scenarij rada ako znate da se nešto može žrtvovati: na primjer, interpretabilnost ili obrnuto, par postotaka neće igrati ulogu ovdje i imamo vrlo brzu rješenje, a klijent ga treba, jer on plaća vrijeme rada cjevovoda u AWS-u.

matematika

Ovdje sve sami mislite i razumijete - bez znanja osnovne matematike niste ništa više od majmuna s granatom (pardon Random Forest) - pa morate razumjeti barem osnovne stvari. Kad bih sastavio minimalan popis, on bi uključivao:

  • Linearna algebra - ogroman broj izvora lako je guglati, potražite ono što vam najviše odgovara;
  • Matematička analiza - (barem u prva dva semestra);
  • Teorija vjerojatnosti je posvuda u strojnom učenju;
  • Kombinatorika – ona je zapravo komplementarna teoriji;
  • Teorija grafova - barem BASIC;
  • Algoritmi - barem za prva dva semestra (vidi Cormenove preporuke u njegovoj knjizi);
  • Mathlogic - barem osnovna.

Praktična analiza podataka i vizualizacija

Jedna od najvažnijih stvari je biti u mogućnosti ne bojati se zaprljati ruke podacima i provesti sveobuhvatnu analizu skupa podataka, projektirati i stvoriti brzu vizualizaciju podataka.

Eksploratorna analiza podataka trebala bi jednostavno postati nešto prirodno, kao i sve druge transformacije podataka i mogućnost stvaranja jednostavnog cjevovoda iz unix čvorova (vidi prethodne članke) ili pisanje čitljive i razumljive bilježnice.

Spomenuo bih vizualizaciju: bolje je vidjeti jednom nego čuti sto puta.

Prikazivanje grafikona upravitelju je sto puta lakše i jasnije od skupa brojeva, tako da su matplotlib, seaborn i ggplot2 vaši prijatelji.

Meke vještine

Jednako je važno biti u mogućnosti prenijeti svoje ideje, kao i rezultate i brige (itd.) drugima - pobrinite se da možete jasno navesti zadatak u tehničkom i poslovnom smislu.

Možete objasniti kolegama, menadžerima, nadređenima, klijentima i svima drugima kojima je to potrebno što se događa, koje podatke koristite i kakve ste rezultate dobili.

Vaše grafikone i dokumentaciju treba čitati bez vas. Odnosno, ne morate ići k vama da biste razumjeli što je tamo napisano.

Možete napraviti jasnu prezentaciju kako biste prenijeli poantu i/ili dokumentirati projekt/svoj rad.

Svoj stav možete prenijeti na argumentiran i neemotivan način, reći „da/ne“ ili dovesti u pitanje/podržati odluku.

trening

Postoji mnogo različitih mjesta gdje možete naučiti sve ovo. Dat ću kratak popis - isprobao sam sve iz njega i, da budem iskren, svaka stavka ima svoje prednosti i nedostatke. Isprobajte i odlučite što vam odgovara, no toplo preporučujem da isprobate nekoliko opcija i ne zapnete na jednoj.

  • Online tečajevi: coursera, udacity, Edx, itd.;
  • Nove škole: online i offline - SkillFactory, ShaD, MADE;
  • Klasične škole: sveučilišni magistarski programi i tečajevi za usavršavanje;
  • Projekti - možete jednostavno odabrati zadatke koji vas zanimaju i izrezati ih, učitavajući ih na github;
  • Stažiranje - ovdje je teško bilo što predložiti; morate potražiti što je dostupno i pronaći odgovarajuće opcije.

Je li potrebno?

Za kraj ću vjerojatno dodati tri osobna načela kojih se i sama nastojim pridržavati.

  • Trebalo bi biti zanimljivo;
  • Donijeti unutarnje zadovoljstvo (= barem ne uzrokovati patnju);
  • "Biti tvoj."

Zašto oni? Teško je zamisliti raditi nešto svaki dan, a ne uživati ​​u tome ili biti nezainteresiran. Zamislite da ste liječnik i mrzite komunicirati s ljudima - to, naravno, može nekako funkcionirati, ali će vam stalno biti neugodno zbog protoka pacijenata koji vas žele nešto pitati. Ovo dugoročno ne funkcionira.

Zašto sam posebno spomenuo unutarnje zadovoljstvo? Čini mi se da je to potrebno za daljnji razvoj i, u principu, proces učenja. Zaista uživam kad uspijem dovršiti neku složenu značajku i izgraditi model ili izračunati važan parametar. Uživam kad je moj kod estetski lijep i dobro napisan. Stoga je učenje nečeg novog zanimljivo i ne zahtijeva izravno neku značajniju motivaciju.

"Biti svoj" je isti osjećaj da je to otprilike ono što ste željeli učiniti. Imam malu priču. Od djetinjstva sam bio zainteresiran za rock glazbu (i metal - SALMON!) i, kao i mnogi drugi, želio sam naučiti svirati i to je sve. Ispostavilo se da nemam ni sluha ni glasa - to mi uopće nije smetalo (a moram reći da to ne smeta mnogim izvođačima na pozornici), a još sam u školi dobio gitaru... i postalo je jasno da baš i ne volim satima sjediti i igrati se na njemu. Išlo je teško, uvijek mi se činilo da izlazi nekakvo sranje - uopće nisam uživao u tome i samo sam se osjećao ušljivo, glupo i potpuno nesposobno. Doslovno sam se natjerao da sjednem za nastavu i općenito to nije bila dobra hrana za konja.

U isto vrijeme, mogao sam sasvim mirno sjediti satima razvijajući neku igračku, koristeći skriptu animirati nešto na flashu (ili nešto drugo) i bio sam divlje motiviran da završim elemente u igrici ili da se pozabavim mehanikom pokreta i/ili povezivanje biblioteka trećih strana, dodataka i svega ostalog.

I u jednom sam trenutku shvatio da sviranje gitare nije moj đir i da jako volim slušati, a ne svirati. I oči su mi zaiskrile kad sam pisao igre i kod (slušajući u tom trenutku svakakav metal) i to mi se tada svidjelo, i to je ono što sam trebao raditi.

Imate li još pitanja?

Naravno, nismo mogli proći kroz sve teme i pitanja, pa mi pišite u komentarima i šaljite mi PM - uvijek sam sretan kada imam pitanja.

Bilješke Date Scientist: odakle početi i je li potrebno?

Bilješke Date Scientist: odakle početi i je li potrebno?

Izvor: www.habr.com

Dodajte komentar