Kako odabrati najbolji programski jezik za svoj projekt znanosti znanosti

Bitka između programskih jezika uvijek je bila vruća tema u tehnološkom svijetu. A s obzirom na to kako brzo tehnologija napreduje, imamo novih programskih jezika ili okvira svakih nekoliko mjeseci.

Zbog toga je programerima, analitičarima i istraživačima sve teže odabrati najbolji jezik koji će učinkovito izvršiti svoje zadatke uz najniže troškove.

Ali mislim da obično gledamo na pogrešne razloge odabira jezika. Postoji hrpa čimbenika koji dovode do izbora određenog jezika. A s projektima Data Science koji preplavljuju tržište, NIJE pitanje "koji je najbolji jezik", već "koji odgovara vašim projektnim zahtjevima i okruženju (radna postavka)?"

Stoga ću vam ovim postom predstaviti odgovarajući niz pitanja koja biste trebali postaviti kako biste odlučili koji je najbolji programski jezik za vaš projekt znanosti o podacima.

Najčešće korišteni programski jezici za Data Science

Python i R su najčešće korišteni jezici za statističke analize ili projekte usmjerene na strojno učenje. Ali postoje i drugi - poput Jave, Scale ili Matlaba.

I Python i R su vrhunski programski jezici otvorenog koda s velikom podrškom zajednice. I dalje učimo o novim knjižnicama i alatima koji nam omogućuju postizanje veće razine izvedbe i složenosti.

Piton

Python je poznat po lakoj za učenje i čitljivoj sintaksi. Pomoću jezika opće namjene (kao što je Python) možete graditi cjelovite znanstvene ekosustave ne brinući puno o problemima kompatibilnosti ili međusobnog povezivanja.

Python kôd ima niske troškove održavanja i vjerojatno je robusniji. Od premetanja podataka do odabira značajki, struganja na webu i uvođenja naših modela strojnog učenja, Python može gotovo sve obaviti uz podršku integracije iz svih glavnih ML-a i API-ja za duboko učenje poput Theano, TensorFlow i PyTorch.

R

R su razvili akademici i statističari prije više od dva desetljeća. R danas mnogim statističarima, analitičarima i programerima omogućuje učinkovito provođenje njihove analize. U CRAN-u (spremište otvorenog koda) dostupno je preko 12000 paketa.

Budući da je razvijen imajući na umu statističare, R je često prvi izbor za sve temeljne znanstvene i statističke analize. U R postoji paket za gotovo svaku vrstu analize koja postoji.

Također, analiza podataka je vrlo jednostavna pomoću alata kao što je RStudio koji vam omogućuju komuniciranje vaših rezultata sažetim i elegantnim izvješćima.

4 pitanja koja će vam pomoći da odaberete NAJBOLJI jezik koji odgovara vašem projektu

Pa, kako napraviti pravi izbor za svoj posao?

Pokušajte odgovoriti na ova 4 pitanja:

1. Koji je jezik / okvir preferiran u vašoj organizaciji / industriji?

Pogledajte industriju u kojoj radite i jezik koji najčešće koriste vaši vršnjaci i konkurenti. Moglo bi biti lakše ako govorite istim jezikom.

Evo analize koju je izvršio David Robinson, znanstvenik podataka. To je odraz popularnosti R u svakoj industriji, i možete vidjeti da se R intenzivno koristi u Academia i Healthcare.

Dakle, ako ste netko tko se želi baviti istraživanjem, akademskom zajednicom ili bioinformatikom, možda biste trebali razmisliti o R nad Pythonom.

Druga strana ovog medalje uključuje softversku industriju, organizacije vođene aplikacijama i tvrtke temeljene na proizvodima. Možda ćete morati koristiti tehnološki stog infrastrukture vaše organizacije ili jezik koji koriste vaše kolege / timovi.

I većina ovih organizacija / industrija ima svoju infrastrukturu koja se temelji na Pythonu, uključujući i akademsku zajednicu:

Stoga biste se kao ambiciozni znanstvenik podataka trebali usredotočiti na učenje jezika i tehnologije koji imaju najviše aplikacija i koji mogu povećati vaše šanse za posao.

2. Koji je opseg vašeg projekta?

Ovo je važno pitanje, jer prije nego što odaberete jezik, morate imati dnevni red za svoj projekt.

Na primjer, što ako želite jednostavno riješiti statistički problem putem skupa podataka, izvršiti neke analize s više varijabli i pripremiti izvješće ili nadzornu ploču s objašnjenjem uvida? U ovom slučaju R bi mogao biti bolji izbor. Ima zaista moćne biblioteke za vizualizaciju i komunikaciju.

S druge strane, što ako je vaš cilj prvo provesti istraživačku analizu, razviti model dubokog učenja, a zatim model primijeniti unutar web aplikacije? Tada Pythonovi mrežni okviri i podrška svih glavnih pružatelja usluga u oblaku čine to jasnim pobjednikom.

3. Koliko ste iskusni u području znanosti o podacima?

Za početnike u znanosti o podacima koji su slabo upoznati sa statistikom i matematičkim konceptima, Python bi mogao biti bolji izbor jer vam omogućuje lako kodiranje fragmenata algoritma.

S bibliotekama poput NumPy-a možete sami upravljati matricama i algoritmima koda. Kao novaku, uvijek je bolje naučiti graditi stvari ispočetka, a ne skakati pomoću knjižnica strojnog učenja.

Ali ako već znate osnove algoritama strojnog učenja, možete pokupiti bilo koji od jezika i započeti s njima.

4. Koliko vremena imate pri ruci i kolika je cijena učenja?

Količina vremena koju možete uložiti čini još jedan slučaj za vaš izbor. Ovisno o vašem iskustvu s programiranjem i vremenu isporuke vašeg projekta, možete odabrati jedan jezik umjesto drugog da biste započeli s radom na terenu.

Ako postoji projekt s visokim prioritetom i ne znate niti jedan od jezika, R bi vam mogao biti lakša opcija za početak jer vam je potrebno ograničeno / nikakvo iskustvo s programiranjem. Statističke modele možete pisati s nekoliko redaka koda koristeći postojeće knjižnice.

Python (često odabir programera) izvrsna je opcija za početak ako imate propusnost za istraživanje knjižnica i učenje o metodama istraživanja skupova podataka. (U slučaju R, to se može brzo učiniti unutar Rstudija.)

Još jedan važan čimbenik je taj da postoji više Python mentora u usporedbi s R. Ako ste netko kome treba pomoć oko njihovog python / R projekta, ovdje možete potražiti mentora kodiranja i pomoću ove veze dobit ćete i 10 USD bonusa na znaku do da se koristi za prvi sastanak mentora.

Zaključak

Ukratko, jaz između mogućnosti R-a i Pythona postaje sve manji. Većinu poslova mogu obaviti oba jezika. I obojica imaju bogate ekosustave koji vas podržavaju.

Odabir jezika za vaš projekt ovisit će o:

  • Vaše prethodno iskustvo s naukom o podacima (statistika i matematika) i programiranjem.
  • Domena predmetnog projekta i opseg potrebne statističke ili znanstvene obrade.
  • Budući opseg vašeg projekta.
  • Jezik / okvir koji je najviše podržan u vašim timovima, organizaciji i industriji.

Video verziju ovog bloga možete pogledati ovdje,

Znanost podataka s Harshitom

Ovim kanalom planiram izbaciti nekoliko serija koje pokrivaju čitav prostor znanosti o podacima. Evo zašto biste se trebali pretplatiti na kanal:

  • Serija će obuhvatiti sve potrebne / tražene kvalitetne vodiče o svakoj od tema i podtema poput Pythonovih osnova za znanost o podacima.
  • Objašnjena matematika i izvodi zašto radimo ono što radimo u ML-u i dubokom učenju.
  • Podcastovi sa znanstvenicima i inženjerima podataka u Googleu, Microsoftu, Amazonu itd. I izvršnim direktorima velikih tvrtki koje upravljaju podacima.
  • Projekti i upute za provedbu do sada naučenih tema.

Sa mnom se možete povezati na Twitteru ili LinkedInu.