Direct naar inhoud
Alle termenKlassieke Machine Learning

Wat is Hierarchical Clustering?

Een techniek om data automatisch in groepen te sorteren door steeds de meest op elkaar lijkende dingen samen te voegen — of juist één grote groep steeds verder op te splitsen.

Wat is Hierarchical Clustering

Wat is hierarchical clustering eigenlijk?

Stel je voor dat je een stapel familiefoto's hebt en die wilt sorteren. Je zou kunnen beginnen door eerst broers en zussen bij elkaar te leggen, dan gezinnen, dan grootouders met kleinkinderen, enzovoort — totdat je een complete stamboom hebt. Of je begint met de hele familie en splitst die steeds verder op: eerst in takken, dan in gezinnen, dan in individuen.

Dat is precies wat hierarchical clustering doet met data. Het is een techniek uit machine learning die automatisch groepen (clusters) maakt door te kijken welke datapunten het meest op elkaar lijken. Het bijzondere: je krijgt niet zomaar een platte lijst groepen, maar een hiërarchie — een soort boom die laat zien hoe groepen met elkaar samenhangen.

Er zijn twee manieren waarop dit werkt:

Agglomerative (van onder naar boven): je begint met elk datapunt als eigen groepje. Dan voeg je steeds de twee groepjes samen die het meest op elkaar lijken. En dat doe je door totdat alles in één grote groep zit. Het resultaat is een boom (een 'dendrogram') waar je op elk niveau kunt afknippen om het aantal groepen te kiezen dat jij handig vindt.

Divisive (van boven naar beneden): je begint met alle data in één groep en splitst die steeds verder op in kleinere subgroepen, totdat elk punt een eigen groep is.

In de praktijk wordt agglomerative clustering het meest gebruikt, omdat die sneller en eenvoudiger is.

Hoe werkt het in de praktijk?

De essentie is simpel: het algoritme berekent steeds de afstand tussen punten of groepen (bijvoorbeeld hoe verschillend twee klanten zijn op basis van hun aankoopgedrag) en besluit dan welke groepen samengevoegd moeten worden.

Er zijn verschillende manieren om die afstand te meten tussen groepen:

  • Single linkage: de afstand tussen de twee dichtstbijzijnde punten uit beide groepen

  • Complete linkage: de afstand tussen de twee verste punten

  • Average linkage: het gemiddelde van alle afstanden tussen punten uit beide groepen

  • Ward's methode: kiest de samenvoeging die de spreiding binnen groepen het minst laat toenemen

Elke methode geeft net iets andere resultaten, afhankelijk van wat je zoekt. Ward's methode werkt vaak goed voor compacte, gelijkmatige groepen.

Een voorbeeld: klantsegmentatie

Stel, je runt een webshop en hebt data van duizenden klanten: wat ze kopen, hoe vaak, hoeveel ze uitgeven. Je wilt begrijpen welke types klanten je hebt, maar je weet niet van tevoren hoeveel groepen er zijn.

Met hierarchical clustering kun je:

  1. Alle klanten als losse punten starten

  2. Steeds de meest vergelijkbare klanten samenvoegen

  3. Een dendrogram krijgen dat laat zien hoe klanten clusteren

  4. Zelf kiezen op welk niveau je 'knipt' — wil je 3 hoofdgroepen, 5 subgroepen, of 10 niche-segmenten?

Dat laatste is het grote voordeel: je hoeft niet van tevoren te beslissen hoeveel groepen je wilt. Je kunt achteraf experimenteren met verschillende indelingen.

Waar kom je het tegen?

Hierarchical clustering wordt veel gebruikt in:

  • Biologie en genetica: om soorten of genen te groeperen op basis van overeenkomsten (denk aan evolutionaire stambomen)

  • Marketing en klantanalyse: klantsegmentatie zonder vooraf bepaalde categorieën

  • Documentanalyse: teksten groeperen op basis van inhoud (bijvoorbeeld nieuwsartikelen over vergelijkbare onderwerpen)

  • Sociale netwerken: gemeenschappen detecteren in netwerken van mensen of organisaties

  • Productaanbevelingen: producten clusteren op basis van wie ze samen koopt

In Python-bibliotheken zoals scikit-learn vind je dit terug onder AgglomerativeClustering. In data-analyse tools als SPSS of R zit het standaard in het pakket voor cluster-analyse.

Waarom zou je dit gebruiken in plaats van andere clustering?

Vergeleken met technieken als K-Means heeft hierarchical clustering een paar voordelen:

  • Je hoeft niet van tevoren te weten hoeveel groepen je wilt

  • Je krijgt inzicht in de onderlinge relaties tussen groepen (de boom)

  • Het werkt goed met kleine datasets

Maar er zijn ook nadelen:

  • Het is langzamer bij grote datasets (duizenden punten gaat nog, miljoenen niet)

  • Eenmaal samengevoegde groepen kun je niet meer uit elkaar halen (geen 'undo')

  • Het is gevoelig voor uitschieters (rare datapunten kunnen het resultaat verstoren)

Wat kun je er nu mee?

Als je data hebt waar je structuur in wilt ontdekken — klanten, producten, documenten, wat dan ook — en je weet niet precies hoeveel categorieën er zijn, dan is hierarchical clustering een handige eerste stap. Het geeft je een visueel overzicht (het dendrogram) waarmee je kunt experimenteren: waar knip je de boom af? Welke indeling past het best bij jouw vraag?

Beginnerstip: start met een klein deel van je data (een paar honderd punten) en maak een dendrogram. Kijk waar natuurlijke 'knipmomenten' zitten — plekken waar de afstanden ineens groot worden. Daar zitten vaak de zinvolste groepen.

FAQ

Veelgestelde vragen over Hierarchical Clustering

De drie meest gestelde vragen over dit onderwerp, kort beantwoord.

Wat is Hierarchical Clustering?

Een techniek om data automatisch in groepen te sorteren door steeds de meest op elkaar lijkende dingen samen te voegen — of juist één grote groep steeds verder op te splitsen.

Waarom is Hierarchical Clustering belangrijk?

Stel je voor dat je een stapel familiefoto's hebt en die wilt sorteren. Je zou kunnen beginnen door eerst broers en zussen bij elkaar te leggen, dan gezinnen, dan grootouders met kleinkinderen, enzovoort — totdat je een complete stamboom hebt. Of je begint met de hele familie en splitst die steeds verder op: eerst in takken, dan in gezinnen, dan in individuen.

Hoe wordt Hierarchical Clustering toegepast?

Dat is precies wat hierarchical clustering doet met data. Het is een techniek uit machine learning die automatisch groepen (clusters) maakt door te kijken welke datapunten het meest op elkaar lijken. Het bijzondere: je krijgt niet zomaar een platte lijst groepen, maar een hiërarchie — een soort boom die laat zien hoe groepen met elkaar samenhangen.

Deel: