Python vs. R per a científics de dades: ronda final! | de Ruslan Brilenkov | novembre, 2022

Quina triar i què significa per a tu com a científic de dades principiant i el teu sou potencial?

Python VS.  Pòster animat R, inspirat en les competicions mundials de boxa i WWE.  Fet per l'autor.
Python VS. Pòster animat R, inspirat en les competicions mundials de boxa i WWE. Fet per l’autor.

El camp de la ciència de dades evoluciona molt ràpid, però, tot i així, per què la gent continua tornant a la qüestió de Python vs. R de tant en tant?

Probablement, no estan satisfets amb les respostes.

Ho sé, ho sé. Aquest tema s’ha parlat moltes vegades, però aquí teniu la meva explicació completa sobre aquest tema per traslladar la discussió a un nou nivell.

El meu propòsit aquí és ajudar els principiants en Ciència de Dades a triar quin idioma han d’aprendre en funció de la meva experiència personal, coneixements i el nivell actual, els objectius i la direcció de la indústria a la qual volen unir-se.

Com que he estat utilitzant Python en el dia a dia durant els últims 5 anys aproximadament, començaré des d’aquí. A continuació, donaré una visió general del llenguatge R i una comparació entre aquests dos. Finalment, algunes reflexions concloents sobre què aprendre primer i qui pot guanyar més segons el mercat laboral global.

Si fa temps que em seguiu, potser haureu vist alguns tutorials pràctics d’aprenentatge automàtic pas a pas amb Keras/TensorFlow, com ara les xarxes neuronals convolucionals (CNN). Si no, no us preocupeu, us proposo començar amb aquests articles:

Pel que fa a una introducció més formal:

Python és un llenguatge de programació de codi obert orientat a objectes que és compatible amb tots els sistemes operatius principals (Windows, Linux i macOS).

Python és un llenguatge de propòsit general que significa que es pot utilitzar per crear una àmplia gamma d’algorismes, des de programació web fins a aprenentatge automàtic.

Python s’ha convertit en el llenguatge de programació més utilitzat entre els científics de dades en els darrers anys, principalment per la seva versatilitat i la seva naturalesa amigable per a principiants.

A més, la comunitat Python és bastant gran i activa per crear un bon sistema de suport i desenvolupar diferents recursos i biblioteques. La comunitat està formada per programadors, científics de dades i experts en aprenentatge automàtic.

Quines indústries fan servir Python?

En general, Python és popular a les organitzacions que realitzen programació multitipus per mantenir-se dins del mateix entorn de llenguatge de programació.

Algunes de les indústries i aplicacions específiques inclouen, per exemple:

  • Desenvolupament de software;
  • Aplicacions GUI d’escriptori, com ara un rastrejador de Pomodoro;
  • Desenvolupament web i Internet i programació de xarxes;
  • Accés a bases de dades i aplicacions empresarials;
  • gràfics 3D i visió per computador;
  • Desenvolupament del joc.

Biblioteques Populars

Des del punt de vista d’un científic de dades, algunes de les biblioteques de Python més populars són aquelles que ajuden a gestionar diversos tipus de dades, com ara

  • Recerca i neteja de dades (Pandas);
  • Anàlisi numèrica i estadística (NumPy i SciPy);
  • Visualització de dades (Matplotlib i Seaborn);
  • Aprenentatge automàtic (Scikit-Learn, Keras/TensorFlowi PyTorch).

Però què tal el seu rival, R?

En resum, aquí les coses es posen interessants.

R ha estat desenvolupat pels estadístics com una alternativa de codi obert a eines cares, com ara MATLAB i SAS. En altres paraules, es va crear un llenguatge per a l’anàlisi i l’anàlisi de dades abans que Data Science fos un camp separat. Malgrat això,

R no és un llenguatge de propòsit general, el que significa que no es pot utilitzar per a finalitats diferents a les estadístiques*. Però ho fa molt bé.

** Tingueu en compte que Data Science no tracta (només) d'”eines genials”. aprenentatge automàtic i intel · ligència artificial.

Per descomptat, aquests termes brillants i les seves aplicacions són meravellosos, especialment en l’era de les instal·lacions computacionals àmplies. Sense ni tan sols esmentar que qualsevol pot començar a dissenyar les seves pròpies xarxes neuronals profundes a casa i entrenar-les gratuïtament amb una GPU basada en núvol!

Tanmateix, els fonaments de la ciència de dades són conceptes que sonen més avorrits (però extremadament importants), com ara Estadístiques, Probabilitat, Càlculi Àlgebra linialper anomenar-ne uns quants.

Per tant, poder operar en aquests dominis amb les eines adequades no només és útil sinó essencial en el món actual.

Per descomptat, és possible utilitzar algorismes d’aprenentatge automàtic com a eines de “caixa negra” sense entendre què passa sota el capó. Però, per a mi, és molt més divertit saber què passa dins.

Tornant a R, també s’utilitza àmpliament en moltes indústries.

Quines indústries fan servir R?

Algunes de les indústries i aplicacions específiques inclouen, per exemple:

  • Banca, comerç electrònic, finances;
  • Bioinformàtica, Epidemiologia, Genètica i Desenvolupament de fàrmacs;

Per tant, R sembla una gran opció per submergir-se al camp. A més, és compatible amb els sistemes operatius Linux i Windows.

Però, quins són els inconvenients del llenguatge R? Bé, el principal inconvenient és…

R no és molt amable per als principiants.

Especialment, aquells que no estan familiaritzats amb cap llenguatge de programació. La seva sintaxi no està estandarditzada, és a dir, no segueix l’idioma anglès com ho fa Python.

Per tant, és molt, molt més difícil aprendre R que Python.

Però, alguns diuen que si ets bo en estadístiques, és molt més fàcil entendre el llenguatge R i que un cop comencis, serà més fàcil.

Biblioteques Populars

Algunes de les biblioteques més utilitzades en R són:

  • Discriminació de dades (Tidyverse);
  • Neteja de dades (Janitor més interfície per treballar amb Apache Spark);
  • Generació automàtica d’informes (Knitr);
  • Visualització de dades* (Ggplot2 i Esquisse);
  • Aprenentatge automàtic (Caret);
  • Concretament, per a les dades sanitàries i biològiques (BioConductor).

**Tingues en compte que ggplot2 La biblioteca es considera una biblioteca de visualització més fàcil d’utilitzar que la matplotlib de Python. I la seva actualització Esquisseque porta les funcionalitats de Tableau a R, té encara més per oferir, especialment, traçat interactiu.

Com podem veure, hi ha un munt de paquets agradables a R i alguns d’ells estan fets realment per a una indústria específica, com ara la sanitat i la bioinformàtica, com ara BioConductor.

Quin és millor?

Com acostumo a dir, depèn sobre els objectius i l’experiència d’un. Tots dos idiomes tenen els seus avantatges i inconvenients.

Permeteu-me resumir els punts principals:

  1. Com que el llenguatge R ha estat creat per analistes de dades i estadístics abans que Data Science fos un camp separat. Doncs el suport un pot aconseguir de la comunitat R pel que fa a qüestions relacionades amb la ciència de dades és probable que sigui molt millor que els de la comunitat Python;
  2. Python és més fàcil d’aprendre perquè segueix un llenguatge estandarditzat, sobretot si no està familiaritzat amb cap altre llenguatge de programació però vol iniciar una carrera en Ciència de Dades;
  3. R se centra en les estadístiques i, per tant, és més potent amb les biblioteques estadístiques;
  4. Python sol ser més ràpid que R i suports programació multitipus;
  5. R és molt millor amb les dades visualització;
  6. Python és millor amb aprenentatge profund;

Ara, finalment vam arribar a la qüestió del potencial de guanys amb aquests dos idiomes. Fem una ullada a diversos recursos:

Segons les estadístiques de Glassdoor a l’àrea dels Estats Units, un salari mitjà estimat per a un desenvolupador de Python de 83.885 dòlars anuals. Mentre que el dels programadors R és d’uns 73,263 dòlars anuals.

Segons una recent enquesta de desenvolupadors de Stack Overflow (2022), els desenvolupadors de Python guanyen de mitjana 71.105 dòlars, mentre que els que utilitzen R uns 67.735 dòlars.

La tendència és similar a la dels científics de dades. Els que utilitzen Python guanyen (de mitjana) més que els que utilitzen el llenguatge R. Tanmateix, el pagament no és tan diferent i depèn de la indústria, el país i l’experiència.

**Tingueu en compte que aquells desenvolupadors i científics de dades que coneixen els dos llenguatges de programació, en tenen més d’un que només tenen Python. Per tant, com més, millor.

Personalment, defensaria Python, especialment per als principiants que comencen una carrera en el camp de la ciència de dades. Com que té més versatilitat i és possible utilitzar-lo per a moltes més finalitats, perquè el camp està en constant evolució i qui sap on serà d’aquí a 5 o 10 anys? Per tant, probablement sigui més fàcil canviar a una altra direcció amb Python.

A més, com que Python és més apte per a principiants que R, té més sentit començar amb Python, sobretot si un no se sent molt còmode amb Estadístiques.

Parlant d’estadístiques, com hem vist, el potencial d’ingressos amb Python et fa (de mitjana) més alt que el de R.

Tanmateix, si el vostre domini és realment específic, com ara la bioinformàtica o l’assistència sanitària, R pot oferir molt més!

A més, R és molt millor amb la visualització que Python.

Si un és un programador i un programador de dades experimentat, estic segur que es pot utilitzar qualsevol llenguatge, tenint temps suficient per ajustar-se. Però, els meus suggeriments sobre Python estan pensats per a principiants en lloc de professionals amb més experiència. No obstant això, el coneixement dels dos idiomes el fa encara més en el mercat laboral.

Finalment, crec que no hi ha una sabata única per a tots!

El que importa, de nou al meu parer, és l’interès genuí en qualsevol camp.

Connecta’t amb mi a LinkedIn.

Fes una ullada al meu GitHub.

PD: Si us agrada aquesta experiència de lectura ininterrompuda en aquesta bonica plataforma, Medium.com, considereu donar suport als escriptors d’aquesta comunitat registrant-vos com a membre, AQUÍ. Només costa 5 dòlars al mes i és compatible amb tots els escriptors.

Leave a Comment

Your email address will not be published. Required fields are marked *