AI Atlas
Başlangıç· ~2 dk okuma#clustering#unsupervised-learning#segmentation

Kümeleme

Clustering

Etiket olmadan, benzer örnekleri aynı gruba toplayan denetimsiz öğrenme tekniği — müşteri segmentasyonu, belge gruplama, anomali tespiti.

KÜMELEMEKüme 1Küme 2Küme 3Benzer örnekleri etiket olmadan otomatik gruplar.
Tanım

Kümeleme, benzer örnekleri yakın, farklı örnekleri uzak tutan grupları veriden otomatik olarak çıkarır. Hiçbir etiket bulunmaz; girdiyi sadece özelliklerine bakarak değerlendirir. "Şu üç kullanıcı grubu birbirine benziyor", "şu beş ürün aynı kümede" gibi yapısal cevaplar üretir.

Birden fazla aile vardır. Bölme tabanlı algoritmalar (K-means, K-medoids) küme sayısını sen verirsin, model her örneği en yakın merkeze atar. Hiyerarşik kümeleme (agglomerative, divisive) bir ağaç yapısı çıkarır; istediğin seviyede kesip kullanırsın. Yoğunluk tabanlı (DBSCAN, HDBSCAN) yoğun bölgeleri küme, seyrek bölgeleri gürültü olarak tanır — küme sayısını söylemen gerekmez. Grafik tabanlı (spectral clustering) ilişki ağındaki toplulukları bulur.

Kümelemenin başarısı çoğu zaman hangi algoritmanın seçildiğinden çok hangi özelliklerin kullanıldığına bağlıdır. "Doğru kümeleme" diye matematiksel bir kavram yoktur; iş bağlamına göre yorumlanır.

Benzetme

Bir müzik festivali düşün; 50.000 kişi alanda dolaşıyor. Drone yukarıdan baktığında bazı bölgelerde kalabalıklaşma görür: rock sahnesinin önünde kara takım, food court'ta aileler, ana giriş yakınında ilk gelenler. Kimse bu insanlara "siz aynı gruptasınız" dememiştir; konum, kıyafet, hareket örüntüsü onları doğal kümelere iter. Kümeleme algoritmaları drone'un yaptığını yapar — yapıyı ortaya çıkarır, kategorinin adını ona sen verirsin.

Gerçek dünyadan örnek

Bir akademik dergi 80.000 makale yayınlamış. Editörler "bunları konuya göre grupla" diye bir görev veriyor ama elle 80.000 özet okumak imkansız. Önce her makalenin özet metnini bir embedding'e dönüştürüyorsun (örneğin sentence-transformers ile), sonra HDBSCAN ile kümelemeyi çalıştırıyorsun.

Algoritma 47 küme buluyor. İçindekilere bakıldığında bir küme "kuantum hesaplama", bir başkası "iklim modelleme", başka biri "antibiyotik direnci" çıkıyor. Editörler kategori isimlerini veriyor, dergi sitesinde bir "konu haritası" yayınlanıyor. Etiket yoktu — yapı veriden çıktı, kullanıcı deneyimine değer eklendi.

Kod örnekleri
scikit-learn · K-means ve silhouettePython
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import silhouette_score
import numpy as np

X_scaled = StandardScaler().fit_transform(X)

# Doğru K'yi silhouette ile ara (büyük = daha iyi ayrılmış)
scores = []
for k in range(2, 9):
    km = KMeans(n_clusters=k, n_init=10, random_state=42)
    labels = km.fit_predict(X_scaled)
    scores.append((k, silhouette_score(X_scaled, labels)))

for k, s in scores:
    print(f"K={k}  silhouette={s:.3f}")

best_k = max(scores, key=lambda x: x[1])[0]
print(f"En iyi K: {best_k}")
Ne zaman kullan
  • Etiketsiz veride yapı keşfetmek istediğinde
  • Müşteri segmentasyonu, belge / ürün gruplama
  • Anomali tespiti — küçük, izole kümeler 'aykırı' olarak işaretlenir
  • Denetimli model için ön özellik çıkarma
Ne zaman kullanma
  • Net bir hedef etiketin varsa — sınıflandırma daha doğru sonuç verir
  • Çıktı yorumu otomatikleştirilemiyorsa ve insan zamanı yoksa
  • Veri çok az ya da çok benzer (kümelenmeyecek kadar tek tip)
Sık yapılan hatalar

Yanlış uzaklık metriği

K-means öklid uzaklığı kullanır; kategorik veri ya da metin embedding'leri için kosinüs benzerliği daha doğru olabilir. Veri tipiyle uyumsuz metrik anlamsız kümeler üretir.

Boyut laneti

Yüzlerce özellikli yüksek boyutlu uzayda 'uzaklık' kavramı bozulur. Önce PCA / UMAP ile boyut indirgeme yapmak çoğu zaman kümelemenin kalitesini katlar.

Tek bir K seçip durmak

Farklı K değerleri farklı iş hikâyeleri anlatır. Silhouette skoru, gap statistic, elbow yöntemi gibi araçlarla birden fazla K'yi karşılaştır; ürün ekibinden geri bildirim al.