De 5 stappen voor het kiezen van een geschikt ML algoritme

blog-header

Als we kijken naar Machine Learning algoritmen, is er niet slechts één algoritme dat het best gebruikt kan worden voor elk probleem. Zo kun je bijvoorbeeld niet zeggen dat neurale netwerken altijd beter zijn dan decision trees, en vice-versa. Het is fijn om meerdere opties te hebben, maar het kiezen van het meest geschikte algoritme kan een lastige taak zijn.

In deze blog bespreken we de stappen die genomen worden om een geschikt algoritme te kiezen voor je Data Science project. Er zijn veel factoren die een rol spelen bij het kiezen van een geschikt algoritme voor je probleem, zoals:

  • Is de data gelabeld of niet?
  • Wat is de grootte van de dataset?
  • Hoe belangrijk is interpretatie?
  • Is er sprake van lineariteit in je data?
  • Met welke frequentie moet het model hertraind worden?

5 stappen voor het kiezen van een Machine Learning algoritme

1. Labeled versus unlabeled data

Met een labeled dataset wordt bedoeld dat er een uitkomst variabele in je dataset zit die gebruikt kan worden voor het trainen van je model. Wanneer we Machine Learning toepassen op gelabelde datasets spreken we van supervised learning. Aan de andere kant, in het geval van een niet gelabelde datasets, wordt er gesproken van unsupervised learning.

De twee populairste topics binnen supervised learning zijn regressie en classificatie. Denk hierbij aan het voorspellen van de verkopen over de tijd en het classificeren van een mail onder ``spam’’ of ``geen spam’’. Voorbeelden van unsupervised learning zijn clustering en dimension reduction, wat bijvoorbeeld gebruikt wordt voor respectievelijk klantsegmentatie en beeldcompressie.

Door te achterhalen binnen welk Data Science topic jouw probleem valt maak je direct een selectie van de mogelijke algoritmen waartussen je kan kiezen. Maar welk algoritme is het meest geschikt? Om daar achter te komen moeten er nog een aantal aanvullende vragen beantwoord worden.

2. Wat is de grootte van de dataset?

Vaak is de vraag of je als Data Scientist genoeg data hebt voor je voorspellend model. Dit kan helaas niemand je vertellen, en het antwoord moet je vinden door empirisch onderzoek. De hoeveelheid benodigde data is namelijk afhankelijk van verschillende factoren zoals de complexiteit van het probleem en de complexiteit van het Machine Learning algoritme.

Wanneer je een geschikt algoritme moet kiezen moet je dus rekening houden met de hoeveelheid beschikbare data en de complexiteit van jouw probleem. Over het algemeen geldt hoe complexer het algoritme, hoe meer data je nodig hebt. Wanneer je een kleine dataset hebt is het niet verstandig een complex algoritme zoals bijvoorbeeld Deep Learning te gebruiken, maar kun je beter kijken naar de mogelijkheden van het toepassen van lineaire modellen.

3. Tradeoff tussen interpretatie en accuraatheid

Bij het kiezen van een geschikt algoritme is er een trade-off tussen interpreteerbaarheid en accuraatheid. De simpelere algoritmen, zoals lineaire regressie, zijn goed te interpreteren maar zijn vaak minder accuraat dan geavanceerde modellen.

De mate van interpreteerbaarheid die vereist is hangt natuurlijk sterk af van degene die de model resultaten gaan gebruiken. Echter, in veel gevallen is er behoefte om uit te kunnen leggen welke factoren een grote rol spelen in de voorspelling. Complexe algoritmen zoals neurale netwerken zijn niet goed interpreteerbaar.


4. Lineariteit van de dataset

Wanneer relaties tussen onafhankelijke variabelen en de afhankelijke variabele lineair zijn, zijn modellen als lineaire regressie of logistische regressie geschikt, omdat deze uitgaan van lineaire afhankelijkheden. Aan de andere kant, wanneer er niet-lineaire relaties bestaan zijn ensemble methoden of neurale netwerken beter geschikt.

Van tevoren moet dus goed overwogen worden of lineaire methoden geschikt zijn voor het specifieke Data Science probleem. Wanneer lineaire regressie gebruikt wordt terwijl er geen lineaire relatie is heeft dit een nadelig effect op de accuraatheid van de voorspellingen.

5. Frequentie van hertrainen

Met het trainen van een algoritme bedoelt men het bouwen van een Machine Learning model. De tijd die nodig is om het model te trainen verschilt enorm per algoritme. Daarnaast heeft de grootte van de dataset invloed op de trainingstijd.

Het hangt af van je probleem hoe vaak een model getraind moet worden. Stel je wilt maandelijkse voorspellingen van de verkopen, dan hoeft je model slechts één keer per maand getraind te worden, en maakt het niet veel uit als hier veel tijd voor nodig is. Echter, bij bijvoorbeeld aandelenkoersen voorspellen moet de trainingstijd van het model kort zijn aangezien het model elke seconde hertraind moet worden.

De trainingstijd is vaak nauw verbonden met de accuraatheid van de voorspellingen. Modellen die een langere trainingstijd hebben zijn geavanceerder en kunnen in sommige gevallen accuratere voorspellingen genereren, met name als het probleem complex is.

 

Conclusie

Het selecteren van een geschikt algoritme is een kritische stap om je Data Science project zo succesvol mogelijk te maken. Er is niet één algoritme dat in elke situatie het best geschikt is. Voor het kiezen van een geschikt algoritme moeten bovengenoemde vragen beantwoord worden. Daarnaast is het van belang dat de Data Scientist een brede kennis heeft van de bestaande algoritmen, en deze kennis up-to-date houdt aangezien er nog steeds verbeterde algoritmen worden ontwikkeld.

Meer weten?

Wil je meer weten over de verschillende soorten ML algoritmen? Download dan de whitepaper "De 6 basisprincipes van een Data Science Project.

De 6 Basisprincipes van een Data Science Project