Kā izvēlēties vislabāko programmēšanas valodu savam datu zinātnes projektam

Cīņa starp programmēšanas valodām tehnoloģiju pasaulē vienmēr ir bijusi aktuāla tēma. Ņemot vērā to, cik strauji attīstās tehnoloģija, ik pēc pāris mēnešiem mums ir jauna programmēšanas valoda vai ietvars.

Tāpēc izstrādātājiem, analītiķiem un pētniekiem ir arvien grūtāk izvēlēties labāko valodu, kas viņu uzdevumus veiks efektīvi, vienlaikus radot viszemākās izmaksas.

Bet es domāju, ka mēs mēdzam aplūkot nepareizos valodas izvēles iemeslus. Ir virkne faktoru, kas izraisa noteiktas valodas izvēli. Un, kad Datu zinātnes projekti pārpludina tirgu, jautājums NAV "kura ir labākā valoda", bet gan "kura no tām atbilst jūsu projekta prasībām un videi (darba apstākļiem)?"

Tātad, ar šo ierakstu es iepazīstināšu jūs ar pareizo jautājumu kopumu, kas jums jāuzdod, lai izlemtu, kura ir labākā programmēšanas valoda jūsu datu zinātnes projektam.

Datu zinātnei visbiežāk tiek izmantotas programmēšanas valodas

Python un R ir visplašāk izmantotās valodas statistikas analīzei vai uz mašīnmācīšanos vērstiem projektiem. Bet ir arī citi - piemēram, Java, Scala vai Matlab.

Gan Python, gan R ir vismodernākās atvērtā pirmkoda programmēšanas valodas ar lielu kopienas atbalstu. Un mēs turpinām mācīties par jaunām bibliotēkām un rīkiem, kas ļauj sasniegt lielāku veiktspēju un sarežģītību.

Python

Python ir labi pazīstams ar savu viegli apgūstamo un lasāmo sintaksi. Izmantojot vispārējas nozīmes (visu darījumu domkratu) valodu, piemēram, Python, jūs varat izveidot pilnīgas zinātniskās ekosistēmas, daudz neuztraucoties par saderības vai saskarnes problēmām.

Python kodam ir zemas uzturēšanas izmaksas, un tas, iespējams, ir izturīgāks. Sākot ar datu apstrādi līdz funkciju izvēlei, tīmekļa apkopošanai un mūsu mašīnmācīšanās modeļu izvietošanai, Python var gandrīz visu paveikt ar integrācijas atbalstu no visiem galvenajiem ML un dziļo mācību API, piemēram, Theano, TensorFlow un PyTorch.

R

R pirms vairākām desmitgadēm izstrādāja akadēmiķi un statistikas speciālisti. R šodien daudziem statistiķiem, analītiķiem un izstrādātājiem ļauj efektīvi veikt analīzi. Mums ir vairāk nekā 12000 pakotņu, kas pieejamas CRAN (atvērtā pirmkoda krātuvē).

Tā kā tas tika izstrādāts, paturot prātā statistikas speciālistus, R bieži ir pirmā izvēle visām pamatzinātniskajām un statistiskajām analīzēm. R ir gandrīz visu veidu analīzes pakete.

Datu analīze ir tikusi ļoti vienkārša, izmantojot tādus rīkus kā RStudio, kas ļauj komunicēt savus rezultātus ar kodolīgiem un elegantiem pārskatiem.

4 jautājumi, kas palīdzēs izvēlēties projektam vislabāko valodu

Tātad, kā izdarīt pareizo izvēli savam darbam?

Mēģiniet atbildēt uz šiem 4 jautājumiem:

1. Kura valoda / sistēma ir vēlama jūsu organizācijā / nozarē?

Apskatiet nozari, kurā strādājat, un vienaudžu un konkurentu visbiežāk lietoto valodu. Tas varētu būt vieglāk, ja jūs runājat tajā pašā valodā.

Šeit ir analīze, ko veic datu zinātnieks Deivids Robinsons. Tas atspoguļo R popularitāti katrā nozarē, un jūs varat redzēt, ka R tiek intensīvi izmantots akadēmijā un veselības aprūpē.

Tātad, ja jūs esat kāds, kurš vēlas iesaistīties pētniecībā, akadēmiskajā vidē vai bioinformātikā, jūs varētu apsvērt R nekā Python.

Šīs monētas otra puse ir saistīta ar programmatūras nozarēm, uz lietojumprogrammām balstītām organizācijām un uz produktiem balstītiem uzņēmumiem. Iespējams, jums būs jāizmanto savas organizācijas infrastruktūras tehnoloģiskā kaudze vai valoda, kuru lieto kolēģi / komandas.

Lielākajai daļai šo organizāciju / nozaru infrastruktūra ir balstīta uz Python, ieskaitot arī akadēmisko aprindu pārstāvjus:

Tāpēc kā topošam datu zinātniekam jums jāpievērš uzmanība valodas un tehnoloģiju apguvei, kurai ir visvairāk lietojumu un kas var palielināt jūsu iespējas iegūt darbu.

2. Kāda ir jūsu projekta darbības joma?

Tas ir svarīgs jautājums, jo pirms valodas izvēles jums ir jābūt sava projekta darba kārtībai.

Piemēram, kā rīkoties, ja vēlaties vienkārši atrisināt statistikas problēmu, izmantojot datu kopu, veikt vairākas daudzveidīgas analīzes un sagatavot pārskatu vai informācijas paneli, kurā paskaidroti ieskati? Šajā gadījumā R varētu būt labāka izvēle. Tam ir dažas patiešām jaudīgas vizualizācijas un komunikācijas bibliotēkas.

No otras puses, kā ir, ja jūsu mērķis ir vispirms veikt izpētes analīzi, izstrādāt dziļas mācīšanās modeli un pēc tam modeli izvietot tīmekļa lietojumprogrammā? Tad Python tīmekļa sistēmas un visu lielāko mākoņu nodrošinātāju atbalsts padara to par nepārprotamu uzvarētāju.

3. Cik pieredzējis esat datu zinātnes jomā?

Iesācējam datu zinātnē, kuram ir ierobežota statistikas un matemātisko jēdzienu pārzināšana, Python varētu būt labāka izvēle, jo tas ļauj jums viegli kodēt algoritma fragmentus.

Izmantojot tādas bibliotēkas kā NumPy, jūs pats varat manipulēt ar matricām un kodu algoritmiem. Kā iesācējam vienmēr ir labāk iemācīties veidot lietas no jauna, nevis pāriet uz mašīnmācīšanās bibliotēku izmantošanu.

Bet, ja jūs jau zināt mašīnmācīšanās algoritmu pamatus, varat izvēlēties jebkuru no valodām un sākt ar tām.

4. Cik daudz laika jums ir pa rokai, un cik maksā mācīšanās?

Laika ilgums, kuru varat ieguldīt, ir vēl viens gadījums pēc jūsu izvēles. Atkarībā no pieredzes ar programmēšanu un projekta piegādes laiku, lai sāktu darbu, jūs varat izvēlēties vienu valodu.

Ja ir augstas prioritātes projekts un jūs nezināt nevienu no valodām, R varētu būt vienkāršāka iespēja sākt darbu, jo jums ir nepieciešama ierobežota pieredze / nav pieredzes ar programmēšanu. Izmantojot esošās bibliotēkas, varat rakstīt statistikas modeļus ar dažām koda rindām.

Python (bieži vien programmētāja izvēle) ir lieliska iespēja sākt, ja jums ir zināms joslas platums, lai izpētītu bibliotēkas un uzzinātu par datu kopu izpētes metodēm. (R gadījumā to var ātri izdarīt Rstudio.)

Vēl viens svarīgs faktors ir tas, ka salīdzinājumā ar R. ir vairāk Python mentoru. Ja esat kāds, kuram nepieciešama palīdzība saistībā ar viņu python / R projektu, šeit varat meklēt kodēšanas mentoru, un, izmantojot šo saiti, jūs saņemsit arī 10 USD kredītu. līdz pirmajai mentora sanāksmei.

Secinājums

Īsumā atšķirība starp R un Python iespējām kļūst arvien mazāka. Lielāko daļu darbu var veikt abās valodās. Abiem ir bagātīgas ekosistēmas, kas jūs atbalsta.

Pēc tam valodas izvēle projektam būs atkarīga no:

  • Jūsu iepriekšēja pieredze ar datu zinātni (statistika un matemātika) un programmēšanu.
  • Konkrētā projekta joma un nepieciešamās statistiskās vai zinātniskās apstrādes apjoms.
  • Jūsu projekta turpmākā darbības joma.
  • Valoda / ietvars, ko visplašāk atbalsta jūsu komandas, organizācija un nozare.

Šī emuāra video versiju varat apskatīt šeit,

Datu zinātne ar Harshit

Ar šo kanālu es plānoju izlaist pāris sērijas, kas aptver visu datu zinātnes telpu. Lūk, kāpēc jums vajadzētu abonēt kanālu:

  • Sērija aptvertu visas nepieciešamās / pieprasītās kvalitātes apmācības par katru no tēmām un apakštēmām, piemēram, Python datu zinātnes pamati.
  • Skaidrota matemātika un atvasinājumi, kāpēc mēs darām to, ko mēs darām ML un dziļā mācīšanās procesā.
  • Podcast apraides ar Google, Microsoft, Amazon uc datu zinātniekiem un inženieriem un lielu uz datiem balstītu uzņēmumu vadītājiem.
  • Projekti un instrukcijas līdz šim apgūto tēmu īstenošanai.

Jūs varat sazināties ar mani Twitter vai LinkedIn.