Hiyerarşik kümelemede küme etiketleri

Python'da Unsupervised Learning

Benjamin Wilson

Director of Research at lateral.io

Hiyerarşik kümelemede küme etiketleri

  • Yalnızca görselleştirme aracı değildir!
  • Ara aşamalardaki küme etiketleri geri alınabilir
  • Örn. çapraz tablolar için kullanılabilir

Eurovision hiyerarşik kümeleme

Python'da Unsupervised Learning

Ara kümeler ve dendrogramdaki yükseklik

  • Örn. yükseklik 15 iken:
    • Bulgaristan, Kıbrıs, Yunanistan tek küme
    • Rusya ve Moldova başka bir küme
    • Ermenistan tek başına bir küme

15 yüksekliğinde yatay çizgili yakınlaştırılmış küme

Python'da Unsupervised Learning

Dendrogramlar küme mesafelerini gösterir

  • Dendrogramdaki yükseklik = birleşen kümeler arası mesafe
  • Örn. yalnızca Kıbrıs ve Yunanistan içeren kümelerin mesafesi yaklaşık 6 idi

Kıbrıs/Yunanistan kümesi vurgulu yakınlaştırılmış küme

Python'da Unsupervised Learning

Dendrogramlar küme mesafelerini gösterir

  • Dendrogramdaki yükseklik = birleşen kümeler arası mesafe
  • Örn. yalnızca Kıbrıs ve Yunanistan içeren kümelerin mesafesi yaklaşık 6
  • Bu yeni kümenin, yalnızca Bulgaristan içeren kümeye mesafesi yaklaşık 12

Kıbrıs/Yunanistan kümesi ve Kıbrıs/Yunanistan/Bulgaristan kümesi vurgulu yakınlaştırılmış küme

Python'da Unsupervised Learning

Ara kümeler ve dendrogramdaki yükseklik

  • Dendrogramdaki yükseklik, birleşen kümeler arasındaki azami mesafeyi belirtir
  • Bu değerden daha uzaktaki kümeleri birleştirmeyin (ör. 15)

15 yüksekliğinde yatay çizgili yakınlaştırılmış küme

Python'da Unsupervised Learning

Kümeler arası mesafe

  • Bir "bağ (linkage) yöntemi" ile tanımlanır
  • "Complete" bağda: kümeler arası mesafe, örnekler arası azami mesafedir
  • method parametresiyle belirtilir, ör. linkage(samples, method="complete")
  • Farklı bağ yöntemi → farklı hiyerarşik kümeleme!
Python'da Unsupervised Learning

Küme etiketlerini çıkarma

  • fcluster() fonksiyonunu kullanın
  • Bir NumPy dizi olarak küme etiketleri döndürür

15 yüksekliğinde yatay çizgili yakınlaştırılmış küme

Python'da Unsupervised Learning

fcluster ile küme etiketlerini çıkarma

from scipy.cluster.hierarchy import linkage
mergings = linkage(samples, method='complete')
from scipy.cluster.hierarchy import fcluster

labels = fcluster(mergings, 15, criterion='distance') print(labels)
[ 9  8 11 20  2  1 17 14 ... ]
Python'da Unsupervised Learning

Küme etiketlerini ülke adlarıyla hizalama

country_names adlı bir dize listesi verildiğinde:

import pandas as pd
pairs = pd.DataFrame({'labels': labels, 'countries': country_names})
print(pairs.sort_values('labels'))
               countries  labels
5                Belarus       1
40               Ukraine       1
...
36                 Spain       5
8               Bulgaria       6
19                Greece       6
10                Cyprus       6
28               Moldova       7
...
Python'da Unsupervised Learning

Hadi pratik yapalım!

Python'da Unsupervised Learning

Preparing Video For Download...