Hierarchical Clustering

Kategori: Machine Learning , 15 Aralık 2019 , JanFranco


Clustering algoritmalarından Hierarchical Clustering ile devam ediyoruz. Algoritmanın detaylarını Data Mining bölümümüzde anlattık ancak tekrar üstünden geçelim. Başlangıçta tüm veriler bir kümedir. Daha sonra birbirine en yakın noktalar ile ikili kümeler oluşturulur. Daha sonra belirlenen yönteme göre ikili kümeler birleştirilir. Birleştirilerek gidilen bu yolda, tek küme oluşana kadar durulmaz. Veriler arası mesafeler farklı mesafe metriklerine göre hesaplanılabilir.

Burada önemli olan noktalardan birisi şudur, kümeler arası mesafe nasıl ölçülecek? Örneğin iki küme var. Bu iki küme içerisinde de 100'er veri var. Toplamda 200 veri, 2 küme var yani. Burada 4 farklı yöntem mevcut. Birinci yöntem bu iki küme içerisinden, birbirine en yakın iki veri seçilip mesafenin ölçülmesi, ikinci yöntem ise aynı mantığın birbirine en uzak iki nokta seçilerek tekrarlanması. Üçüncü yöntem 100 verinin ortalaması alınarak (iki küme içinde) bulunan noktaların birbirine mesafesi. Dördüncüsü ise ward yöntemi. Ward yönteminde iki kümenin WCSS değerleri hesaplanır. Daha sonra oluşturulan yeni kümenin WCSS değeri hesaplanır ve tüm değerler toplanır. Python üzerinden görelim:


import pandas as pd
import matplotlib.pyplot as plt
import scipy.cluster.hierarchy as sch
from sklearn.cluster import AgglomerativeClustering

df = pd.read_csv('musteriler.csv')
x = df.iloc[:, [3, 4]].values
plt.scatter(x[:, 0], x[:, 1])
plt.show()
print(x)

hc = AgglomerativeClustering(n_clusters=3, affinity='euclidean', linkage='ward')
res = hc.fit_predict(x)
print(res)

plt.scatter(x[:, 0], x[:, 1], c=res)
plt.show()

dendrogram = sch.dendrogram(sch.linkage(x, method='ward'))
plt.show()
Hierarchical Clustering

Hierarchical Clustering

Hierarchical Clustering

Küme sayısı ile oynanabilir. Affinity ve linkage parametreleri ile oynanabilir. Yukarıda anlatmıştık. İlk resimde tüm verileri, ikinci resimde bölütleme sonrası oluşan kümeleri, üçüncü resimde ise dendrogramı görüyoruz.


Sonraki Yazı: Apriori
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın