Techo Talk: What is R?

Wat maakt R zo populair onder het gebruik van analisten?

Steeds meer BI, MI-teams, actuariaten als  risk managing-afdelingen gebruiken R als analyse tooling. Maar waarom? In dit blog hoop ik een tipje van de sluier te lichten.

ooRspRong:

R is een softwarepakket en programmeertaal oorspronkelijk ontwikkeld voor statistiek en data-analysedoeleinden. Aan de basis van R staat de programmeertaal S die ontwikkeld is door John Chambers. 

Het uiteindelijke programma R is ontworpen door Ross Ihaka en Robert Gentleman (vandaar de naam R) aan de universiteit van Auckland (Nieuw-Zeeland) en wordt nu bijgehouden door het R core team. De core team zorgt ervoor dat de basis software, als additionele packages (zoals bijvoorbeeld tekst mining, spatial analyses, patroon herkenning, steekproeftrekking, etc.) goed performen, voldoen aan de basis regels en duidelijk zijn beschreven.

kRacht:

R wordt ontwikkeld door  analisten voor analisten. De ontwikkeling van de pakketen binnen R is organisch en bestaat niet uit het uitbrengen van nieuwe releases. In tegen stelling tot betaalde software is de ontwikkeling in hoge mate afhankelijk van de kennisdrift van de programmeur en wordt niet bepaald door de wensenlijst van de gebruiker. Dit maakt R ook fragiel.  

Echter vanwege de enorme ‘kennisdrift’ van de R community waar analisten/ontwikkelaars elkaar virtueel ontmoeten worden nieuwe algoritmen snel geïmplementeerd. Daarbij worden bestaande technieken nauwkeurig gecontroleerd/getest op hun werking en waarmogelijk aangevuld. Dit heeft er toe geleid dat R  zich ontwikkeld  tot  een tooling die zeer geavanceerde, betrouwbare, up-to-date technieken herbergt. 

Naast de wijze van ontwikkeling is een van de grote voordelen van R dat packages als de basissoftware gratis zijn te . R is open source software. De code is vrij toegankelijk. 

Een van de meest bekende ontwikkelaars van packages is Hadley Wickham. Wickham heeft o.a. de packages rvest, dplyr als ggplot ontwikkeld.

pRogRammeRen in R:

R is een hogere orde, object georiënteerde taal die gebruik maakt van een command line. Omdat de datastructuren binnen R zijn opgebouwd rond vectoren, lijsten en matrixen maakt het R zeer voor het uitvoeren van statische- als machine learning algoritmen.

Voor de meeste analisten is het dan ook raadzaam om naast het leren van R een cursus te volgen in lineaire algebra (bijv. aan de )

Zie hier een voorbeeld van de R programmeertaal.

 

Naast een groot aantal standaardfuncties kun je in R ook zelf functies ontwikkelen. Zie hieronder de meest gebruikte. Pakketten moeten eenmalig worden gedownload in een locale library op je PC. Daarnaast  worden de pakketen per sessie geactiveerd. 

In tegenstelling tot de meeste andere software is de performance van R in hoge mate afhankelijk van de capaciteit van het interne geheugen.

Alle objecten als berekeningen worden nl. vastgehouden binnen het interne geheugen. Binnen R is het dan ook de kunst het interne geheugen zo goed mogelijk te gebruiken.

Voor analisten die gewend zijn te werken met menugestuurd softwaretooling is het gebruik van R een behoorlijke omschakeling. Voor de startende R-gebruiker is het raadzaam om als opstart een online MOOC of offline cursus te volgen. Voorbeelden zijn The analytical Edge van Edx, R van Datacamp.  

R en R-studio:

Naast R gebruiken vele analisten R studio. R studio is een schil rond R die menu gestuurde ondersteuning aanbied. Naast R Studio bieden een aantal commerciële partijen een menugestuurde versie aan. Ook is er een van R.  

veel gebRuikte packages:

Zoals reeds vermeld is het gebruik van R gebaseerd op basis van het  activeren van packages. Er zijn o.a. pakketten voor information retrieval, datamanipulatie,  data analyse, data visualisatie en data products. 

Information retrevial

Data kan worden onderscheiden in gestructureerde data als niet gestructureerde data. R heeft een grote verscheidenheid aan packages om gestructureerde data als ongestructureerde data (tekst  documenten, websites, social networks, google, etc.) te ontsluiten. 

R biedt mogelijkheden om zowel door sites te crawlen als te scrapen. De meest gebruikte packages  om te scrapen en crawlen zijn: Rvest, RCurl, XML, RSelenium.

Let wel:Om data te scrapen en crawlen is een behoorlijke kennis nodig van de structuur van site. Voor de startende analist/R gebruiker is het niet raadzaam om te beginnen met webscraping/crawling.

Naast webscraping en crawling biedt R packages aan die interfaces (API’s) hebben om data te kunnen ontsluiten van sociale netwerken als (RTwitter), (RFacebook en Rook),  en

Data manipulatie

Nadat de data uit de verschillende bronnen zijn verzameld, is het zaak deze te manipuleren en te reshapen. Packages die hierbij veelvuldig worden gebruikt zijn (Tekst Mining) om ongestructureerde data te reshapen naar een analysebestand, Ngrams, data.table en Dplyr. is vergelijkbaar met de functionaliteiten van  SQL.

Voor de beginnende R -gebruiker is het raadzaam deze packages onder de knie te krijgen.

Met name in het geval van de tekst mining packages zal er  een wereld opgaan voor de gebruiker. De eenvoud waarmee manipulaties worden uitgevoerd is verbluffend.

Data analyse

R kent een grote verscheidenheid aan analyse- en data partition packages. Een van de meeste gebruikte splitting tools is caret. Caret wat staat voor classification and regression training, is een verzameling van packages die de startende R gebruiker een aantal partioning technieken als regressietechnieken aanbied om modellen te bouwen.

De packages Caret, Rpart (maken van een beslisboom), RandomForest (Random Forest) en e1071 (Support vector Machines) zijn een aantal veelgebruikte pakketten voor supervised learning die de beginnende R gebruiker veelvuldig handvaten geeft voor het bouwen van modellen.

Als voorbeeld zie de site van . . Meer info over het gebruik van supervised en unsupervised learning modellen kun je krijgen door het volgen van de MOOC van Stanford. Naast deze veel gebruikte analysetechnieken heeft R tal van pakket op het gebied van statistical learning en machine learning. Daarentegen staat het vakgebied deep learning binnen R nog in de kinderschoenen. 

Data visualisatie

Een van onderdelen waarin R zich onderscheid tov elke andere analysetool is de mogelijkheden van data visualisatie. Met name het pakket GGplot2 biedt mogelijkheden die bijna door geen ander pakket geëvenaard kunnen worden. Zie bijvoorbeeld deze voorbeelden inen .  Maar ook maakt R het mogelijk om indrukwekkende overzichten te maken op het gebied van , wordclouds, netwerken etc. 

Naast het opstellen van statische overzichten biedt R ook de mogelijkheid dynamische visualisaties op te stellen via bijvoorbeeld .

Hieronder een visual van over James Bond-films gemaakt via GGPLOT. (Bron Christoph Safferling uit RBloggers)

 

 

R in nedeRland

Het gebruik van R staat binnen analytics afdelingen nog in de kinderschoenen. Van alle downloads van packages was afgelopen maand minder dan 1,5% afkomstig uit NL. Binnen de VS vinden de meeste downloads plaats (42%), gevolgd door Duitsland 5% en China (5%). Toch is de trend dat steeds meer analytic afdelingen gebruik gaan maken van R.

vooRbeelden

Tot slot nog een aantal voorbeelden van R:

Plaats als eerste een reactie

Ook een reactie plaatsen? Word lid van Adformatie!

Word lid van Adformatie → Login →
Advertentie