R vs Python

Samenwerken is de sleutel

Blog. R vs Python 1

De historie van onze Data Science opleiding

Bij DIKW Academy waren we er vroeg bij met een data science opleiding van en voor data scientists. Onze consultants staan met twee voeten op de grond en buigen zich dagelijks over harde data science problemen.  Dus het was een logische stap op de kennis en kunde uit de dagelijkse praktijk om te zetten naar een waardevolle opleiding, het geven van trainingen is een vak apart maar een heel leuke aanvulling op je dagelijkse werkzaamheden. Zo gezegd zo gedaan, we zijn in 2013 gewoon gestart met de tools die we op dat moment veel gebruikten. R en R-Studio dus….

 

Python is een general purpose programmeertaal

Het is natuurlijk niet zo dat we niet bekend waren met python, Raspberrypi’s in overvloed. Custom API’s, custom tekst processing applicaties etc etc. Python was (en is) gewoon een algemene programmeertaal waarin je heel veel kunt doen. 

R is een statistische programmeertaal

R heeft duidelijk een focus op statistiek en een sterke vertegenwoordiging in de wetenschappelijke wereld. De uitgebreide set aan goed gedocumenteerde bibliotheken met specifieke toepassingen is een enorme pre. Zeker als je nog veel ontwikkeling moet doormaken als beginnend data scientist heeft R naar onze mening een minder steile leercurve voor niet programmeurs.

Maar tijden veranderen, deep learning en data engineering deden het vak kantelen naar een nog meer tech-savvy georienteerd publiek. De grote big-tech reuzen maken hun deeplearning toolboxen (TensorflowPyTorch CNTK (ONNX)) open source en dat gaf een enorme omslag in het aantal mensen en het type mensen dat zich bezighoudt met data science, meer machine learning geörienteerde mensen. Die met enorme hoeveelheden data aan de gang gaan en waarvoor hun laptop niet meer voldoende “compute” beschikbaar had. 

Ontwikkeling naar de cloud

n de R-stack zien we vanaf 2015 een enorme ontwikkeling vanuit de overname van Revolution Analytics door Microsoft. Daar zie je dat de ontwikkel power van een club als Microsoft gigantisch is. Microsoft heeft R van de grond af aan opnieuw opgebouwd en er voor gezorgd dat de R engine multi-threaded werd, iets dat tot dan toe niiet het geval was en een serieuze issue was voor het schalen naar de cloud (Microsoft Open R).

blog. R vs Python 2

 

Aan de andere kant heeft de browser based technologie van Jupyter Notebook een enorme impact gehad in de adoptie van interactieve notebooks waarmee je als datascientist je werk kunt delen met je collega’s.

Jupyter Notebooks is geëvolueerd naar Jupyter Labs, een interactieve analyse omgeving waarmee  in veel programmeertalen kan worden gewerkt (naast python en R bijvoorbeeld) ook in Julia

Deze ontwikkeling zien we ook bij bijvoorbeeld Ggplot2 en Plotnine.

 

Anaconda is een goed voorbeeld van een open source initiatief dat door een commercieel bedrijf succesvol is gemaakt. Anaconda is gestart rond 2014 als een verzameling van python bibliotheken met een focus rond data science. Met het installatie tool conda werd het snel en handig opzetten van een virtual environment voor data science een peuleschil. Daarmee was de basis gelegd voor een enorme community die python dedicated gebruikt voor het ontwikkelen en implementeren van data science en machine learning applicaties en toepassingen.

Experimenteerfabriek met Artificial Intelligence

Leuk al die tools, maar hoe ga je dat nu doen? Waarde creëren met data? Daar heb je toch echt mensen voor nodig… Bij DIKW hebben we een methode ontwikkeld waarmee we bedrijven en organisaties helpen met het continue leren van data en het verbeteren van processen en acties binnen je organisatie door data-gedreven beslissingen te nemen. 

 

Daarvoor heb je naast tools ook methoden nodig die je helpen om van mooie innovatieve ideeën waardevolle data producten te maken. De vertaling van die ideeën naar usecase, van use cases naar business cases en van papier naar code is waar de adviseurs van DIKW precies de goede mix van ervaring en kunde hebben om jouw organisatie blijvend te veranderen in een meer data gedreven organisatie.

Artificial Intelligence Experimenteerfabriek

 

Opleiding bij DIKW Academy in zowel R als in python

Dus naast de tools heb je ook de mensen nodig met de goede skills. En tegenwoordig gaat dat over meer dan alleen data science, juist in het omliggende veld zien we meer rollen opkomen die worden gezien als “opvoeden in data”, zogenaamde data literacy

 

Datageletterdheid is het vermogen om gegevens als informatie te lezen, te begrijpen, te creëren en te communiceren. Net als het algemene concept geletterdheid, is datageletterdheid gericht op de vaardigheden die nodig zijn om met gegevens te kunnen werken. Het is echter niet vergelijkbaar met het vermogen om tekst te lezen, aangezien het bepaalde vaardigheden vereist met betrekking tot het lezen en begrijpen van gegevens.

In de bloom taxonomy voor het aanleren van vaardigheden is het duidelijk dat hands on praktijkervaring ‘de’ manier is om kennis echt te borgen. Dit principe wordt bij DIKW Academy als basis gebruikt bij het opzetten van trainingen.

Blog. R vs Python 4

Doordat je met kleine stukjes werkende code aan de slag kunt gaan leer je al direct op “toepassen” niveau, dus blijft er meer hangen. Als je daarna halverwege de opleiding met je eigen data aan de slag gaat zul je het aangeleerde in een nieuwe situatie moeten gaan gebruiken (“Analyseren”), hup, weer een stapje erbij! Met het opzetten van een “experiment”, onder begeleiding van je coach, ga je echt op zoek naar de business case. Dus: Hoe doe ik het nu? Wat zou ik anders kunnen doen? Is er voldoende bewijs voor in de data? Zodat ik deze verandering kan rechtvaardigen … Dan ben je bijna aan de top!

Kortom...

Bij DIKW zijn we voorstander van open source data, tools en algoritmen. We zijn er van overtuigd dat daarmee de community | organisatie | overheid als geheel beter, effectiever en efficiënter wordt. Dat heeft de AI-community ook wel laten zien de afgelopen tijd. 


Uiteindelijk is de vraag niet welke tool je gebruikt maar hoe effectief je bent. Natuurlijk heeft iedereen zijn of haar eigen voorkeuren en dat zal altijd zo zijn. Dus stap over de verschillen en zoek naar de gemeenschappelijke deler! 

 

Om af te sluiten, een overzicht van vergelijkbare bibliotheken in Python en R

Dplyr                                               vs                     Pandas

Ggplot2                                         vs                     Plotnine

Caret or TidyModels             vs                     pycaret

Tidyverse                                      vs                    scikit-learn or  anaconda

Tidytext                                         vs                    spaCy / NLTK

Forecasting (timeseries)     vs                    ( … )