Random forest: wat is het en hoe werkt het?

random forest

Wat is een random forest?

Een random forest – de naam zegt het eigenlijk al – is een machine learning algoritme dat uit verschillende beslisbomen bestaat. Het aantal beslisbomen is een parameter die je zelf bepaalt; dit hangt af van je data en van contextuele factoren. Elke beslisboom wordt op een willekeurig deel van de data getraind. Met andere woorden: op een willekeurige selectie van zowel de observaties als de variabelen. Door deze verschillende en dus ‘random’ beslisbomen uiteindelijk te combineren, voorkom je dat outliers een  (negatieve) invloed hebben op de uitkomst van de voorspelling en de gevolgen hiervan. Elke beslisboom bevat namelijk een ander deel van de data.

Wat is een decision tree?

Een random forest bestaat uit beslisbomen en is daarom een ‘tree based supervised learning’ techniek. In tegenstelling tot lineaire modellen, kan een random forest de niet-lineaire relaties in de data goed omschrijven. Er wordt hier namelijk gebruikgemaakt van een meervoud aan zwakke voorspellers; de decision trees. Deze worden vervolgens gebundeld om samen te resulteren in het random forest. Het combineren van honderden losse decision trees leidt uiteindelijk tot een ensemble die hogere precisie bevat en daarnaast stabiel voorspellingen kan uitvoeren.

De voordelen

Een groot pluspunt van random forest is dat je zelf kunt bepalen hoe de beslisbomen te werk gaan. Dit kun je doen door (een van) de parameters aan te passen. Je kunt bijvoorbeeld kiezen:

-Op welke methode de beslisboom getraind wordt;

-De waarde waarop de beslissingen beoordeeld worden;

-De diepte (en dus complexiteit) van de boom;

-Het aantal observaties in de leaf node. Tot hoever gaan we door met beslissingen nemen?

Maar er zijn meer voordelen:

  1. Een random forest kan goed omgaan met big data: grote hoeveelheden data.
  2. Het algoritme kan zowel numerieke als categorische variabelen gebruiken.
  3. Je hoeft minder vaak de data op te schonen in vergelijking met andere technieken. Dit komt doordat ontbrekende waardes en outliers minder invloed op de voorspelling hebben.

Toepassingen random forest

Het algoritme kan voor talloze doeleinden worden gebruikt. Bijvoorbeeld:

  1. Voorspellingen doen of het schatten van kansen op gebeurtenissen
  2. Het detecteren van verdachte gebeurtenissen of veranderingen in een dataset
  3. Het toeschrijven van ontbrekende waarden in een dataset
  4. Het opsporen van patronen, of in de classificatie van verbanden, of in kenmerken in een dataset
  5. Het detecteren van de belangrijkste invloedsfactoren voor gebeurtenissen in een dataset
  6. Allerlei andere classificatie- en regressievraagstukken

Random forest in de praktijk

De toepassingen van random forest zijn dus zeer divers, wat ertoe leidt dat dit algoritme in veel sectoren en toepassingen terugkomt. Denk hierbij aan spamfilters, beeld- en videoclassificatie, medische diagnoses en clickstream analyses. Om de werking van het algoritme duidelijk te maken, geven we hieronder een voorbeeld.

Neem de database van filmplatform IMDb. Van elke film is bekend wie de acteurs zijn, wie de regisseur is, wat de gemiddelde beoordeling is, et cetera. Als je een beslisboom zou maken voor je eigen voorkeuren, dan adviseert IMDb je een film te kijken waar Johnny Depp in speelt. Als je daarentegen meer beslisbomen zou ontwerpen die gebaseerd zijn op jouw gegevens, dan komt naar voren dat je vooral films interessant vindt die door Tim Burton zijn geregisseerd (willekeurige selectie van variabelen). Bovendien komt naar voren dat je toevalligerwijs de film ‘The Professor’ interessant vindt (willekeurige selectie van observaties): een film met Johnny Depp in de hoofdrol en met Tim Burton als regisseur.

Want to know more?

Ben je benieuwd naar wat wij nog meer in petto hebben als het gaat om data science? Neem dan contact op met Jesse Luk via jesse@tottadatalab.nl. Je kunt natuurlijk ook even bellen naar 020 514 1328.

Posted on 4 mei 2017

Share the Story

Back to Top