Mengungkap Pola Tersembunyi: Analisis Mendalam Teknik Clustering dalam Data Mining Modern

Dipublikasikan oleh Guard Ganesia Wahyuwidayat

09 Desember 2025, 13.13

1. Pendahuluan

Ketika membahas data mining, salah satu tantangan terbesar bukan hanya mengolah data, tetapi menemukan struktur tersembunyi yang mungkin tidak terpikirkan sebelumnya. Pada banyak konteks bisnis maupun riset, pola ini tidak diumumkan secara eksplisit melalui label atau kategori. Ia justru muncul sebagai sinyal samar yang harus ditangkap dengan algoritma yang tepat. Di area inilah teknik clustering memainkan peran sentral—mengelompokkan objek berdasarkan kedekatan karakteristik tanpa mengetahui jawabannya sejak awal.

Perkembangan praktik analitik yang semakin kompleks membuat kebutuhan akan pemahaman jenis-jenis similarity, ukuran jarak, dan pemilihan jumlah cluster menjadi lebih penting dibanding beberapa tahun lalu. Pendekatan lama seperti K-Means masih dominan karena efisiensi dan kesederhanaannya, tetapi di banyak kasus dunia nyata, bentuk data yang tidak beraturan menuntut pendekatan yang lebih adaptif seperti hierarchical clustering atau bahkan metode densitas. Dalam kursus yang menjadi sumber landasan pembahasan ini, konsep-konsep tersebut dijelaskan secara rinci—termasuk bagaimana R digunakan sebagai alat eksplorasi yang efisien.

Dengan memahami inti dari proses pengelompokan, kita bisa menangkap dinamika yang tidak terlihat: bagaimana pelanggan membentuk segmen alami, bagaimana pola penyakit menunjukkan kemiripan antar pasien, atau bagaimana fenomena sosial dapat dibagi ke dalam pola yang lebih kecil. Resensi analitis ini mencoba menguraikan gagasan-gagasan dalam kursus tersebut, sekaligus memperluasnya melalui contoh, interpretasi praktis, dan evaluasi kritis. Fokusnya bukan sekadar “apa itu clustering”, tetapi bagaimana metode tersebut bekerja, kapan ia relevan, dan apa implikasinya dalam praktik data mining modern.

 

2. Dasar Pemodelan Clustering & Logika Similarity

2.1. Prinsip Pengelompokan: Dari Kemiripan ke Struktur

Inti dari semua metode clustering berangkat dari satu gagasan: objek dianggap berada dalam satu kelompok ketika mereka lebih “mirip” satu sama lain daripada dengan objek kelompok lain. Dalam kelas, kemiripan (similarity) dan ketidakmiripan (dissimilarity) dibahas sebagai fondasi matematis yang tidak bisa dihindari. Kesalahan memahami bagian ini biasanya berakibat fatal pada tahap pemodelan.

Similarity dapat dipandang dari dua sisi:

  • Similarity tinggi → jarak objek kecil → objek cenderung satu cluster

  • Similarity rendah → jarak objek besar → objek cenderung berada pada cluster berbeda

Beberapa ukuran yang dijelaskan di materi kursus memperlihatkan bahwa similarity tidak hanya sebuah bilangan; ia adalah paradigma.

Cosine Similarity sebagai Representasi Arah

Cosine similarity menilai kemiripan berdasarkan sudut antar vektor. Ketika sudut mengecil dan nilai cosine mendekati 1, objek dianggap sangat mirip. Pendekatan ini unggul dalam kasus berbasis frekuensi atau intensitas, seperti text mining atau data perilaku yang berdimensi tinggi. Penjelasan dalam kursus memperlihatkan bagaimana sudut 0° menandakan overlap, sedangkan 90° menandakan ketidakmiripan penuh.

Dalam praktik, cosine similarity berguna untuk:

  • segmentasi pelanggan berdasarkan pola pembelian,

  • analisis dokumen,

  • pengelompokan mahasiswa berdasarkan preferensi akademik.

Keunggulan utamanya adalah tidak bergantung pada besaran absolute, melainkan pola relatif antar fitur—suatu hal yang sering luput dari analisis pemula.

Korelasi dan Kovarian sebagai Alternatif Kemiripan

Materi kursus juga memperlihatkan bahwa korelasi dapat digunakan sebagai ukuran similarity. Dua objek yang memiliki korelasi mendekati +1 menunjukkan arah perubahan yang konsisten. Walau bukan ukuran jarak secara langsung, korelasi membantu untuk kasus ketika pola perubahan lebih penting daripada nilai absolutnya—misalnya dalam analisis ekonomi atau time-series.

Namun, pendekatan ini sensitif terhadap nilai ekstrem dan perbedaan varians. Karena itu, ia jarang digunakan sebagai ukuran tunggal tanpa normalisasi.

2.2. Ukuran Jarak dan Implikasinya terhadap Bentuk Cluster

Berbeda dengan cosine similarity, ukuran jarak (distance metrics) menilai seberapa jauh objek secara geometris. Kursus menyoroti beberapa metrik yang paling sering digunakan:

(1) Euclidean Distance

Formula klasik pythagoras yang menghitung jarak lurus antar titik. Mayoritas algoritma clustering, terutama K-Means, menggunakan Euclidean karena:

  • sederhana,

  • intuitif,

  • efisien dihitung,

  • stabil untuk data yang terstandarisasi.

Namun Euclidean buruk untuk data yang tidak distandarkan atau memiliki skala berbeda. Satu variabel dengan rentang besar dapat mendominasi keseluruhan struktur cluster, sehingga preprocessing sangat berpengaruh.

(2) Manhattan Distance

Menggunakan penjumlahan absolut per dimensi, Manhattan distance memberikan hasil berbeda ketika struktur data lebih “grid-like” atau memiliki banyak variabel kategorikal. Jarak ini sering lebih besar daripada Euclidean, sehingga sensitif terhadap perbedaan kecil pada tiap variabel.

Materi kursus langsung menyebut analogi “city block”—pendekatan ini selaras untuk kasus navigasi atau sistem skoring sederhana seperti kuesioner.

(3) Maximum Distance (Chebyshev / L∞)

Mengambil selisih terbesar antar dimensi, metrik ini menekankan variabel dominan. Ia cocok untuk kasus di mana satu fitur krusial lebih menentukan cluster dibanding fitur lainnya.

Implikasi Praktis

Pemilihan metrik jarak dapat mengubah struktur cluster secara signifikan. Dua data yang “tampak sama” di Euclidean bisa berbeda total di Manhattan. Karena itu materi kursus menekankan percobaan berulang: clustering bukan keputusan satu langkah, melainkan proses iteratif yang menuntut eksplorasi.

2.3. Supervised vs Unsupervised: Ruang Belajar yang Berbeda

Kursus memberikan penjelasan jernih mengenai perbedaan supervise dan unsupervised. Clustering berada pada kategori unsupervised, karena tidak ada label sebelum proses dimulai. Tidak ada training–testing split; tidak ada target variabel. Algoritma mempelajari struktur internal data berdasarkan jarak dan kemiripan.

Perbedaan ini penting secara praktis:

  • Pada supervised learning, performa diukur dengan akurasi atau error.

  • Pada clustering, performa dievaluasi dengan ukuran seperti SSE, silhouette, atau cohesion–separation.

Kesalahan umum yang sering dibuat pemula adalah mencoba “membandingkan hasil cluster dengan label benar”, padahal cluster idealnya tidak memakai label sama sekali. Label hanya digunakan jika ingin melakukan validasi silang atau memeriksa apakah pola cluster selaras dengan kategori yang sudah ada.

2.4. Dua Pendekatan Besar: Partitioning dan Hierarchical

Kursus menggarisbawahi dua keluarga metode clustering yang paling relevan:

(a) Partitioning Methods (misalnya K-Means)

Mengharuskan kita menentukan jumlah cluster sejak awal (pre-defined K). Setelah itu algoritma bergerak iteratif:

  1. Menentukan pusat awal (centroid).

  2. Mengalokasikan objek ke centroid terdekat.

  3. Menghitung ulang centroid baru.

  4. Mengulangi hingga tidak ada perubahan.

Pendekatan ini efisien dan skalabel, tetapi sangat bergantung pada titik awal. Dalam data besar, pemilihan centroid awal bisa memengaruhi struktur akhir secara drastis.

(b) Hierarchical Methods (Agglomerative & Divisive)

Tidak perlu menentukan jumlah cluster di awal. Algoritma membangun dendrogram:

  • Agglomerative → mulai dari setiap objek sebagai cluster tunggal.

  • Divisive → mulai dari satu cluster besar, lalu dipecah.

Hasilnya berupa struktur pohon yang dapat “dipotong” pada level tertentu untuk mendapatkan jumlah cluster yang diinginkan. Teknik ini sangat informatif ketika kita ingin memahami bagaimana objek bergabung atau terpisah seiring perubahan threshold jarak.

 

3 — Mekanisme Algoritmik & Tantangan Teknis dalam Implementasi

3.1. K-Means: Logika Iteratif dan Sensitivitasnya

K-Means merupakan metode paling populer dalam partitioning clustering karena kepraktisannya. Namun, di balik kesederhanaannya terdapat sejumlah mekanisme yang sering disalahpahami. Kursus menjelaskan langkah-langkah iteratifnya secara matematis, terutama bagaimana pusat cluster (centroid) diperbarui berdasarkan rata-rata objek dalam cluster.

Tahapan dasarnya:

  1. Tentukan jumlah cluster (K).

  2. Tentukan pusat awal secara acak atau dengan pendekatan heuristik.

  3. Hitung jarak tiap objek ke setiap pusat.

  4. Kelompokkan objek ke pusat terdekat.

  5. Hitung ulang pusat berdasarkan anggota cluster.

  6. Ulangi hingga pusat stabil atau perubahan sangat kecil.

Secara praktis, kekuatan K-Means justru terletak pada konvergensinya yang cepat. Namun, kursus menyoroti masalah klasik: solusi K-Means hanya optimal secara lokal, bukan global. Artinya, dua pemilihan titik awal berbeda dapat menghasilkan struktur cluster yang benar-benar tidak sama. Fenomena ini sering dijumpai pada data berdimensi tinggi atau data yang memiliki pola non-linear.

Kelemahan lain adalah sensitivitas terhadap outlier. Karena menggunakan rata-rata untuk menentukan pusat, satu titik ekstrem dapat menggeser centroid dan menyebabkan anggota cluster berpindah secara tidak natural. Implikasi ini penting untuk data operasional seperti transaksi bank atau pengukuran sensor, di mana noise sering muncul.

3.2. Variasi K-Means: Dari K-Medoids hingga K-Means++

Materi kursus menyinggung variasi seperti penggunaan median untuk mengurangi pengaruh outlier. Penerapannya dapat dilihat pada algoritma K-Medoids, yang memilih titik representatif (medoid) dari anggota cluster, bukan rata-rata.

Pendekatan ini lebih stabil terhadap noise karena pusat cluster tidak melayang mengikuti titik ekstrem. Walaupun lebih mahal secara komputasi, K-Medoids memberikan hasil yang lebih konsisten pada data yang tidak terdistribusi normal atau mengandung disturbed values.

Sementara itu, pendekatan modern seperti K-Means++ mencoba mengatasi masalah pemilihan titik awal. Ia memilih centroid awal berdasarkan probabilitas yang memperbesar peluang titik-titik dengan jarak tinggi untuk menjadi pusat. Banyak penelitian menunjukkan bahwa metode ini secara signifikan mengurangi risiko hasil buruk, terutama dalam dataset besar.

3.3. SSE (Sum of Squared Error) sebagai Ukuran Kohesi

Kursus menekankan penggunaan SSE sebagai salah satu indikator kualitas cluster. SSE mengukur seberapa dekat objek terhadap pusat cluster:

  • SSE rendah → objek dalam cluster sangat mirip

  • SSE tinggi → cluster kurang kohesif atau terlalu menyebar

Penurunan SSE tahap demi tahap menunjukkan proses konvergensi K-Means. Namun, SSE selalu turun ketika jumlah cluster bertambah, sehingga ukuran ini tidak cocok untuk menentukan jumlah cluster terbaik. Di sinilah teknik seperti elbow digunakan.

3.4. Silhouette Score: Mengukur Kualitas secara Internal

Silhouette memberikan gambaran tidak hanya tentang seberapa dekat objek terhadap cluster-nya, tetapi juga seberapa jauh ia dari cluster terdekat lainnya. Dengan nilai berkisar -1 hingga 1, silhouette menilai dua aspek:

  • Cohesion → kedekatan objek dengan cluster-nya

  • Separation → jarak dari cluster lain

Nilai mendekati 1 menunjukkan cluster yang kompak dan terpisah jelas. Nilai negatif mengindikasikan objek berada di cluster yang salah.

Penekanan dalam kursus pada interpretasi silhouette membantu memahami bahwa cluster tidak hanya dinilai berdasarkan bentuk geometris, tetapi juga berdasarkan hubungan antar cluster.

3.5. Penentuan Jumlah Cluster: Elbow dan Tantangan Interpretasi

Elbow technique menjadi tools populer karena visual dan intuitif. Dengan memplot K melawan SSE, titik “tekukan” menunjukkan jumlah cluster optimal: ketika penambahan cluster tidak lagi mengurangi SSE secara signifikan.

Namun, kursus menunjukkan bahwa dalam dataset nyata, elbow tidak selalu jelas. Terkadang kurva cenderung halus sehingga sulit menentukan “tekukan”. Dalam kondisi seperti itu, pendekatan tambahan seperti silhouette, gap statistic, atau bahkan masukan domain expert dibutuhkan agar jumlah cluster tidak ditentukan secara sembarangan.

 

4. Hierarchical Clustering & Power-nya dalam Struktur Data yang Kompleks

4.1. Logika Agglomerative: Membangun Cluster dari Dasar

Hierarchical clustering memberikan perspektif berbeda dari partitioning. Pendekatan agglomerative memulai proses dengan menganggap setiap objek sebagai cluster tunggal. Setelah itu, dua objek paling mirip digabung. Proses ini dilanjutkan hingga seluruh objek menyatu dalam satu cluster besar.

Kursus memberikan contoh perhitungan jarak antar objek yang ditampilkan secara detail, memberi gambaran bahwa algoritma ini lebih intensif secara komputasi. Namun keunggulannya jelas: tidak perlu menentukan jumlah cluster di awal. Struktur cluster terlihat dari dendrogram—pohon yang mencerminkan perjalanan objek dari individu hingga kolektif.

Keunggulan hirarki yang tidak terlalu disadari banyak praktisi:

  • memberikan fleksibilitas jumlah cluster,

  • memperlihatkan hubungan visual antar objek,

  • dapat menunjukkan anomaly atau outlier secara intuitif.

4.2. Linkage: Pilihan yang Menentukan Bentuk Cluster

Kursus menekankan empat linkage utama:

  1. Single Linkage → menggunakan jarak terdekat

    • Menghasilkan cluster memanjang (chaining effect)

    • Cocok untuk mendeteksi pola linear

  2. Complete Linkage → menggunakan jarak terjauh

    • Menghasilkan cluster kompak

    • Baik untuk pola yang jelas terpisah

  3. Average Linkage → rata-rata jarak

    • Seimbang dan stabil

    • Cocok untuk data sosial atau pemasaran

  4. Centroid Linkage → menggunakan pusat cluster

    • Hemat komputasi, tetapi dapat menciptakan anomali tertentu pada data asimetris

Linkage adalah faktor penentu bentuk cluster, sama pentingnya dengan pemilihan metrik jarak. Dua linkage berbeda pada dataset identik bisa menghasilkan struktur cluster yang berbeda pula.

4.3. Kekuatan Dendrogram: Membaca Jejak Evolusi Cluster

Dendrogram bukan sekadar gambar; ia adalah representasi proses penggabungan cluster. Dengan memotong dendrogram pada ketinggian tertentu, jumlah cluster dapat ditentukan secara fleksibel. Pendekatan ini sangat bermanfaat ketika:

  • data memiliki struktur bertingkat,

  • cluster saling bertumpuk,

  • kita ingin eksplorasi pola tanpa asumsi awal.

Materi kursus menunjukkan bahwa hierarchical clustering dapat memberi hasil berbeda dengan K-Means dalam dataset yang sama (misalnya IRIS). Hal ini menunjukkan bahwa struktur cluster tidak tunggal; ia tergantung pada asumsi dan mekanisme algoritma.

4.4. Keterbatasan Hierarki

Walaupun kuat, hierarchical clustering memiliki beberapa keterbatasan praktis:

  • tidak dapat “mengulang” langkah yang salah (once merged, always merged),

  • sensitif terhadap noise,

  • boros komputasi pada dataset besar.

Namun dalam konteks eksplorasi data, hierarchical clustering sering menjadi alat pertama untuk memetakan struktur sebelum memilih metode yang lebih efisien.

5. Analisis Kritis, Studi Kasus, dan Implikasi Praktis

5.1. Keandalan Metode: Kapan K-Means Tepat dan Kapan Tidak

Dalam praktik industri, efektivitas algoritma sangat dipengaruhi oleh bentuk distribusi data. K-Means bekerja optimal bila cluster bersifat cembung, terpisah rapi, dan memiliki varians yang relatif seragam. Masalah muncul ketika data memiliki bentuk kompleks, pola melengkung, distribusi panjang, atau kombinasi variabel yang tidak linear.

Kursus mengingatkan bahwa K-Means memaksa data mengikuti bentuk cluster berbasis centroid. Karena itu, pola seperti “dua kelompok memanjang yang saling melingkar” atau “cluster berbentuk cekungan” sering gagal dipisahkan secara benar. Dalam kasus seperti itu, hierarchical clustering atau density-based methods akan jauh lebih relevan.

Kelebihan K-Means:

  • cepat dan efisien untuk dataset besar;

  • mudah dipahami oleh tim bisnis;

  • cocok untuk data yang telah dinormalisasi dengan baik.

Kelemahannya:

  • gagal mendeteksi bentuk cluster kompleks;

  • sensitif terhadap outlier;

  • bergantung pada nilai K yang harus ditentukan di awal.

5.2. Studi Kasus: Segmentasi Pelanggan Bank

Salah satu contoh nyata yang diperkenalkan dalam kursus adalah segmentasi pelanggan bank. Dengan memanfaatkan atribut seperti pendapatan, penggunaan kartu kredit, dan pola transaksi, perusahaan dapat mengelompokkan nasabah ke segmen yang lebih efisien.

Misalnya tiga pola umum:

  • Segmen High Value: pendapatan besar, aktivitas transaksi tinggi, risiko rendah.

  • Segmen Middle Income: pendapatan sedang, preferensi transaksi beragam.

  • Segmen Low Income atau Subsisten: aktivitas rendah, cenderung membutuhkan produk proteksi atau bantuan finansial.

Penerapan clustering membantu bank merancang strategi pemasaran berbasis profil. Namun, studi kasus semacam ini menunjukkan pula tantangan: cluster bisa tidak stabil ketika data diperbarui secara berkala. Karena itu, organisasi harus menetapkan jadwal retraining agar struktur cluster tetap relevan dengan perubahan perilaku pelanggan.

5.3. Studi Kasus: Pengelompokan Mahasiswa Berdasarkan Variabel Multivariat

Kursus juga mencontohkan bagaimana pengelompokan mahasiswa dapat dilakukan berdasarkan IP, asal sekolah, uang saku, hingga lokasi tempat tinggal. Ini memperlihatkan sifat multivariat clustering, di mana setiap variabel menyumbang informasi kemiripan.

Dalam konteks akademik, hasil cluster dapat digunakan untuk:

  • memetakan kelompok mahasiswa yang butuh intervensi akademik,

  • merancang program pembinaan berbasis segmen,

  • memprediksi pola keberhasilan belajar.

Tetapi adanya variabel heterogen (angka, kategori, skala Likert) menuntut metode jarak yang lebih sesuai seperti Gower distance atau Hamming distance—sebuah hal yang juga disinggung pada sesi tanya jawab dalam kursus.

5.4. Hierarchical Clustering dalam Analisis Pola Visual

Hierarchical clustering memberikan nilai lebih ketika diperlukan pemahaman pola secara visual. Dendrogram tidak hanya memberikan jumlah cluster, tetapi juga memberikan gambaran evolusi cluster: objek mana yang “rapat” sejak awal dan mana yang baru bergabung belakangan.

Misalnya pada data IRIS:

  • Kelas setosa terlihat kompak dan terpisah sangat jelas.

  • Versicolor dan virginica memperlihatkan area tumpang tindih, terutama ketika linkage yang digunakan kurang sesuai.

Kondisi ini mengilustrasikan realitas: cluster tidak selalu sesuai dengan label alami. Dua kelas biologis bisa tampak samar di ruang fitur tertentu. Hierarchical clustering membantu mengungkap ambiguitas tersebut secara visual, yang mungkin akan sulit terlihat dengan metode lain.

5.5. Menakar Metode: Kombinasi untuk Keputusan Lebih Akurat

Analisis kritis dari kursus memperlihatkan pentingnya kombinasi pendekatan. Dalam tahap eksplorasi, hierarchical clustering digunakan untuk memahami struktur keseluruhan. Setelah pola konsisten ditemukan, K-Means diterapkan untuk efisiensi dan skalabilitas.

Pendekatan hybrid ini sering menjadi strategi ideal:

  1. lakukan hierarchical clustering untuk mendapatkan gambaran global,

  2. tentukan jumlah cluster dari dendrogram,

  3. gunakan nilai tersebut sebagai input K pada K-Means,

  4. gunakan centroid dari dendrogram sebagai posisi awal K-Means (mirip prinsip K-Means++).

Strategi ini mengurangi sensitivitas K-Means terhadap inisialisasi dan memberi hasil lebih stabil.

5.6. Tantangan Data Nyata: Noise, Outlier, dan Variabel yang Tak Seimbang

Dataset hasil operasi lapangan jarang bersih. Adanya noise, outlier, data hilang, atau variabel dengan rentang tak seimbang dapat menurunkan kualitas cluster secara drastis.

Dari materi kursus, terlihat beberapa pola masalah umum di lapangan:

  • cluster tampak tumpang tindih akibat skala variabel berbeda,

  • outlier menarik centroid sehingga mengubah konfigurasi cluster,

  • data kategori sulit diolah dengan jarak Euclidean,

  • bentuk cluster tidak cocok dengan asumsi centroid-based.

Pemahaman ini penting agar praktisi tidak sekadar “menjalankan algorithm clustering”, tetapi memahami kapan algoritma tersebut valid dan kapan perlu diganti.

 

6. Kesimpulan

Pemahaman tentang clustering bukan hanya sekadar mengenal algoritma, tetapi memahami cara data membentuk pola. Materi kursus memberikan landasan kuat mengenai bagaimana similarity, distance metrics, metode partitioning, hierarchical clustering, serta evaluasi cluster saling berkaitan dalam membangun struktur informasi yang tidak terlihat secara langsung.

K-Means menawarkan kecepatan dan kesederhanaan, cocok untuk situasi operasional yang membutuhkan efisiensi. Hierarchical clustering memberikan kedalaman interpretasi, membantu pemahaman pola yang bertingkat. Evaluasi seperti SSE, silhouette, dan interpretasi dendrogram membantu memastikan cluster tidak dibangun sembarangan, tetapi berdasarkan kualitas yang terukur.

Dalam aplikasi nyata—baik itu segmentasi pelanggan, pemetaan demografi, hingga analisis pendidikan—clustering menjadi alat yang fleksibel. Namun fleksibilitas ini memerlukan kewaspadaan: data harus diproses, metrik harus dipilih, dan metode harus tepat untuk struktur yang ingin dipahami.

Dengan menggabungkan pengetahuan dasar kursus dengan penalaran analitis dan perspektif industri, pendekatan clustering tidak lagi menjadi sekadar teknik statistik, tetapi alat pengambilan keputusan yang strategis dan adaptif untuk berbagai kebutuhan modern.

 

Daftar Pustaka

  1. Diklatkerja. Data Mining untuk Clustering: Implementasi dengan R.

  2. Jain, A. K. (2010). Data clustering: 50 years beyond K-means. Pattern Recognition Letters, 31(8).

  3. Kaufman, L., & Rousseeuw, P. J. (2005). Finding Groups in Data: An Introduction to Cluster Analysis. Wiley.

  4. Xu, R., & Wunsch, D. (2005). Survey of clustering algorithms. IEEE Transactions on Neural Networks, 16(3).

  5. MacQueen, J. (1967). Some methods for classification and analysis of multivariate observations. Proceedings of the Fifth Berkeley Symposium.

  6. Rokach, L., & Maimon, O. (2005). Clustering methods. Dalam Data Mining and Knowledge Discovery Handbook. Springer.

  7. Ester, M., Kriegel, H.-P., Sander, J., & Xu, X. (1996). A density-based algorithm for discovering clusters in large spatial databases. KDD Conference.

  8. Tibshirani, R., Walther, G., & Hastie, T. (2001). Estimating the number of clusters in a dataset via the gap statistic. Journal of the Royal Statistical Society.

  9. Hartigan, J. A. (1975). Clustering Algorithms. Wiley.

  10. Lloyd, S. (1982). Least squares quantization in PCM. IEEE Transactions on Information Theory.