Note Data Scientist: de unde să încep și este necesar?

Note Data Scientist: de unde să încep și este necesar?

TL;DR este o postare pentru întrebări/răspunsuri despre Data Science și despre cum să intri în profesie și să te dezvolți în ea. În articol voi analiza principiile de bază și întrebările frecvente și sunt gata să vă răspund întrebărilor specifice - scrieți în comentarii (sau într-un mesaj privat), voi încerca să răspund la toate în câteva zile.

Odată cu apariția seriei de note „Data satanistă”, multe mesaje și comentarii au venit cu întrebări despre cum să începeți și unde să sapă, iar astăzi vom analiza principalele abilități și întrebări care au apărut în urma publicațiilor.

Tot ce este afirmat aici nu pretinde a fi adevărul suprem și este opinia subiectivă a autorului. Ne vom uita la principalele lucruri care par cele mai importante în acest proces.

De ce este exact acest lucru necesar?

Pentru ca obiectivul să fie mai bine atins, astfel încât să pară cel puțin oarecum specific - doriți să deveniți DS sau cercetător la Facebook/Apple/Amazon/Netflix/Google - uitați-vă la cerințele, limbile și abilitățile necesare anume pentru ce post. Care este procesul de angajare? Cum trece o zi obișnuită într-un asemenea rol? Cum arată profilul mediu al unei persoane care lucrează acolo?

Adesea, imaginea de ansamblu este că o persoană nu înțelege cu adevărat ce își dorește exact și nu este complet clar cum să se pregătească pentru această imagine neclară - așa că merită să aveți cel puțin un plan aproximativ despre ceea ce doriți exact.

Concretizează viziunea actuală a obiectivului

Chiar dacă se schimbă pe parcurs și, în general, este normal să schimbi planurile pe parcursul piesei, merită să ai un obiectiv și să te concentrezi asupra lui, să evaluezi și să regândim periodic.

Va fi sau mai este relevant?

Până când ajungi într-o poziție.

Imaginați-vă că înainte de postul dvs. trebuie să obțineți un doctorat, să lucrați timp de 2-3 ani în industrie și, în general, să vă tundeți părul în timp ce meditați într-o mănăstire - nu va fi situația cu Data Science ca și când a fost cu economiștii și avocati? Se va schimba totul dincolo de recunoaștere în domeniul pe care doriți să îl urmăriți?

Nu există șanse mari ca toată lumea să se grăbească acolo acum și vom vedea o imagine în care există un strat larg de oameni care încearcă să intre în profesie - și va exista pur și simplu o poziție de pornire slabă.

Poate merită să luați în considerare tendințele actuale atunci când alegeți o cale, nu numai starea actuală a pieței muncii, ci și ideea dvs. despre cum se schimbă și unde se află.

De exemplu, autorul nu plănuia să devină satanist, dar în timpul doctoratului a lucrat la proiecte de la terți care aveau abilități puternice în comun cu DS, iar la sfârșitul școlii postuniversitare a trecut în mod natural la mediu, văzând un bun poziţie.

Dacă în timpul piesei se dovedește că va fi necesar să ne mutăm în altă parte - pentru că acum există cea mai mare mișcare și se întâmplă toată acțiunea cea mai interesantă, atunci ne vom deplasa acolo în mod natural.

Defalcarea aptitudinilor

Acestea sunt categorii condiționate de abilități care mi se par a fi cheie pentru munca deplină și eficientă în DS. Voi evidenția engleza separat - învață orice faci în CS. Urmează categoriile cheie.

Programare/Scriptare

Cu ce ​​limbi sigur te vei familiariza? Piton? Java? Script shell? Lua? SQL? C++?

Ce anume trebuie să poți face și de ce în ceea ce privește programarea - gama de poziții aici variază foarte mult.

De exemplu, de multe ori trebuie să implementez o logică complexă, interogări, modele, analize și, în general, să dezvolt sisteme interpretate, dar aproape niciodată nu există cerințe pentru viteza codului, cu excepția celor mai generale și rezonabile.

Prin urmare, setul meu de abilități este foarte diferit de cei care scriu biblioteca Tensorflow și se gândesc la optimizarea codului pentru utilizarea eficientă a cache-ului l1 și a lucrurilor similare, așa că uită-te la ce anume aveți nevoie și evaluează calea corectă către învățare.

De exemplu, pentru python, oamenii deja se fac hartă învăţarea limbilor.

Cu siguranță, există deja sfaturi cu experiență și surse bune pentru nevoile dvs. - trebuie să vă decideți asupra unei liste și să începeți să lucrați la ea.

Înțelegerea proceselor de afaceri

Nu poți merge nicăieri fără el: trebuie să înțelegi de ce ești nevoie de tine în acest proces, ce faci și de ce. Adesea, acesta este ceea ce vă poate economisi mult timp, vă poate maximiza beneficiile și nu pierde timpul și resursele cu prostii.

De obicei, îmi pun următoarele întrebări:

  • Ce fac mai exact in companie?
  • De ce?
  • Cine îl va folosi și cum?
  • Ce optiuni am?
  • Care sunt limitele parametrilor?

Iată puțin mai multe detalii despre parametri: de multe ori puteți schimba foarte mult scenariul de lucru dacă știți că ceva poate fi sacrificat: de exemplu, interpretabilitatea sau invers, câteva procente nu vor juca un rol aici și avem o soluție foarte rapidă. soluție, iar clientul are nevoie de ea, deoarece plătește pentru timpul în care conducta rulează în AWS.

matematică

Aici gândești și înțelegi totul singur - fără cunoștințe de matematică de bază nu ești altceva decât maimuțe cu grenadă (scuze Random Forest) - așa că trebuie să înțelegi măcar lucrurile de bază. Dacă ar fi să alcătuiesc o listă foarte minimă, ar include:

  • Algebră liniară - un număr mare de resurse sunt ușor de Google, căutați ceea ce vi se potrivește cel mai bine;
  • Analiza matematica - (cel putin in primele doua semestre);
  • Teoria probabilității este peste tot în învățarea automată;
  • Combinatorică – este de fapt complementară teoriei;
  • Teoria grafurilor - cel puțin BAZĂ;
  • Algoritmi - cel puțin pentru primele două semestre (vezi recomandările lui Cormen în cartea sa);
  • Mathlogic - cel puțin de bază.

Analiza și vizualizarea datelor practice

Unul dintre cele mai importante lucruri este să nu vă fie frică să vă murdărească mâinile cu date și să efectuați o analiză cuprinzătoare a setului de date, a proiectului și să creați o vizualizare rapidă a datelor.

Analiza exploratorie a datelor ar trebui să devină pur și simplu ceva natural, la fel ca toate celelalte transformări de date și capacitatea de a crea o conductă simplă din noduri Unix (vezi articolele anterioare) sau de a scrie un caiet lizibil și ușor de înțeles.

Aș dori să menționez vizualizarea: este mai bine să vezi o dată decât să auzi de o sută de ori.

Arătarea unui grafic unui manager este de o sută de ori mai ușor și mai clar decât un set de numere, așa că matplotlib, seaborn și ggplot2 sunt prietenii tăi.

Abilități soft

Este la fel de important să poți comunica ideile tale, precum și rezultatele și preocupările (etc.) celorlalți - asigură-te că poți să enunți clar sarcina atât în ​​termeni tehnici, cât și de afaceri.

Poți explica colegilor, managerilor, superiorilor, clienților și oricui altcineva care are nevoie de el ce se întâmplă, ce date folosești și ce rezultate ai obținut.

Diagramele și documentația dvs. ar trebui citite fără dvs. Adică, nu trebuie să mergi la tine pentru a înțelege ce este scris acolo.

Puteți face o prezentare clară pentru a înțelege ideea și/sau a documenta proiectul/munca dvs.

Puteți să vă exprimați poziția într-o manieră motivată și lipsită de emoții, să spuneți „da/nu” sau să puneți la îndoială/sprijiniți o decizie.

pregătire

Există multe locuri diferite unde poți învăța toate acestea. Voi da o listă scurtă - am încercat totul din el și, să fiu sincer, fiecare articol are avantajele și dezavantajele sale. Încercați-l și decideți ce vi se potrivește, dar vă recomand cu căldură să încercați mai multe opțiuni și să nu vă blocați una.

  • Cursuri online: coursera, udacity, Edx, etc;
  • Școli noi: online și offline - SkillFactory, ShAD, MADE;
  • Școli clasice: programe de master universitar și cursuri de perfecționare;
  • Proiecte - puteți pur și simplu să selectați sarcinile care vă interesează și să le tăiați, încărcându-le în github;
  • Stagii de practică - este dificil să sugerezi ceva aici; trebuie să cauți ceea ce este disponibil și să găsești opțiuni potrivite.

Este necesar?

În concluzie, probabil că voi adăuga trei principii personale pe care încerc să le urmez.

  • Ar trebui să fie interesant;
  • Aduce plăcere interioară (= măcar să nu provoace suferință);
  • „Să fie al tău”.

De ce ei? Este greu să-ți imaginezi că faci ceva în fiecare zi și să nu te bucuri sau să nu fii interesat. Imaginați-vă că sunteți medic și urăști să comunici cu oamenii - asta, desigur, poate funcționa cumva, dar vei fi constant inconfortabil cu fluxul de pacienți care vor să te întrebe ceva. Acest lucru nu funcționează pe termen lung.

De ce am menționat în mod special plăcerea interioară? Mi se pare că acest lucru este necesar pentru dezvoltarea ulterioară și, în principiu, procesul de învățare. Îmi place foarte mult când reușesc să completez o caracteristică complexă și să construiesc un model sau să calculez un parametru important. Îmi place când codul meu este frumos din punct de vedere estetic și bine scris. Prin urmare, a învăța ceva nou este interesant și nu necesită în mod direct nicio motivație semnificativă.

„A fi al tău” este același sentiment că cam asta ai vrut să faci. Am o mica poveste. Din copilărie, m-a interesat muzica rock (și metal - SALMON!) și, la fel ca mulți alții, am vrut să învăț să cânt și atât. S-a dovedit că nu aveam auz și voce - acest lucru nu m-a deranjat deloc (și trebuie să spun că acest lucru nu deranjează pe mulți interpreți chiar pe scenă), iar când eram încă la școală am luat o chitară... și a devenit clar că nu prea îmi place să stau ore în șir și să mă joc cu el. Mergea greu, mi s-a părut mereu că iese un fel de prostii - nu am avut deloc plăcere din asta și mă simțeam doar prost, prost și complet incapabil. M-am forțat literalmente să mă așez la cursuri și, în general, nu era hrană bună pentru cal.

În același timp, puteam să stau destul de calm ore în șir dezvoltând o jucărie, folosind un scenariu pentru a anima ceva pe flash (sau altceva) și eram extrem de motivat să termin elemente din joc sau să mă ocup de mecanica mișcării și/sau conectarea bibliotecilor terță parte, plugin-urilor și orice altceva.

Și la un moment dat mi-am dat seama că să cânt la chitară nu e treaba mea și că îmi place foarte mult să ascult, nu să cânt. Și ochii mi-au scânteit când am scris jocuri și cod (ascultând tot felul de metal în acel moment) și asta mi-a plăcut atunci și asta ar fi trebuit să fac.

Mai ai și alte întrebări?

Desigur, nu am putut parcurge toate subiectele și întrebările, așa că scrieți comentarii și trimiteți-mi un PM - sunt întotdeauna fericit să am întrebări.

Note Data Scientist: de unde să încep și este necesar?

Note Data Scientist: de unde să încep și este necesar?

Sursa: www.habr.com

Adauga un comentariu