Home » Hoe word ik een data scientist?

Hoe word ik een data scientist?

  • by
Want to do a random act of kindness? Share this post.

True story: een zestal jaar geleden werd me op een jobinterview gevraagd om een regressie-analyse uit te voeren. Ik klooide wat rond met correlaties en conditionele opmaak in Excel en kon de juiste conclusies trekken. De methode die ik gebruikte, daar zou een statisticus echter van huilen. Vandaag stuur ik een team van data scientists aan. In dit bericht probeer ik een vraag te beantwoorden die mij tegenwoordig vaak bereikt: “Hoe word ik een data scientist?”

Kortom: volg een online traject, oefen, lees boeken, elke dag een glas karnemelk, werk aan persoonlijke projecten, omarm opportuniteiten en geef er prioriteit aan. Maar ik wil je de volledige uitleg niet ontzeggen.

Eerst en vooral: wat doet een data scientist? De vraag van 1 miljoen. Voor sommige bedrijven is die mens bezig met businessvraagstukken en met dashboards bouwen. Soms vind je ‘m in product teams, werkend aan toepassingen met computer vision. In andere data science teams is die gast/griet algoritmes aan ‘t uitwerken om consumentengedrag te voorspellen en elders moet ‘ie eigenlijk gewoon vlookups in Excel kennen. De rol en functie is zodanig algemeen geworden dat je ‘t eigenlijk kan herleiden tot: een data scientist creëert (business) value uit data.

Een misopvatting is dat data scientists theoretische uitvindingen doen: hoe ze sneller en beter algoritmes kunnen ontwikkelen. Dat klopt eigenlijk niet. Zie het als een fysicus of chemicus tegenover een ingenieur. Die laatste gebruikte de inzichten van de eersten om aan een bepaalde nood te voldoen of een probleem op te lossen. Een data scientist gaat aan de slag met de inzichten uit de computerwetenschappen, de statistiek en eventueel uit het vakgebied waarin zij/hij werkt: retail, biofysica, mobiliteit, etc.

Ik heb de skill set van een data scientist opgesplitst in drie grote categorieën, een algemeen aanvaarde opdeling. Daaronder heb ik enkele specifieke skills gestoken en zal ik uitwijden over specifieke tools.

Wiskunde

  1. Differentialen & integralen (aka calculus)
  2. Lineaire algebra (aka vectoren & matrices)
  3. Beschrijvende statistiek
  4. Inferentiële statistiek

Wat betreft wiskunde & statistiek was ikzelf een absolute laatbloeier. In de middelbare school smeet ik er met mijn pet naar en aan de universiteit deed ik mijn uiterste best om het allemaal te ontwijken. Maar eenmaal ik een doel had, heb ik er mij volledig op gegooid.

Hoe leren?

Als het over deze zuivere kennisgebieden gaat, dan is er maar één plek: Khan Academy. Beter nog, het is gratis! Je vindt er alles over differentialen & integralen en over lineaire algebra. Als naslagwerk vind ik dit boek echt uitstekend. Alles wordt er zo kort mogelijk uitgelegd, alle rekenregels worden opgesomd en het bevat honderden voorbeelden. Regelmatig grijp ik er naar terug als ik bepaalde — door een computer uitgevoerde –berekeningen niet direct begrijp. Het is nog eens spotgoedkoop ook.

Beschrijvende statistiek, dat zijn meestal de eerste twee hoofdstukken van een statistiekboek. Als je aan de Universiteit van Gent studeerde is de kans groot dat dit boek ergens stof ligt te vergaren. Je vindt er ook alle courante statistische testen en leert er voldoende om te redeneren in een onzekere wereld (e.g. inferentiële statistiek). Normaal gezien zou elk inleidend statistiekboek voldoende moeten zijn om te kunnen starten.

Desalnietemin raad ik aan om ook hier een MOOC in te volgen die dit behandelt binnen een context van data science. De Data Science Specialization via Coursera (zie verder) staat hier enkele lessen bij stil en toont je bijvoorbeeld hoe je in R samples kan pakken, distributies kan genereren en hoe je statistische tests uitvoert.

Computerwetenschappen

  1. Programmeren
  2. SQL
  3. Machine Learning
  4. Cloud Computing

Programmeren

Programmeren kan je in honderden talen, elk met hun voordelen en nadelen en elk met een specifieke focus. In de data-economie zal je verschillende programmeertalen tegenkomen. De twee populairste zijn zonder twijfel R en Python. Voornamelijk die laatste wint sterk aan marktaandeel: Python wordt echt een universele programmeertaal die binnen verschillende ecosystemen omarmd wordt. Desalniettemin is R stabieler, robuuster, echt gemaakt voor data-analyse maar ook een pak trager dan Python. Met veel omwegen zal je met beide talen ongeveer hetzelfde kunnen bereiken.

Persoonlijk is R mijn favoriete programmeertaal. Omdat je echt voelt dat het ontwikkeld is voor het onderzoeken van data. Je dient ook niet te prutsen met virtual environments, je hoeft niet in de terminal te werken om packages te updaten en heeft veel minder compatibiliteitsproblemen. Ter vergelijking: alleen al om je Python libraries te beheren heb je tal van manieren (zoals met Anaconda), en dat maakt het voor de beginnende data scientist niet eenvoudig om het bos door de bomen te zien. Desalniettemin, als er mij gevraagd wordt om een web service te ontwikkelen of een applicatie te schrijven, dan is Python voor mij absoluut de eerste keuze. Tot slot, voor niet-gestructureerde data ben je ook (wegens snelheid alleen al) beter af met Python.

Hoe leren?

Eenvoudig: programmeren, dat doe je. Daar lees je geen boeken voor. Er zijn tal van interactieve cursussen:

DataCamp of CodeCademy? Er is geen juist antwoord. Wat ik wel aanraad is om er ééntje uit te kiezen. Pak diegene waar je je het beste bij voelt. Want laten we eerlijk zijn: de komende maanden zal je tijdens je lunchpauze, na de werkuren en in het weekend zitten programmeren.

Dat lees je goed. Het is de bedoeling dat je oefent. Eenmaal dat je een les of specialisatie afrondt moet je jouw skillset blijven onderhouden door aan persoonlijke projecten te werken. Zoek iets dat je interesseert en werk met beschikbare datasets — of maak ze zelf.

SQL

SQL kan je uitspreken als es-kjoe-el of als het Engelse sequel. Het is een taal om met databases te communiceren. Je kan het vanuit een user interface schrijven of verwerken in je R of Python code. Er zijn verschillende varianten (Microsoft, Oracle, BigQuery, NoSQL, MongoDB, etc.) maar als je de basis kent kan je vrij snel overschakelen.

Hoe leren?

In veel gevallen zal je in je carrière enkel en alleen data uitlezen. Dat is handig, want dat je wil zeggen dat het al heel moeilijk wordt om iets kapot te maken. Door je op die kant te focussen geraak je dus al ver. Verschillende websites bieden interactieve lessen SQL aan. Zo ook Codecademy en Datacamp. Ik raad hier geen boeken aan, SQL leer je door queries te schrijven.

Toegepaste Machine Learning

Machine Learning is de studie van algoritmes (vaak, maar niet altijd, geleend uit de statistiek) die een bepaalde taak kunnen automatiseren. Vroeger werden die regels manueel geschreven. Met ML toon je duizenden voorbeelden aan een algoritme, dat in die data patronen leert ontdekken. Dat resulteert in een model dat gebruikt kan worden op andere datapunten om daar voorspellingen over te maken. ML is momenteel dé methode die AI-applicaties aandrijft.

Ik trek graag een lijn tussen ML voor gestructureerde data, en voor niet-gestructureerde data zoals tekst, foto en video. In het eerste geval ben je vaak bezig met het creëeren van features, waar je algoritme uit kan leren. In het tweede geval zal je voornamelijk algoritmes toepassen die de tand des tijds doorstaan hebben. Dat zijn dan voornamelijk verschillende configuraties van neurale netwerken.

Hoe leren?

Voor gestructureerde data. Het boek waar het eigenlijk allemaal mee begin is An Introduction to Statistical Learning, of de XL-versie Elements of Statistical Learning. Met deze boeken krijg je inzicht in de theorie achter de algoritmes en leer je ze toepassen in R.

Misschien wat verouderd, een uitstekende MOOC is de Data Science Specialization van Johns Hopkins via Coursera. DataCamp biedt uitstekende én interactieve trainingen aan zoals Data Scientist with R of Data Scientist with Python.

Voor ongestructureerde data kan ik dit e-book van Michael Nielsen aanraden dat door de fundamenten van deep learning gaat. Heb je liever papier in de handen? Dan kan ik Deep Learning in Python aanraden, een boek waar ik ook zelf veel aan gehad heb.

De kans is heel groot dat je in aanraking zal komen met TensorFlow (en de high-level interface Keras). In deze razend populaire MOOC met Andrew Ng, TensorFlow in Practice, kom je alvast in aanraking met heel wat voorbeelden.

(Cloud) Computing

In dit onderdeel doel ik op alles wat met computerinfrastructuur, netwerken en tooling in het algemeen te maken heeft. Omdat meer en meer zaken in de cloud gebeuren kan het geen kwaad om daar ook te starten.

Als je een dataset zal gebruiken met tienduizenden foto’s, bijvoorbeeld om katten van honden te onderscheiden, dan is dat onbegonnen werk om dat op je eigen computer te doen. Je hebt echt rekenkracht nodig. Die kan je lenen van de grote cloudplatformen zoals Microsoft Azure, Amazon Web Services (AWS) of Google Cloud Platform (GCP). Zij bieden een uit-de-kluiten-gewassen set van tools aan voor het bouwen en hosten van websites, applicaties en volledige bedrijfsinfrastructuren. Eigen aan cloudplatformen is dat je betaalt voor je gebruik. Bijvoorbeeld: Een uurtje een algoritme laten trainen kan enkele euro’s kosten.

In de data-economie zal je voornamelijk tools gebruiken om data te verplaatsen, te kuisen, op te slaan en beschikbaar te maken voor specifieke doeleinden.

Hoe leren?

Ik stel voor om één platform uit te kiezen en daarin de verschillende tools te leren kennen. Globaal gezien is AWS de grootste. Maar betreft data en AI verbaast Google met GCP echter vriend en vijand. Daar gaat het echt snel. Google zet volop in op AI en ligt aan de basis van heel wat frameworks en standaarden die ook in andere cloudplatformen geïntegreerd worden. Azure is ook aan een sterke opmars bezig en heeft dat te danken aan het feit dat de meeste grote bedrijven werken met technologie van Microsoft. Voor die bedrijven is het handig dat ze met kleine investeringen kunnen overschakelen naar cloudtechnologie, en dat het nog eens allemaal compatibel is ook.

Online lessen om de platformen te leren kennen vind je hier:

Alle platformen bieden op de ene of de andere manier een trialperiode of gratis credits aan waarmee je naar believen kan rondspelen. Het is geen slecht idee om je inschrijving tot de MOOCs te laten samenvallen met je gratis cloudabonnement.

Belangrijk is om te weten dat je met deze skillset echt het verschil kan maken. Er lopen al heel wat data scientists rond die op hun computer een modelletje kunnen trainen. Er zijn er nog niet zoveel die afstuderen of zelfs al enkele jaren ervaring hebben en hun werk kunnen distribueren in een cloudomgeving. Tot slot voel je ook dat die verwachtingen op de arbeidsmarkt echter aanwezig zijn. Het voldoet niet meer om een scriptkiddie te zijn die wat met Python of R kan werken.

Volledigheid

  1. Nieuwsgierigheid
  2. Inzicht
  3. Communicatie & visualisatie
  4. Expertise

Inderdaad, een lullige naam: “volledigheid”. Er hoort ook een lullige analogie bij: zie het als de silicone die de spleten moet opvullen. Het verschil is groot tussen een nieuwe keuken waar de details nog niet afgewerkt zijn en een keuken die tot in de puntjes af is. Zie het als een samenraapsel van soft-skills, ervaring en wat jou tot jou maakt.

Wie in de data-economie wil werken dient nieuwsgierig te zijn. En dat omwille van twee verschillende redenen. (1) Vaak ga je op zoek naar inzichten en moet je de inhoud echt begrijpen om tot waardevolle inzichten en producten te komen. Onafhankelijk van het vakgebied (e.g. retail, biologie, politiek of ruimtevaart). (2) De technologische vooruitgang gaat momenteel aan een razend tempo. Gisteren zou je nog een Random Forest algoritme gebruiken om een probleem te tacklen, vandaag heb je genoeg rekenkracht om een beter resultaat te bekomen met neurale netwerken. En dat moet je constant bijbenen, vaak in je vrije tijd.

De kans dat je zal gevraagd worden om een nieuwe trainingsalgoritme te bedenken is quasi onbestaande. Maar je zal wel bestaande oplossingen moeten koppelen aan bepaalde problemen. Met andere woorden, je hebt analytisch inzicht nodig. Je moet er geen geheim van maken dat je niet alle toepassingen kent. Maar het is belangrijk dat je een vaag begrip hebt van wat er allemaal bestaat, zodat je de juiste oplossing kan inzetten wanneer een probleem jouw pad kruist.

Dan is er ook communicatie. Wat je doet is voor veel andere mensen even begrijpelijk als Chinees. Je kan dus maar beter op een adequate manier uitleggen waarom je iets doet, hoe het werkt en waarom het belangrijk is. In veel gevallen zal je jouw bevindingen visualiseren. Vaak volstaan libraries zoals matplotlib en ggplot. Maar in andere gevallen wil iemand een regelmatige kijk hebben om de inzichten die je verschaft, en daar dienen dashboards voor. Het kan geen kwaad om thuis te zijn in tools zoals MS PowerBI, Salesforce Tableau, Qlikview of Looker.

Finaal wil ik het ook nog hebben over expertise. Data beschrijft altijd iets. Het is een enorme meerwaarde om thuis te zijn in iets werelds. Dat helpt je om persoonlijke projecten te realiseren, geeft je iets om over te praten en kan als blueprint dienen voor andere gebieden waar je niet in thuis bent. Dat kunnen vogels, planten, politiek, film, muziek, sport, etc zijn. Over het algemeen bepaalt dit ook wie je bent. Je wilt niet enkel die datagast of -griet zijn.

Nawoord

Afhankelijk van je achtergrond kan het moeilijk of makkelijker zijn om de transitie te maken naar data scientist. Als je alle bovenstaande skills oplijst dan kan je wel eens aan een stevig curriculum komen. Onthoud: Door doorzettingsvermogen bereikt de slak de ark. Het was pas na drie jaar dat ik mezelf data scientist “durfde” noemen.

Je hoeft niet alles te kunnen. Probeer je te specialiseren in bepaalde skills en aspecten van de data-economie. In een volgend blogbericht wijd ik nog uit over de verschillende mogelijk profielen waar je naartoe kan werken: data scientist, data engineer, ML engineer, BI developer, BI analyst, …

Ga in op elke opportuniteit die zich aanbiedt om iets te doen met data. Een hypothese testen, een experiment opzetten, een regressietje uitvoeren, een klein modelletje trainen, wat data kuisen in R ipv in Excel, enzovoort. Het beroemde boek van Malcolm Gladwell ‘Outliers‘ geeft als vuistregel mee dat iemand 10.000 uur nodig heeft om ergens specialist in te worden. Elk beetje telt, niet?

Want to do a random act of kindness? Share this post.