K-Means, DBSCAN ve hiyerarşik kümeleme
Elimizde binlerce müşteri verisi var ama hiçbir etiket yok. Kim VIP, kim risk altında? Kümeleme algoritmaları, etiket olmadan verinin doğal gruplarını keşfeden dedektiflerdir — veriyi konuşturur, gizli örüntüleri gün yüzüne çıkarır.
Denetimli öğrenmede bir öğretmen (etiket) vardır; model doğru cevabı öğrenir. **Denetimsiz…
🎨Boncuk Ayırma Analojisi
Masada karışık renk ve boyutlarda yüzlerce boncuk var. Kimse sana 'bu kırmızı, bu mavi' demedi. Ama sen benzer olanları gruplamaya başlıyorsun — büyük kırmızılar bir yanda, küçük maviler öbür yanda. İşte kümeleme tam olarak bu: **benzerliğe göre doğal gruplar** oluşturmak.
K-Means, en popüler kümeleme algoritmasıdır. Çalışma mantığı basit ama güçlüdür:…
Scikit-learn ile K-Means kümeleme
| 1 | from sklearn.cluster import KMeans |
| 2 | import numpy as np |
| 3 | |
| 4 | # Örnek veri: 100 nokta, 2 boyut |
| 5 | X = np.random.randn(100, 2) |
| 6 | |
| 7 | # 3 kümeye ayır |
| 8 | kmeans = KMeans(n_clusters=3, random_state=42) |
| 9 | kmeans.fit(X) |
| 10 | |
| 11 | print("Küme etiketleri:", kmeans.labels_[:10]) |
| 12 | print("Merkez noktalar:\n", kmeans.cluster_centers_) |
| 13 | print("Inertia (WCSS):", kmeans.inertia_) |
K-Means'in en zor sorusu: **Kaç küme?** İki popüler yöntem:…
Elbow method ile optimal k bulma
| 1 | import matplotlib.pyplot as plt |
| 2 | from sklearn.cluster import KMeans |
| 3 | |
| 4 | inertias = [] |
| 5 | K_range = range(1, 11) |
| 6 | |
| 7 | for k in K_range: |
| 8 | km = KMeans(n_clusters=k, random_state=42) |
| 9 | km.fit(X) |
| 10 | inertias.append(km.inertia_) |
| 11 | |
| 12 | plt.plot(K_range, inertias, 'bo-') |
| 13 | plt.xlabel('k (küme sayısı)') |
| 14 | plt.ylabel('Inertia (WCSS)') |
| 15 | plt.title('Elbow Method') |
| 16 | plt.show() # Dirsek noktasını bul! |
⚠️K-Means her zaman küresel (spherical) kümeler varsayar. Hilal şeklinde veya iç içe geçmiş kümeler varsa başarısız olur — bu durumda DBSCAN'e bakın.
DBSCAN, K-Means'in yapamadığını yapar: **düzensiz şekilli kümeleri** bulur ve **gürültü no…
K-Means
DBSCAN
Hiyerarşik kümeleme, kümeleri **ağaç yapısında** organize eder. En yaygın yaklaşım **agglo…
💡Birleşim stratejileri (linkage): 'ward' varyansı minimize eder, 'complete' maksimum uzaklığı kullanır, 'average' ortalama uzaklığı alır. Veri yapınıza göre deneyin!
Silhouette(i) = (b(i) - a(i)) / max(a(i), b(i))a(i): i noktasının kendi kümesindeki ortalama uzaklığı. b(i): en yakın diğer kümeye olan ortalama uzaklık. Değer 1'e yakınsa nokta doğru kümededir.
Kümeleme sonuçlarını değerlendirmek için etiket gerekmez:…
✦ Quiz
K-Means algoritmasında 'inertia' neyi ölçer?
✦ Quiz
Hilal şeklinde iki küme içeren veri seti için en uygun algoritma hangisidir?
✦ Quiz
Silhouette score değeri -0.2 ise bu ne anlama gelir?
ℹ️Kümeleme, keşifsel veri analizinin güçlü bir aracıdır. Müşteri segmentasyonu, görüntü sıkıştırma, anomali tespiti ve belge gruplandırma gibi pek çok alanda kullanılır. Sonraki adım: boyut indirgeme ile yüksek boyutlu veriyi görselleştirmek!
Bağlantılı Konular