Anasayfa / Makine Öğrenmesi (Machine Learning) / Kümeleme / Hiyerarşik Kümeleme / Hiyerarşik Kümeleme ve R ile Dendogram Çizmek

Hiyerarşik Kümeleme ve R ile Dendogram Çizmek

Bir önceki yazımızda hiyerarşik kümelemeden bahsetmiştik. Noktaları ve kümeleri birleştire birleştire tek büyük bir kümeye ulaşmıştık ve bu küme ne işimize yarayacak demiştik. Cevabı dendogramda saklı. Aslında hiyerarşik kümelemede belirlenen adımlar uygulanırken her hareket kaydediliyor ve dendogram oluşturuluyor. Bu yazımızda dendogram ne işe yarar, nasıl oluşturulur, nasıl okunur? sorularının cevabını R ile yapacağımız basit bir örnek ile bulmaya çalışacağız. Böylelikle hem dendogramı biraz daha iyi anlayacağız hem de hiyerarşik kümelemeyi pekiştireceğiz.

R ile basit bir örnek üzerinden anlatalım. x ve y adında 10 elemanlı iki liste oluşturalım. Liste elemanlarının alacağı değerleri 1-5 arasında sınırlayalım.

set.seed(123)
x = runif(10,1,5)
set.seed(100)
y = runif(10,1,5)

x ve y listelerini dataframe yapalım.

df = data.frame(x,y)

Saçılma diyagramını çizelim.

plot(df)

Dataframe’i görüntüleyelim.

view(df)

Öklid yöntemi ile mesafeleri ölçüp mesafeler matrisini oluşturalım.

mesafeler = dist(df,method = "euclidean")

Bu matris üzerinde hclust() fonksiyonunu kullanarak hiyerarşik kümeleme yapalım.

mesafeler.clust <- hclust(mesafeler,method = "ward.D")

Dendogramımızı çizelim.

plot(mesafeler.clust)

Yukarıdaki dendogramda Y ekseni mesafeyi gösteriyor. X ekseninde ise dataframde bulunan her bir satırı temsil eden rakamlar mevcut. Her rakam saçılma diyagramındaki bir nokta ve dataframe deki x,y niteliklerinden oluşuyor. Dendogramın bacakları nokta veya kümelere bakar, üst çizgisi ise bacaklarda bulunan nokta veya kümeler arasındaki mesafenin Y eksenindeki izdüşümüdür. Aşağıda 5-8 ve 2-4 noktaları (satırları) için izdüşüm ve mesafe matrisindeki değerlerini görebiliriz.


Peki dendogram bize küme sayısı hakkında bir fikir verir mi? Elbette. Zaten baktığınızda kafanızda birşeyler canlanıyordur. Dendogramda optimal küme sayısını bulmak için bacak kesme operasyonu yapmalıyız. Yatay bir çizginin (dendogram üst çizgileri) kesmediği en uzun bacaktan yatay bir çizgi çekilir. Bu yatay çizgi kaç farklı bacak kesmiş ise küme sayısı olarak kesilen bacak sayısını kullanabiliriz.


Sonuç olarak 1 ile 5 arasında rastgele oluşturduğumuz 10 noktayı hiyerarşik kümeleme kullanarak iki küme altında toplamış olduk. Veriyle kalın…

Hakkında Erkan ŞİRİN

2014'ten beri hem akademik alanda hem de sektörde pratik anlamda büyük veri ve veri bilimi ile ilgili çalışmalar yürütmektedir. Halihazırda İmpektra Bilişim A.Ş.'de büyük veri yöneticisi olarak çalışmakta olup aynı zamanda Gazi Üniversitesi Yönetim Bilişim Sistemleri doktora öğrencisidir. Büyük veri ve veri bilimi ile ilgili birçok kurum ve şirkete eğitimler vermekte ve projeler icra etmektedir. Çalışma alanları: büyük veri platformlarının kurulum ve yönetimi, büyük veri üzerinde makine öğrenmesi, olağan dışılık tespiti, sahtecilik tespiti, veri hazırlama sürecidir.

GÖZ ATMAK İSTEYEBİLİRSİNİZ

Plotly ve Dash İle Python’da Dashboard Geliştirmek

Herkese merhabalar! Bir veri bilimi projesini bitirdiğimizde sonuçları bir dashboard ile karşımızdakilere aktarmak en güçlü …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir