cluster2

Kümeleme (Clustering) Nedir? Kaç Kümeye Ayırmalı ?- #1

Kümeleme (Clustering):

Gözetimsiz öğreneme’nin (Unsupervised Learning) örneği olan kümelemede amaç veri setindeki öğeleri gruplara ayırmaktır. Örneğin;

• Müşterileri gruplara ayırma (İstanbul, Ankara, İzmir)

• Filmleri kategorilerine göre gruplandırma. (Bilim kurgu, dram, komedi vs.)

Kümelemenin sınıflandırmadan farkı gözetimsiz olmasıdır. Sınıflandırma da target (hedef) vardır. Verinin belirli kısmı eğitim(train) için bir kısmıda test için ayrılır. Tahminler eğitilen verilerden yapılır ve veri sınıflandırılmış olur.

** Kümeleme işlemine başlarken ilk önce kaç tane küme olacağına karar vermemiz gerekiyor. Bu işlemden sonra Centroid (küme merkezi) yerleri rastgele seçiliyor.

 

error
                Figure-1 :Cluster Sample

 Peki küme sayısına nasıl karar vercez?  😕

Bunun içinde  Within Clusters Sum of Square (WCSS – Kümeler İçi Kareler Toplamı) hesaplamak gerekiyor. Figure-1‘ de “X” centroid’ i  temsil ederken, etrafında dizelenmiş daireler de örneklerimizi (sample) gösteriyor.

Buna göre;

error = Centroid ve Sample arası mesafe

squaredError = error 2

WCSS squaredError

 

Mesafe ve Benzerlik Hesaplama 

 

uzaklık
                                        Figure 2: Uzaklık ve Benzerlik

Yandaki resimde mesafe hesaplama formulleri ve grafikleri gösterilmiştir. Kümeleme işleminde 2 tür mesafe hesaplama formulü vardır.Birisi hepimizin kullandığı Öklid, diğeri Manhattan distance. Manhattan Distance’da her örneğin koordinatına  bakılır. Her noktanın kendi X ve Y koordinatları arasındaki fark alınır. Bütün sonuçlar toplanarak mesafe hesaplanır. Bir de benzerlik durumu vardır. Gruplara ayırmak için kosinüs benzerliğinden faydalanılır. Kosinüs değeri -1 ve +1 arasında değişir. Bu yüzden tıpatıp benzerlikler (%100) +1 ise,  zıt benzerlik (%0) -1 diyebiliriz. Örneğin;

a =  Google arama motorunda en iyisidir.

b = İnsanlar Google üzerinden arama yapıyor.

c = [Google, Arama, Motorunda, En, İyisidir, İnsanlar, Üzerinden, Yapıyor]

a ve b vektörlerinde var olanları c vektörüne bakarak işaretliyelim.

a = [ 1, 1, 1, 1, 1, 0, 0, 0]

b = [ 0, 1, 0, 0, 0, 1, 1, 1]

 

c Google Arama Motorunda En İyisidir İnsanlar Üzerinden Yapıyor
a 1 1 1 1 1 0 0 0
b 0 1 0 0 0 1 1 1

 

Bu vektorlere göre yukarıdaki formulu kullanarak hesaplama işlemini yaparsak kosinüs benzerliklerini görmüş oluruz.

Mesafe hesaplama işlemin sonucunda k vs WCSS grafiği çizelim. (Yani k=1′ den n’ e kadar  gittiğinde WCSS’ de olan değişim grafiği)

 

elbow method
Figure 3: Elbow Method

 

Figure 3‘ e baktığımızda grafiğimiz 6 küme ve sonrasında stabil gitmeye başlamış.Demek ki değerim bu örnek için k = 6 olmalıdır.

Kaynaklar:

1 – https://www.quora.com/How-can-we-choose-a-good-K-for-K-means-clustering

2 – https://stackoverflow.com/questions/1746501/can-someone-give-an-example-of-cosine-similarity-in-a-very-simple-graphical-wa

 

 

0 Paylaşımlar
Kümeleme (Clustering) Nedir? Kaç Kümeye Ayırmalı ? ML#10
Kümeleme (Clustering) Nedir? Kaç Kümeye Ayırmalı ? ML#10
CSVeri