Ana içeriğe atla

Python - Hiyerarşik Kümeleme

Hiyerarşik kümeleme adındanda anlaşılacağı üzere bir kümeleme algoritmasıdır. Agglomerative ( Parçadan bütüne ) ve Divisive ( Bütünden parçaya ) olarak iki farklı varyasyonu vardır. Agglomerative varyasyonunu anlatmaya çalışırsak ilk önce tüm veriler bir küme haline getirilir yani N tane eleman varsa N tane küme oluşur. Daha sonra birbirine mesafe olarak yakın olan kümeler birleşerek yeni bir küme oluşturur. Bu durum sistem kararlı oluncaya kadar devam eder. Divisive ise Agglomerative’ in tam tersidir. İlk başta tüm veriler tek bir küme oluşturulur. Daha sonra bu küme parçalanarak kümeleme işlemi yapılır.

Aşağıdaki grafikte eyaletlerin 4 ana kümeye ayrıldığını ve bunların da kendi içinde ayrıldığını görüyoruz. 


Birleştirici kümeleme yönetiminin adımları aşağıdaki gibidir.


Bölümleyici kümeleme yönetiminin adımları aşağıdaki gibidir.


Hiyerarşik yöntemlerle diğer yöntemlerin karşılaştırması aşağıdaki gibidir.


Hiyerarşik kümeleme analizinde en önemli husus küme sayısına dendogram çıktısına bakarak karar verilmesidir.

Dendrogram, benzer veri kümeleri arasındaki ilişkileri veya hiyerarşik kümelenmeyi gösteren bir ağaç diyagramıdır. Kaç tane küme oluşturacağımız bilgisini verir. En uzun bacaktan çizilen yatay çizgi küme sayısını verir.


Analizimde yine USArrest verisini kullanacağım. İlk olarak veri setimi çağırdıktan sonra gerekli modülleri indiriyorum.


Küme sayısına dendogram grafiğini yorumlayarak karar vereceğim için önce dendongram grafiğini çiziyorum. Yeşiller bir kümeyi, kırmızılar ise diğer kümeyi temsil etmektedir.


Görselde hepsini görmek istemiyorum, yani alt bileşenleri görmek istemiyorum sadece 2 ana kümeyi görmek istiyorum. P=4 yani küme sayım 4 olsun diyorum.


Şimdi optimum küme sayısını belirleme kısmına geçiyorum. Bunun için birleştirici kümeleme yapacağım. Burada küme sayım 4 olsun diyorum. Sonuç olarak her bir gözlem biriminin ait olduğu kümeyi görüyorum.


Son olarak gözlem birimlerinin ait olduğu küme bilgisini data frame olarak tanımlayarak veri setimin içinde yeni bir sütunda (değişken olarak) yer vererek analizimi bitiriyorum.


Yorumlar