Evaluasi Model Unsupervised Learning
Metode validasi dan evaluasi kualitas clustering: internal metrics, external metrics, stability analysis, dan best practices untuk model unsupervised learning
π½οΈ Slide Presentation
Gunakan tombol panah atau klik untuk navigasi slide. Tekan tombol fullscreen untuk tampilan layar penuh. Slide dapat diakses kapan saja untuk review materi.
π― Tujuan Pembelajaran
Setelah menyelesaikan pertemuan ini, mahasiswa diharapkan mampu:
- Memahami tantangan evaluasi model unsupervised learning (tidak ada ground truth labels)
- Mengimplementasikan internal validation metrics (Silhouette Score, Davies-Bouldin Index, Calinski-Harabasz)
- Menerapkan external validation metrics ketika ground truth tersedia (Rand Index, Adjusted Rand Index, NMI)
- Menggunakan Elbow Method dan Gap Statistic untuk menentukan jumlah cluster optimal
- Melakukan stability analysis dan cross-validation untuk clustering
- Menginterpretasi dan membandingkan hasil dari berbagai metrics
- Memilih metrics yang appropriate untuk konteks geofisika spesifik
- Mengidentifikasi dan menghindari common pitfalls dalam evaluasi clustering
π Internal Validation Metrics
Internal metrics mengevaluasi kualitas clustering berdasarkan data itu sendiri tanpa memerlukan ground truth labels. Metrics ini mengukur seberapa baik clusters terbentuk berdasarkan compactness (within-cluster similarity) dan separation (between-cluster dissimilarity).
Silhouette Score
Mengukur seberapa mirip suatu data point dengan cluster-nya sendiri dibanding cluster lain.
a(i) = avg distance dalam cluster, b(i) = avg distance ke cluster terdekat.
Davies-Bouldin Index
Rasio rata-rata similarity antara setiap cluster dengan cluster yang paling mirip dengannya. Mengukur average worst-case similarity.
Calinski-Harabasz Index
Variance ratio criterion: rasio between-cluster dispersion (SSB) terhadap within-cluster dispersion (SSW). Higher is better.
Inertia (WCSS)
Within-Cluster Sum of Squares. Total squared distance dari setiap point ke centroid cluster-nya. Digunakan dalam Elbow Method untuk K-Means.
Dunn Index
Rasio minimum inter-cluster distance terhadap maximum intra-cluster distance. Mengukur compact and well-separated clusters.
Gap Statistic
Membandingkan within-cluster dispersion dengan expected value dari null reference distribution. Optimal K = smallest k dimana Gap(k) β₯ Gap(k+1) - s_{k+1}.
- Tidak ada single best metric: Berbeda metrics bisa memberikan hasil berbeda untuk data yang sama
- Use multiple metrics: Kombinasikan beberapa metrics untuk validasi yang robust
- Domain knowledge: Interpretasi harus dikombinasikan dengan pemahaman geologis/geofisika
- Computational cost: Beberapa metrics (Gap Statistic, Dunn) expensive untuk large datasets
π External Validation Metrics
External metrics digunakan ketika ground truth labels tersedia (supervised evaluation of unsupervised learning). Berguna untuk:
- Validasi clustering terhadap known facies/lithology labels
- Benchmarking berbagai algoritma clustering
- Semi-supervised scenarios dalam geofisika
Rand Index (RI)
Mengukur similarity antara dua clustering (predicted vs true). TP = pairs correctly in same cluster, TN = pairs correctly in different clusters.
Adjusted Rand Index (ARI)
Adjusted untuk chance: mengkoreksi Rand Index terhadap random clustering. ARI = 0 untuk random clustering, ARI = 1 untuk perfect match.
Normalized Mutual Information
Mengukur mutual information antara cluster assignments, normalized by entropy. Information-theoretic measure of clustering similarity.
Fowlkes-Mallows Index
Geometric mean of precision and recall for pairwise comparisons. Balanced measure antara cluster purity dan completeness.
External metrics sangat berguna untuk:
- Validasi clustering well log terhadap core description atau petrophysical cutoffs
- Evaluasi seismic facies clustering dengan interpreted horizons atau well ties
- Benchmarking unsupervised methods terhadap supervised baselines
- Semi-supervised scenarios: partial labels dari few wells untuk validate clustering di area lain
π― Menentukan Jumlah Cluster Optimal
1. Elbow Method
Plot inertia (WCSS) vs number of clusters. Optimal K berada di "elbow" - titik dimana penambahan cluster tidak signifikan menurunkan inertia.
Pros: Simple, intuitive, computationally cheap
Cons: Subjective (elbow tidak selalu jelas), hanya untuk K-Means, tidak ada statistical test
2. Silhouette Analysis
Plot silhouette score untuk berbagai nilai K. Pilih K dengan silhouette score tertinggi. Silhouette plot per-cluster juga useful untuk identify poorly-separated clusters.
Pros: Quantitative, visual inspection of individual clusters, works for any distance-based algorithm
Cons: Computational cost O(nΒ²), assumes convex clusters
3. Gap Statistic
Membandingkan total within-cluster variation dengan expected value dari null reference distribution (uniform random data).
Pros: Statistical justification, formal test, tidak bergantung pada visual inspection
Cons: Computationally expensive (requires bootstrapping), sensitive to reference distribution choice
4. Domain Knowledge & Geological Context
Kombinasikan statistical metrics dengan geological understanding:
- Well log clustering: Expected number of facies dari stratigraphic interpretation
- Seismic facies: Number of seismic units dari sequence stratigraphy
- Reservoir zonation: Flow units dari core analysis atau RFT data
- Balance: Terlalu sedikit clusters β under-segmentation, terlalu banyak β noise/overfitting
βοΈ Perbandingan Metrics
| Metric | Type | Best Value | Computational Cost | Use Case |
|---|---|---|---|---|
| Silhouette Score | Internal | +1 (higher better) | O(nΒ²) | General purpose, any distance-based clustering |
| Davies-Bouldin | Internal | 0 (lower better) | O(nΒ·k) | Fast, good for K-Means, convex clusters |
| Calinski-Harabasz | Internal | β (higher better) | O(nΒ·k) | Fast, works well with K-Means |
| Inertia (WCSS) | Internal | 0 (lower better) | O(nΒ·k) | K-Means only, use with Elbow Method |
| Gap Statistic | Internal | Peak value | O(BΒ·nΒ·k) | Finding optimal K, statistical justification |
| Adjusted Rand Index | External | 1 (higher better) | O(n) | When ground truth available, benchmarking |
| NMI | External | 1 (higher better) | O(nΒ·k) | Information-theoretic, balanced measure |
β¨ Best Practices & Common Pitfalls
β Recommended Workflow
- Exploratory Analysis: Visualize data dengan PCA/t-SNE, understand inherent structure
- Determine K Range: Use domain knowledge untuk set realistic K range (e.g., K=2 to 10)
- Multiple Metrics: Compute Silhouette, Davies-Bouldin, Calinski-Harabasz untuk K range
- Visual Inspection: Plot metrics, look for consensus (berbagai metrics agree pada K tertentu)
- Stability Analysis: Run clustering multiple times dengan different initializations, check consistency
- Geological Validation: Interpret clusters dalam konteks geologi, verify dengan domain expert
- Cross-validation: Jika ada ground truth partial, use external metrics untuk validate
β οΈ Common Pitfalls to Avoid
- Over-reliance on single metric: Berbeda metrics bisa contradict - use multiple!
- Ignoring data characteristics: K-Means metrics assume spherical clusters - inappropriate untuk DBSCAN results
- Not scaling features: Metrics sensitive to feature scales - always standardize!
- Optimizing K to extreme: Very high K β overfitting to noise, very low K β under-segmentation
- Forgetting domain context: Metrics hanya tools - geological interpretation is key!
- Not checking stability: Single run bisa unstable - verify dengan multiple random seeds
- Comparing different algorithms unfairly: Use same metrics, same preprocessing, same data splits
π» Implementation Example
Contoh Python code untuk evaluate clustering menggunakan multiple metrics:
from sklearn.metrics import silhouette_score, davies_bouldin_score, calinski_harabasz_score from sklearn.cluster import KMeans import numpy as np # Evaluate clustering untuk range K results = [] K_range = range(2, 11) for k in K_range: kmeans = KMeans(n_clusters=k, random_state=42, n_init=10) labels = kmeans.fit_predict(X_scaled) # Compute metrics sil = silhouette_score(X_scaled, labels) db = davies_bouldin_score(X_scaled, labels) ch = calinski_harabasz_score(X_scaled, labels) inertia = kmeans.inertia_ results.append({ 'K': k, 'Silhouette': sil, 'Davies-Bouldin': db, 'Calinski-Harabasz': ch, 'Inertia': inertia }) print(f"K={k}: Sil={sil:.3f}, DB={db:.3f}, CH={ch:.1f}") # Find optimal K based on consensus # Higher Silhouette, Lower DB, Higher CH
Expected Output:
K=2: Sil=0.587, DB=0.842, CH=1024.3
K=3: Sil=0.631, DB=0.735, CH=1189.7
K=4: Sil=0.624, DB=0.698, CH=1256.4 β Optimal!
K=5: Sil=0.603, DB=0.742, CH=1198.2
...
π Referensi & Resources
Papers & Books:
- Rousseeuw, P. J. (1987). Silhouettes: A graphical aid to the interpretation of cluster analysis
- Davies, D. L., & Bouldin, D. W. (1979). A Cluster Separation Measure
- CaliΕski, T., & Harabasz, J. (1974). A dendrite method for cluster analysis
- Hubert, L., & Arabie, P. (1985). Comparing partitions (ARI paper)
Documentation:
Practice:
- π¬ Praktikum 03: Clustering dengan Validation Metrics
- π Apply multiple metrics pada South Barrow 18 well data
π Evaluasi
Tugas:
- Implement Praktikum 03 dengan menambahkan ALL validation metrics (Silhouette, DB, CH, Gap Statistic)
- Plot metrics vs K dan tentukan optimal K berdasarkan consensus
- Compare K-Means, Hierarchical, dan DBSCAN pada same dataset dengan same metrics
- Interpret hasil dalam konteks geological facies
- Write report: methodology, results, interpretation, limitations
Penilaian:
- Implementation correctness (30%)
- Proper use of multiple metrics (25%)
- Analysis & interpretation (25%)
- Geological validation (20%)