Hiërarchieën visualiseren

Unsupervised Learning in Python

Benjamin Wilson

Director of Research at lateral.io

Visualisaties brengen inzichten over

  • “t-SNE”: maakt een 2D-kaart van een dataset (later)
  • “Hiërarchische clustering” (deze video)
Unsupervised Learning in Python

Een hiërarchie van groepen

  • Groepen levende wezens kunnen een hiërarchie vormen
  • Clusters zitten in elkaar genest

 

Hiërarchische boom van dieren

Unsupervised Learning in Python

Eurovision-scoredataset

  • Landen gaven punten aan liedjes op het Eurovisie Songfestival 2016
  • 2D-array met scores
  • Rijen zijn landen, kolommen zijn nummers

 

Eurovision-data

1 https://www.eurovision.tv/page/results
Unsupervised Learning in Python

Hiërarchische clustering van stemmende landen

Eurovision hiërarchische clustering

Unsupervised Learning in Python

Hiërarchische clustering

  • Elk land start in een aparte cluster
  • Telkens worden de twee dichtstbijzijnde clusters samengevoegd
  • Ga door tot alle landen één cluster vormen
  • Dit heet “agglomeratieve” hiërarchische clustering
Unsupervised Learning in Python

Het dendrogram van een hiërarchische clustering

  • Lees van onder naar boven
  • Verticale lijnen zijn clusters

Eurovision hiërarchische clustering

Unsupervised Learning in Python

Het dendrogram van een hiërarchische clustering

  • Lees van onder naar boven
  • Verticale lijnen zijn clusters

Eén cluster van Eurovision hiërarchische clustering

Unsupervised Learning in Python

Dendrogrammen, stap voor stap

Eén cluster van Eurovision hiërarchische clustering

Unsupervised Learning in Python

Dendrogrammen, stap voor stap

Eén cluster van Eurovision hiërarchische clustering met Griekenland/Cyprus-cluster gemarkeerd

Unsupervised Learning in Python

Dendrogrammen, stap voor stap

Eén cluster van Eurovision hiërarchische clustering met Bulgarije/Griekenland/Cyprus-cluster gemarkeerd

Unsupervised Learning in Python

Dendrogrammen, stap voor stap

Eén cluster van Eurovision hiërarchische clustering met Moldavië/Rusland-cluster gemarkeerd

Unsupervised Learning in Python

Dendrogrammen, stap voor stap

Eén cluster van Eurovision hiërarchische clustering met Moldavië/Rusland/Armenië-cluster gemarkeerd

Unsupervised Learning in Python

Dendrogrammen, stap voor stap

Samenvoegen van Griekenland/Cyprus/Bulgarije-cluster met Moldavië/Rusland?Armenië

Unsupervised Learning in Python

Dendrogrammen, stap voor stap

Eurovision hiërarchische clustering

Unsupervised Learning in Python

Hiërarchische clustering met SciPy

  • Gegeven samples (de array met scores) en country_names
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import linkage, dendrogram

mergings = linkage(samples, method='complete')
dendrogram(mergings, labels=country_names, leaf_rotation=90, leaf_font_size=6) plt.show()
Unsupervised Learning in Python

Laten we oefenen!

Unsupervised Learning in Python

Preparing Video For Download...