Clustering (Kümeleme (Clustering))

Etiketlenmemiş veri noktalarını iç benzerlik ilkelerine göre gruplandıran, denetimsiz öğrenmenin temel görevlerinden biri olan makine öğrenmesi tekniği.

Kümeleme (clustering), bir veri setindeki örnekleri önceden tanımlanmış etiketler kullanmadan, yalnızca verinin iç yapısına dayalı benzerlik ölçütlerine göre gruplara ayıran denetimsiz öğrenme tekniğidir. Her küme, üyeleri arasındaki mesafenin (veya başka bir benzerlik metriğinin) küme dışı noktalara göre daha küçük olduğu, homojen bir veri alt kümesidir. Kümeleme algoritmaları farklı geometrik varsayımlara dayanır; bu nedenle algoritma seçimi verinin şekline ve yoğunluğuna bağlıdır. K-Means, veriyi önceden belirtilen k merkeze (centroid) yakınlığa göre böler; kümelerin yaklaşık küresel ve eşit büyüklükte olduğu varsayımıyla çalışır. Hierarchical Clustering (hiyerarşik kümeleme), dendogram adı verilen ağaç yapısı üzerinden küme sayısına önceden karar vermeye gerek duymadan farklı granülerlikte kümeler sunar. DBSCAN (Density-Based Spatial Clustering of Applications with Noise) ise yoğunluk tabanlı çalışır; keyfi şekilli kümeleri bulabilir ve gürültü noktalarını aykırı değer olarak etiketler — bu özellik K-Means'e kıyasla önemli bir avantajdır. Küme kalitesini değerlendirmek için gerçek etiketler olmadan da kullanılabilen iç metrikler mevcuttur. Silhouette skoru, her noktanın kendi kümesine ne kadar yakın, komşu kümelere ne kadar uzak olduğunu -1 ile +1 arasında ölçer; yüksek skor iyi ayrışmış kümelere işaret eder. Davies-Bouldin indeksi ve Calinski-Harabasz skoru da benzer amaçla kullanılan yaygın metriklerdir. K-Means için en uygun k değerini bulmak amacıyla "dirsek yöntemi" (elbow method) ve silhouette analizi birlikte kullanılır. Pratik uygulamaları arasında müşteri segmentasyonu, belge sınıflandırma, anomali tespiti, görüntü renk nicemleme (color quantization), gen ifadesi analizi ve sosyal ağ topluluğu tespiti sayılabilir. Makine öğrenmesinde kümeleme ayrıca özellik mühendisliği aşamasında yeni değişkenler türetmek veya yarı-denetimli öğrenme için etiketleme maliyetini düşürmek amacıyla da kullanılır. Python'da scikit-learn kütüphanesi KMeans, DBSCAN, AgglomerativeClustering gibi tüm temel algoritmaları standart arayüzle sunar.

Kümeleme Nedir ve Neden Denetimsiz?

Kümeleme, veri noktalarını önceden tanımlanmış etiketler olmaksızın benzerlik ilkesine göre gruplayan denetimsiz öğrenme tekniğidir. Denetimli öğrenmede model önceden etiketlenmiş örneklerden öğrenirken, kümelemede bu lüks yoktur; algoritma verinin kendi iç yapısını keşfeder. Bu özellik kümelemeyi yeni ve keşfedilmemiş veri setleri için çok değerli kılar: herhangi bir etiketleme maliyeti veya ön bilgi gerektirmeden verinin doğal gruplarını ortaya çıkarır. Müşteri segmentasyonunda pazarlama bütçesi olmayan şirketlerden genomik araştırmalara kadar geniş uygulama yelpazesi bu nedenle oluşmuştur.

K-Means: Centroid Tabanlı Kümeleme

K-Means, en yaygın kullanılan kümeleme algoritmasıdır. Kullanıcı k küme sayısını önceden belirtir; algoritma k merkez noktası (centroid) ile başlar ve iki adımı yakınsayana kadar tekrarlar: (1) Her veri noktasını en yakın centroid'e atar; (2) Her kümenin yeni centroid'ini üyelerinin ortalaması olarak günceller. Algoritmanın zayıf yanı küresel ve eşit büyüklükte kümeler varsaymasıdır; uzun elips şekilli veya yoğunluk değişkenli kümelerde başarısız olabilir. En uygun k değeri için dirsek yöntemi (küme içi varyansın k'ya göre grafiği) veya silhouette analizi kullanılır.

DBSCAN: Yoğunluk Tabanlı Kümeleme

DBSCAN (Density-Based Spatial Clustering of Applications with Noise), iki hiperparametre ile çalışır: epsilon (komşuluk yarıçapı) ve min_samples (çekirdek nokta için minimum komşu sayısı). Bir nokta epsilon yarıçapı içinde en az min_samples komşuya sahipse "çekirdek nokta" olur; yeterince komşusu olmayan noktalar gürültü (outlier) olarak etiketlenir. K-Means'ten kritik farkı: küme sayısını önceden belirtmek gerekmez ve keyfi şekilli kümeleri bulabilir. Gürültü toleransı anomali tespiti için özellikle değerlidir. Dezavantajı ise farklı yoğunluktaki kümelerde zorlanmasıdır.

Küme Kalitesini Ölçmek: İç Metrikler

Gerçek etiketler olmadan küme kalitesini değerlendirmek için iç metrikler kullanılır. Silhouette skoru, her noktanın kendi kümesi içindeki ortalama mesafesini (a) ile en yakın komşu kümeye olan ortalama mesafesini (b) karşılaştırır: (b-a)/max(a,b). Skor +1'e yakınsa nokta doğru kümede; 0 ise sınırda; negatifse yanlış kümede demektir. Davies-Bouldin indeksi küme içi yayılımı küme arası mesafeye böler — daha düşük değer daha iyi kümelemeyi gösterir. Calinski-Harabasz ise küme arası varyansı küme içi varyansa oranlar; yüksek değer iyidir.

Sık Sorulan Sorular

  • check_circle K-Means için kaç küme seçmeliyim?: Dirsek yöntemi (elbow method) en yaygın yaklaşımdır: k değerine göre küme içi kareli hataların toplamı (WCSS) grafiğe dökülür ve eğrinin "dirsek" yaptığı nokta optimal k olarak seçilir. Silhouette analizi daha güvenilir bir alternatiftir: farklı k değerleri için ortalama silhouette skoru hesaplanır ve en yüksek skor en iyi k değerini verir. Pratik öneri: her iki yöntemi birlikte kullanmak.
  • check_circle K-Means mi, DBSCAN mı kullanmalıyım?: Kümeler yaklaşık küresel ve benzer büyüklükteyse K-Means tercih edilir; hızlı ve yorumlanabilirdir. Kümeler farklı şekil ve yoğunluktaysa veya outlier tespiti önemliyse DBSCAN daha uygundur. Yüksek boyutlu veride (>50 özellik) her iki algoritma da zorlanabilir; önce PCA veya UMAP ile boyut indirgeme yapılması önerilir.
  • check_circle Kümeleme sınıflandırma ile aynı şey mi?: Hayır. Sınıflandırma denetimli öğrenmedir: model önceden etiketlenmiş veriden öğrenir ve yeni örnekleri bu etiketlere göre sınıflandırır. Kümeleme denetimsizdir: etiket yoktur, model verinin kendi yapısını keşfeder. Kümeleme çıktısı genellikle sınıflandırma için ön adım olarak kullanılabilir (yarı-denetimli öğrenme).
  • check_circle Kümeleme nasıl müşteri segmentasyonunda kullanılır?: Müşteri verileri (satın alma sıklığı, ortalama sepet tutarı, demografik bilgiler) normalize edildikten sonra K-Means veya hiyerarşik kümelemeye verilir. Her küme, benzer davranış örüntüsüne sahip müşteri grubunu temsil eder — örneğin "düşük bütçeli sık alışveriş yapanlar" vs "yüksek değerli az sıklıkta alışveriş yapanlar". Bu segmentler farklı pazarlama stratejilerine rehberlik eder.
  • check_circle Python ile kümeleme nasıl yapılır?: scikit-learn ile birkaç satırda: from sklearn.cluster import KMeans; kmeans = KMeans(n_clusters=5, random_state=42); labels = kmeans.fit_predict(X). DBSCAN için: from sklearn.cluster import DBSCAN; db = DBSCAN(eps=0.5, min_samples=10); labels = db.fit_predict(X). Silhouette skoru için: from sklearn.metrics import silhouette_score; score = silhouette_score(X, labels). Standart arayüz sayesinde algoritmalar kolayca değiştirilebilir.