Ja esat izstrādātājs, kurš pāriet uz datu zinātni, šeit ir jūsu labākie resursi

Liekas, ka šajās dienās visi vēlas būt datu zinātnieki - sākot no doktorantiem un beidzot ar datu analītiķiem līdz pat jūsu vecajam koledžas istabas biedram, kurš uztur Linkedin jums ziņojumus, lai jūs varētu paķert kafiju.

Varbūt jums ir bijis tāds pats aicinājums, ka jums vajadzētu vismaz izpētīt dažas datu zinātnes pozīcijas un redzēt, kas ir hype. Varbūt esat redzējis tādus rakstus kā Vicki Boykis datu zinātne, kas tagad ir atšķirīgs:

Kļūst skaidrs, ka hipe cikla vēlīnā posmā datu zinātne asimptotiski virzās tuvāk inženierijai, un prasmes, kas datu zinātniekiem ir vajadzīgas virzībai uz priekšu, ir mazāk vizualizētas un balstītas uz statistiku, kā arī vairāk atbilst tradicionālajām datorzinātnēm. …:
Tādas koncepcijas kā vienību pārbaude un nepārtraukta integrācija ātri atrada ceļu žargonā un instrumentu kopā, ko parasti izmanto datu zinātnieks un skaitliskais zinātnieks, kurš strādā pie ML inženierijas.

vai tweets, piemēram, Tim Hopper's:

Nav skaidrs, kā jūs varat izmantot savu programmatūras inženiera pieredzi datu zinātnes pozīcijā. Daži citi jautājumi, kas jums varētu rasties, ir:

Kāda būtu mācīšanās prioritāte?

Vai ir labākās prakses vai rīki, kas datu zinātniekiem atšķiras?

Vai mana pašreizējā prasmju kopa pārcelsies uz datu zinātnes lomu?

Šis raksts sniegs informāciju par datu zinātnieka lomu un to, kāpēc jūsu pieredze varētu būt piemērota datu zinātnei, kā arī reālas pakāpeniskas darbības, kuras jūs kā izstrādātājs varat veikt, lai sāktu darbu pie datu zinātnes.

Vai vēlaties redzēt jaunākās datu zinātnes lomas? Abonējiet biļetenu ML Jobs katru nedēļu, lai saņemtu jaunus datu zinātnes darba piedāvājumus iesūtnē.

Datu zinātnieks pret datu inženieri

Pirmkārt, mums jānošķir divas papildinošas lomas: datu zinātnieks un datu inženieris. Kaut arī abas šīs lomas ir saistītas ar mašīnmācīšanās modeļiem, to mijiedarbība ar šiem modeļiem, kā arī datu zinātnieku un datu inženieru prasības un darba raksturs ir ļoti atšķirīgs.

Piezīme: Datu inženiera loma, kas ir specializēta mašīnu apguvē, var izpausties arī kā darba aprakstos kā “programmatūras inženieris, mašīnu apguve” vai “mašīnu apguves inženieris”.

Mašīnmācīšanās darbplūsmas ietvaros datu zinātnieks veiks nepieciešamo statistisko analīzi, lai noteiktu, kuru mašīnmācīšanās pieeju izmantot, pēc tam sāks šo modeļu prototipēšanu un veidošanu.

Mašīnmācības inženieri pirms un pēc šī modelēšanas procesa bieži sadarbosies ar datu zinātniekiem: (1) izveidos datu cauruļvadus, lai ievadītu datus šajos modeļos, un (2) projektē inženiertehnisko sistēmu, kas kalpos šiem modeļiem, lai nodrošinātu nepārtrauktu modeļa veselību.

Zemāk redzamā diagramma ir viens no veidiem, kā aplūkot šo prasmju nepārtrauktību:

Tiešsaistes resursos ir daudz atšķirību starp datu zinātniekiem un datu inženieriem - noteikti pārbaudiet:

  • Panoply: Kāda ir atšķirība starp datu inženieri un datu zinātnieku?
  • Atspēriena punkts: mašīnmācīšanās inženieris vs datu zinātnieks
  • O’Reilly: datu inženieri salīdzinājumā ar datu zinātniekiem

Kā atruna, šajā rakstā galvenokārt apskatīta Datu zinātnieka loma ar dažiem pavērsieniem mašīnmācības tehnikas pusē (īpaši svarīgi, ja skatāties uz vietu mazākā uzņēmumā, kur jums varētu nākties kalpot kā abiem). Ja vēlaties uzzināt, kā varat kļūt par datu inženieri vai mašīnmācīšanās inženieri, paziņojiet mums par to komentāros zemāk!

Jūsu kā izstrādātāja priekšrocības

Tas, kas kaitē visiem, tādas mašīnmācības nodarbības kā “Ievads datu zinātnē Python” vai Endrjū Nga Coursera kursi neaptver programmatūras inženierijas koncepcijas un paraugpraksi, piemēram, vienību testēšanu, modulāra atkārtota koda rakstīšanu, CI / CD vai versijas vadību. Pat dažas no vismodernākajām mašīnmācīšanās komandām joprojām neizmanto šo praksi savam mašīnmācīšanās kodam, izraisot satraucošu tendenci…

Pīts Vordens raksturoja šo tendenci kā “mašīnmācīšanās reproducējamības krīzi”:

mēs joprojām atrodamies tumšajā laikmetā, kad runa ir par izmaiņu izsekošanu un modeļu atjaunošanu no jauna. Tas ir tik slikti, ka dažreiz jūtas kā atpakaļ laikā, kad mēs kodējām bez avota kontroles.

Lai arī jūs, iespējams, neredzat šīs “programmatūras inženierijas” prasmes, kas skaidri norādītas datu zinātnieku amatu aprakstos, ja labi pārzināt šīs prasmes kā daļu no jūsu fona, tas jau desmit reizes palīdzēs jūsu kā datu zinātnieka darbam. Turklāt tie tiks izmantoti, kad ir laiks atbildēt uz šiem programmēšanas jautājumiem jūsu datu zinātnes intervijas laikā.

Lai iegūtu interesantu skatu no otras puses, iepazīstieties ar Trey Causey darbu “Datu zinātnieku programmatūras izstrādes prasmes” par prasmēm, kuras, viņaprāt, datu zinātniekiem vajadzētu iemācīties “rakstīt labāku kodu, labāk mijiedarboties ar programmatūras izstrādātājiem un galu galā ietaupīt laiku un galvassāpes ”.

Uzlabošanās datu zinātnē

Ir lieliski, ka jums ir labs pamats ar programmatūras inženierijas pieredzi, bet kāds ir nākamais solis ceļā uz kļūšanu par datu zinātnieku? Džoša Vilsa mēles vaiga tvīts par datu zinātnieka definīciju ir pārsteidzoši precīzs:

Tajā ir norādīts uz vienu no tēmām, kas jums vajadzētu pievērsties, ja vēlaties turpināt datu zinātnieka lomu vai karjeru: statistiku. Šajā nākamajā sadaļā mēs apskatīsim lieliskus resursus:

  • ML specifisko zināšanu veidošana
  • Zināšanas celtniecības nozarē
  • Instrumenti ML kaudzē
  • Prasmes un kvalifikācija

ML specifisko zināšanu veidošana

Visefektīvāk ir izveidot uz teoriju balstītu zināšanu apvienojumu par varbūtību un statistiku, kā arī pielietotās prasmes tādās lietās kā datu kropļošana vai apmācības modeļi GPU / izkliedētā datorā.

Viens veids, kā noformēt iegūtās zināšanas, ir salīdzināt tās ar mašīnmācības darbplūsmu.

Vienkāršots mašīnu apguves darbplūsmas skats
Skatiet šo detalizēto Skymind AI darbplūsmu

Šeit mēs uzskaitām dažus no labākajiem resursiem, kurus varat atrast mašīnmācībā. Būtu neiespējami, lai būtu izsmeļošs saraksts un lai ietaupītu vietu (un lasīšanas laiku), mēs nepieminējām tādus populārus resursus kā Endrjū Nga Coursera kurss vai Kaggle.

Kursi:

  • Fast.ai MOOC (bezmaksas kursi, kas māca ļoti pielietojamas prasmes praktiskā kodētāju apguvē, kodētāju progresīvajā apguvē, skaitļošanas lineārajā algebrā un kodētāju mašīnmācības ievadā)
  • Hanas akadēmija
  • 3Blue1Brūns un matemātisksmonku youtube kanāls
  • Atjaunināšanas kursi (ieskaitot priekšapstrādi mašīnu apguvei Python)
  • Springboard AI / ML raksturīgā trase

Mācību grāmatas: * vairumam no šiem dokumentiem * mēģināja tiešsaistē atrast bezmaksas PDF failus.

  • Varbūtīga programmēšana un Bajesijas metodes hakeriem
  • Varbūtības un nejaušie procesi
  • Statistikas apguves elementi
  • Lineārā algebra veikta pareizi
  • Ievads lineārajā algebrā
  • Algoritma dizains

Ceļveži:

  • Google izstrādātāju mašīnmācīšanās ceļvedis
  • Mašīnmācības meistarības ceļveži (lai iegūtu labu sākuma punktu, skatiet šo mini kursu sadaļā Python Machine Learning)
  • Pyimagesearch (datora redzei)

Meetupi: * galvenokārt uz NYC balstīti *

  • Raksti, kurus mēs mīlam
  • NYC mākslīgais intelekts un mašīnmācība
  • DataCouncil.ai
  • NY mākslīgais intelekts
Lai iegūtu patīkamu sākumpunktu, iepazīstieties ar Vilka “Atklātā pirmkoda mašīnmācības meistariem” par to, kā jūs varat strukturēt savu laiku, izpētot konkrētas tēmas un strādājot pie projektiem, lai demonstrētu zināšanas zemu izmaksu attālā vietā.

Speciālas zināšanas celtniecības nozarē

Ja jums ir kāds ieteikums, ka vēlaties būt specifiska nozare, piemēram, veselības aprūpe, finanšu pakalpojumi, patēriņa preces, mazumtirdzniecība utt., Ir nenovērtējami pievērsties šīs nozares sāpju punktiem un attīstībai, jo tā attiecas uz datiem un mašīnām. mācīšanās.

Viens padoms = jūs varat skenēt vertikāli orientētu AI jaunizveidotu uzņēmumu vietnes un redzēt, kā viņi pozicionē savu vērtības piedāvājumu un kur tiek izmantota mašīnmācība. Tas jums sniegs idejas konkrētām mašīnmācīšanās jomām, lai studētu, un tēmu tēmas projektiem, lai parādītu savu darbu.

Mēs varam aplūkot piemēru: pieņemsim, ka esmu ieinteresēts strādāt veselības aprūpē.

  1. Izmantojot ātru google meklēšanu “veselības mācīšanās mašīna”, es atradu šo Healthcareweekly.com sarakstu vietnē “Labākie veselības aprūpes jaunuzņēmumi, kas jāuzrauga 2019. gadā”.
Jūs varat arī veikt ātrus meklējumus vietnē Crunchbase vai AngelList ar atslēgvārdu “veselības aprūpe”

2. Kā piemēru ņemsim vienu no sarakstā iekļautajiem uzņēmumiem - BenevolentAI.

3. BenevolentAI vietnē norādīts:

Mēs esam AI uzņēmums, kam ir pilnīga spēja no zāļu agrīnas atklāšanas līdz vēlīnai stadijai klīniskajā attīstībā. BenevolentAI apvieno skaitļošanas medicīnas un uzlabotas AI jaudu ar atvērto sistēmu un mākoņdatošanas principiem, lai pārveidotu veidu, kā zāles tiek izstrādātas, izstrādātas, pārbaudītas un laistas tirgū.
Mēs izveidojām labvēlīgo platformu, lai labāk izprastu slimības un izstrādātu jaunu un uzlabotu esošo ārstēšanu no milzīga daudzuma biomedicīnas informācijas. Mēs uzskatām, ka mūsu tehnoloģija dod zinātniekiem iespēju ātrāk un rentablāk izstrādāt zāles.
Ik pēc 30 sekundēm tiek publicēts jauns pētniecības dokuments, taču zinātnieki pašlaik izmanto tikai nelielu daļu pieejamo zināšanu, lai izprastu slimības cēloni un ierosinātu jaunas ārstēšanas metodes. Mūsu platforma uzņem, “nolasa” un kontekstualizē milzīgu informācijas daudzumu, kas iegūts no rakstiskiem dokumentiem, datu bāzēm un eksperimentāliem rezultātiem. Tas spēj veikt bezgalīgi vairāk atskaitījumu un secinājumu starp šiem atšķirīgajiem, sarežģītajiem datu avotiem, identificējot un izveidojot attiecības, tendences un modeļus, ko cilvēkam nebūtu iespējams izdarīt atsevišķi.

4. Tūlīt varat redzēt, ka BenevolentAI izmanto dabiskās valodas apstrādi (NLP) un, iespējams, strādā ar zināšanu grafikiem, ja tie identificē saistību starp slimībām un ārstēšanas pētījumu

5. Ja pārbaudāt BenevolentAI karjeras lapu, varat redzēt, ka viņi pieņem darbā vecāko mašīnmācības pētnieku. Šī ir vecāka loma, tāpēc tas nav ideāls piemērs, bet tālāk apskatiet prasmes un kvalifikāciju, kuru viņi pieprasa:

Piezīme:

  • dabiskās valodas apstrāde, zināšanu grafika secinājumi, aktīva mācīšanās un bioķīmiskā modelēšana
  • strukturēti un nestrukturēti datu avoti
  • Bayjas modeļa pieejas
  • zināšanas par mūsdienu ML instrumentiem

Tam vajadzētu dot jums dažus soļus, kā tuvināties nākamajam:

  • darbs ar strukturētiem datiem
  • darbs ar nestrukturētiem datiem
  • attiecību klasificēšana zināšanu grafikos (labu resursu skat. šeit)
  • Bayjas varbūtības apgūšana un modelēšanas pieejas
  • darbs pie NLP projekta (tātad teksta dati)

Mēs neiesakām vērsties pie uzņēmumiem, kurus atradāt, izmantojot meklēšanu, bet drīzāk vērojat, kā tie raksturo klientu sāpju punktus, viņu uzņēmuma vērtības piedāvājumus un kādas prasmes viņi ieraksta amata aprakstos, lai vadītu jūsu pētījumu.

Instrumenti ML kaudzē

BenevolentAI vecākā mašīnmācīšanās pētnieka darba aprakstā viņi lūdz “zināšanas par moderniem ML rīkiem, piemēram, Tensorflow, PyTorch utt.”

Apgūt šos modernos ML rīkus var šķist drausmīgi, jo telpa vienmēr mainās. Lai sadalītu mācību procesu pārvaldāmos gabalos, neaizmirstiet noenkurot savu domāšanu ap mašīnmācības darbplūsmu no augšas - “Kāds rīks man var palīdzēt ar šo darbplūsmas daļu?”

Lai redzētu, kuri rīki pavada katru šīs mašīnmācības darbplūsmas darbību, iepazīstieties ar Rodžers Huanga “Ievads mašīnmācīšanās kaudzē”, kas aptver tādus rīkus kā Docker, Comet.ml un dask-ml.

Taktiski runājot, Python un R ir visizplatītākās programmēšanas valodas, kuras izmanto zinātnieki, un jūs varat sastapties ar papildu pakotnēm, kas paredzētas datu zinātnes lietojumprogrammām, piemēram, NumPy un SciPy, un matplotlib. Šīs valodas tiek interpretētas, nevis apkopotas, ļaujot datu zinātniekam brīvi pievērsties problēmai, nevis valodas niansēm. Lai saprastu datu struktūru kā klašu ieviešanu, ir vērts ieguldīt laiku objektorientētā programmēšanā.

Lai piekļūtu tādiem ML ietvariem kā Tensorflow, Keras un PyTorch, noteikti apmeklējiet viņu dokumentāciju un izmēģiniet viņu apmācības no gala līdz galam.

Dienas beigās jūs vēlaties pārliecināties, ka jūs izstrādājat projektus, kas demonstrē šos modernos rīkus datu vākšanai un sakārtošanai, mašīnmācīšanās eksperimenta pārvaldībai un modelēšanai.

Lai iegūtu iedvesmu jūsu projektiem, iepazīstieties ar Edouarda Harisa darbu “Aukstās palaišanas problēma: kā izveidot mašīnu apguves portfeli”.

Prasmes un kvalifikācija

Mēs atstājām šo sadaļu pēdējai, jo tā apkopo lielu daļu informācijas no iepriekšējām sadaļām, bet ir īpaši paredzēta datu zinātnes interviju sagatavošanai. Datu zinātnieka intervijas laikā ir sešas galvenās tēmas:

  1. Kodēšana
  2. Produkts
  3. SQL
  4. A / B pārbaude
  5. Mašīnmācība
  6. Varbūtība (skatīt labu definīciju salīdzinājumā ar statistiku šeit)

Jūs pamanīsit, ka viena no šīm tēmām nav tāda pati kā citas (produkts). Datu zinātnes pozīcijās izšķiroša ir komunikācija par tehniskajām koncepcijām un rezultātiem, kā arī uzņēmējdarbības rādītāji un ietekme.

Daži noderīgi datu zinātnes interviju jautājumu apkopojumi:
https://github.com/kojino/120-Data-Science-Interview-Questions
Tthttps: //github.com/iamtodor/data-science-interview-questions-and-answers
https://hookedondata.org/red-flags-in-data-science-interviews/
https://medium.com/@XiaohanZeng/i-interviewed-at-five-top-companies-in-silicon-valley-in-five-days-and-luckily-got-five-job-offers-25178cf74e0f

Jūs ievērosiet, ka mēs esam iekļāvuši “Hooked on Data” darbu “Sarkanie karodziņi datu zinātnes intervijās” - intervējot lomas, jūs sastapsities ar uzņēmumiem, kuri joprojām veido savu datu infrastruktūru vai, iespējams, viņiem nav skaidras izpratnes par to, kā viņu datu zinātnes komanda iekļaujas lielāka uzņēmuma vērtībā.

Iespējams, ka šie uzņēmumi joprojām kāpj tālāk par šo vajadzību hierarhiju.

Populārā AI vajadzību hierarhija no Monikas Rogati

Par dažām datu zinātnes intervijām saistītām cerībām es iesaku izlasīt Tima Hopera darbu “Dažas pārdomas par daudzām datu zinātnes darbavietām”

Paldies par lasīšanu Mēs ceram, ka šī rokasgrāmata palīdzēs jums saprast, vai datu zinātne ir karjera, kas jums jāapsver, un kā sākt šo ceļojumu!

Vai vēlaties redzēt jaunākās datu zinātnes lomas? Abonējiet biļetenu ML Jobs biļetenu jauniem datu zinātnes darba piedāvājumiem iesūtnē: