R vs Python: wat zijn de belangrijkste verschillen?

R vs Python: wat zijn de belangrijkste verschillen?

programmering-codering.jpg
Afbeelding: iStock/monsitj

Omdat datawetenschap van cruciaal belang wordt voor elke organisatie, is het net zo belangrijk geworden om de juiste tools te bepalen om het onder de knie te krijgen. De twee meest populaire talen om data science problemen aan te pakken zijn Python en R. Beide programmeertalen zijn open source met grote communities. Maar Python en R brengen ook hun eigen unieke sterke punten in voor datawetenschap, waardoor het moeilijker wordt om te beslissen welke te gebruiken.

R tegen Python: de belangrijkste verschillen

R is een open-source, interactieve omgeving voor het doen van statistische analyses. Het is niet echt een programmeertaal, maar het bevat een programmeertaal om te helpen bij de analyse.

Zoals uiteengezet op de site van het R-project: “R is een geïntegreerde suite van softwarefaciliteiten voor gegevensmanipulatie, berekening en grafische weergave [which] omvat … een grote, coherente, geïntegreerde verzameling van intermediaire tools voor data-analyse ….” Hoewel het niet de eerste dergelijke tool was, was R al vroeg in de datawetenschap en is het al geruime tijd een hoofdbestanddeel van de academische wereld.

ZIE: Huurkit: Python-ontwikkelaar (TechRepublic Premium)

Python is daarentegen een open-source, “geïnterpreteerde, objectgeoriënteerde programmeertaal op hoog niveau met dynamische semantiek”, aldus de website van het project. Dit doet het echter niet echt recht. Python is een gemakkelijk te leren taal voor algemene doeleinden die vaak de eerste taal is die een ontwikkelaar zal leren, omdat het al lang een onderwijstaal is.

“Het is gemakkelijk te gebruiken, gemakkelijk op te pikken, kinderen gebruiken het, niet-programmeurs pikken het in een weekend op”, vertelde Anaconda CEO Peter Wang ooit. “Dit is niet toevallig [but rather] is vanaf het begin een hardcore onderdeel van het ontwerp geweest en heel opzettelijk.”

Als een nauw gevolg daarvan is Python ook altijd geweldig geweest als lijmtaal. Zoals RedMonk-analist Rachel Stephens heeft benadrukt: “In die zin is het voor bedrijven heel logisch om in Python te investeren als een manier om te investeren in hun gevestigde code.” Met andere woorden, Python helpt bedrijven om legacy-code onderdeel te maken van hun recentere ambities om aan datawetenschap te doen.

Dit is misschien waar het belangrijkste voordeel van Python voor datawetenschap opvalt: iedereen weet het.

“Python is de op één na beste taal voor alles”, zei Van Lindberg, algemeen adviseur van de Python Software Foundation. “R is misschien het beste voor statistieken, maar Python is de tweede … en de tweede beste voor ML, webservices, shell-tools en (vul hier een use-case in).”

Lindberg onderschat misschien de kracht van Python op sommige gebieden; het is duidelijk niet altijd de op één na beste, maar zijn punt is richtinggevend correct: “Als je meer wilt doen dan alleen statistieken, dan is de breedte van Python een overweldigende overwinning.”

Met andere woorden, Python is goed genoeg dat ontwikkelaars en anderen ervoor kiezen om het voor een breed scala aan gebruikssituaties te gebruiken. Python is, net als Java, een programmeertaal voor algemene doeleinden; in tegenstelling tot Java is het echter vrij eenvoudig te leren en te gebruiken. Als zodanig wordt het voor allerlei dingen gebruikt, wat leidt tot ‘explosieve groei’, zoals Wang het ooit beschreef. Geen wonder dus dat als we de relatieve groei en daling tussen Python en R in vacatures voor datawetenschappers analyseren, van 2019 tot 2021, zoals Terence Shin heeft gedaan, het duidelijk is dat Python wint ten koste van R.

R tegen Python: wat is beter voor datawetenschap?

Hoewel Python populairder is gebleken dan R, betekent dat niet dat het altijd beter is. Zoals met de meeste dingen in technologie, hangt het af van wat je hoopt te bereiken. Hoewel Python de lat lager legt om te leren en productief te worden, en de niet-standaardaanpak van R omslachtig kan zijn om te leren, loont het voor sommige taken om te investeren in het leren van R. En natuurlijk voor sommige dingen, zoals datamining en datavisualisatie, je kunt waarschijnlijk ook goed kiezen.

Wat u kiest, moet echter voortvloeien uit het probleem dat u probeert aan te pakken en de langetermijninvesteringen die u en uw bedrijf van plan zijn te doen.

R is bijvoorbeeld beter geschikt voor statistische berekeningen en datavisualisatie omdat R speciaal is gebouwd door statistici voor statistische en numerieke analyse van grote datasets. U hoeft niet veel code in R te schrijven om diepgaande statistische analyse en datavisualisatie te stimuleren.

Het is ook zo dat, voor sommige gebieden, zoals life sciences, de R-pakketten bijzonder goed ontwikkeld kunnen zijn, waardoor R een goede keuze is. Veel hangt af van wat je aan het bouwen bent en je achtergrond. Zoals Align BI-partner Ryan Hobson in een interview zei: “Ik denk dat R een gemakkelijkere taal is voor statistici die misschien geen programmeerachtergrond hebben.”

Maar het is precies die “programmeerachtergrond” die Python de duidelijke winnaar maakt voor ontwikkelaars of anderen die geïnteresseerd zijn in big data, kunstmatige intelligentie (AI) en deep learning-algoritmen.

“Python had een bredere scope [than R] vanaf het begin [with engineering and science] DNA ingebakken in de Python-kern,” zei Wang. Het is objectief waar dat Python dramatisch populairder is, in een veel breder scala aan gebruiksscenario’s, dan R, en elke dag meer wordt.

Dan is er de realiteit dat de aard van datawetenschap aan het veranderen is.

“Er is ook een uitbreiding geweest die verder gaat dan wat traditioneel een puur datawetenschapsteam was; bij Netflix hebben we bijvoorbeeld de rol van Algorithms Product Manager”, zegt Christine Doig, directeur innovatie voor gepersonaliseerde ervaringen bij Netflix. Er is meer integratie met het ontwerpteam, met creatieve teams.”

Die uitbreiding van de specialisatie in datawetenschap pleit voor een grotere verscheidenheid aan mensen die helpen met de datawetenschapsbelasting, wat op zijn beurt de voorkeur geeft aan een taal als Python die breder wordt gebruikt.

Daarom is er een zeer reële vraag of het de moeite waard is om in R te investeren om een ​​relatief beperkt aantal use-cases op te lossen versus Python, waarmee een organisatie een breed scala aan use-cases kan ontmoeten. Het antwoord is misschien ja, maar je moet goed nadenken.

Of misschien moet je gewoon wachten. De R- en Python-community’s zijn tenslotte allebei actief bezig met het verbeteren van hun relatieve mogelijkheden door pakketten en bibliotheken toe te voegen om hun bruikbaarheid te verdiepen en uit te breiden. Op dit gebied gaat het voordeel echter naar Python, zowel vanwege de relatieve omvang van zijn gemeenschap, maar ook vanwege zijn lijmcode-stamboom.

Volgens Wang is het heel goed mogelijk dat in plaats van R te vervangen voor sommige gebruikssituaties, “misschien iemand een mooie Python-wrapper zal bouwen om een ​​dunne shim bloot te leggen om wat R-mogelijkheden bloot te leggen.” Met andere woorden, het is niet moeilijk voor te stellen dat Python die native elementen van R omarmt, zodat ontwikkelaars en datawetenschappers niet hoeven te kiezen.

Zowel R als Python bedienen hun respectievelijke kiesdistricten goed. Ja, de Python-gemeenschap is veel groter en trekt eerder R-pakketten naar het Python-ecosysteem dan andersom, maar welke je gaat gebruiken, kan uiteindelijk een kwestie zijn van en, niet van of.

Bezoek de TechRepublic Academie voor meer informatie over R en Python:

Openbaarmaking: ik werk voor MongoDB, maar de hierin uitgedrukte opvattingen zijn van mij.

Leave a Reply

Your email address will not be published.