🥉Evaluasi Clustering

Silhouette Coefficient

Silhouette coefficient adalah metrik validasi internal yang banyak digunakan dalam pembelajaran mesin tanpa pengawasan untuk mengevaluasi kualitas klasterisasi ketika label kebenaran dasar tidak tersedia untuk penilaian. Metrik validasi internal seperti silhouette coefficient mengukur dua aspek utama dari klasterisasi: kohesi, yang mengukur seberapa dekat titik data dalam suatu klaster satu sama lain, dan separasi, yang menilai sejauh mana klaster-klaster tersebut terpisah satu sama lain.

Untuk setiap titik data, silhouette coefficient dihitung dengan menggunakan jarak rata-rata ke semua titik lain dalam klaster yang sama (kohesi) dan jarak rata-rata minimum ke titik-titik dalam klaster tetangga terdekat (separasi). Secara formal, silhouette coefficient ss didefinisikan sebagai:

s=bamax(a,b)s = \frac{b - a}{\max(a, b)}

di mana aa adalah jarak rata-rata intra-klaster dan bb adalah jarak rata-rata minimum antar-klaster. Silhouette coefficient memiliki rentang nilai antara −1 hingga 1. Nilai yang mendekati +1 menunjukkan bahwa sampel cocok dengan klasternya dan terpisah jauh dari klaster tetangga, mencerminkan klaster yang terpisah dengan baik dan kohesif. Nilai mendekati 0 menunjukkan bahwa sampel berada di batas antara dua klaster, sementara nilai negatif menunjukkan bahwa sampel mungkin telah ditempatkan di klaster yang salah.

Definisi Matematika dan Perhitungan

Misalkan ada sebuah titik data oo yang termasuk dalam klaster CiC_i. Jarak intra-klaster a(o)a(o) didefinisikan sebagai jarak rata-rata antara oo dan semua titik lain dalam klaster CiC_i. Jarak antar-klaster terdekat b(o)b(o) adalah jarak rata-rata minimum dari oo ke semua titik dalam klaster lain CjC_j, di mana jij \neq i. Silhouette coefficient untuk titik oo , yang dilambangkan dengan s(o)s(o), dihitung sebagai:

s(o)=b(o)a(o)max(a(o),b(o))s(o) = \frac{b(o) - a(o)}{\max(a(o), b(o))}
  • a(o)a(o) adalah jarak rata-rata intra-klaster untuk titik data o,

  • b(o)b(o) adalah jarak rata-rata minimum antar-klaster untuk titik data o.

Interpretasi Nilai Silhouette Coefficient:

  • Nilai mendekati +1 menunjukkan bahwa titik data tersebut sangat cocok dengan klasternya dan jauh dari klaster tetangga.

  • Nilai mendekati 0 menunjukkan bahwa titik data berada di dekat batas keputusan antara dua klaster.

  • Nilai negatif menunjukkan kemungkinan salah klasifikasi, di mana titik data mungkin ditempatkan di klaster yang salah.

Skor silhouette keseluruhan untuk suatu solusi klasterisasi adalah rata-rata silhouette coefficient dari semua titik data, yang memberikan ukuran global dari kualitas klasterisasi. Skor yang lebih tinggi menunjukkan klaster yang lebih koheren. Silhouette coefficient dapat dihitung dengan efisien menggunakan pustaka seperti scikit-learn, yang juga menyediakan alat visualisasi.

Peran dalam Evaluasi Algoritma Klasterisasi

Silhouette coefficient berfungsi sebagai kriteria internal untuk mengevaluasi kualitas klasterisasi dengan mengukur kohesi dan separasi klaster secara bersamaan. Metrik ini berlaku untuk berbagai algoritma klasterisasi, termasuk k-means dan klasterisasi hierarkis. Untuk setiap sampel, silhouette coefficient dihitung sebagai perbedaan antara jarak rata-rata ke titik dalam klaster terdekat (separasi) dan jarak rata-rata ke titik dalam klaster yang sama (kohesi), dibagi dengan nilai maksimum dari kedua nilai tersebut. Skor berkisar antara −1 hingga +1, di mana nilai mendekati +1 menunjukkan sampel yang cocok dengan klasternya, nilai mendekati 0 menunjukkan sampel berada di batas klaster, dan nilai negatif menyarankan kemungkinan salah klasifikasi.

Silhouette coefficient keseluruhan untuk suatu solusi klasterisasi diperoleh dengan merata-ratakan skor di seluruh sampel. Jumlah klaster optimal (k) umumnya dipilih sebagai nilai yang memaksimalkan rata-rata silhouette coefficient ini.

Keuntungan dari silhouette coefficient adalah kemandiriannya dari asumsi distribusi data yang mendasarinya, yang memungkinkan kinerja yang kuat di berbagai dataset dan algoritma klasterisasi. Namun, metrik ini mungkin menghasilkan nilai yang terlalu tinggi untuk klaster-klaster yang berbentuk cekung, sehingga kurang cocok untuk mengevaluasi algoritma klasterisasi berbasis kepadatan seperti DBSCAN. Metrik alternatif termasuk Davies-Bouldin index, yang mengukur kesamaan rata-rata antar-klaster dengan nilai yang lebih rendah menunjukkan klasterisasi yang lebih baik, dan skor Calinski-Harabasz, yang mengukur kerapatan klaster berdasarkan jumlah kuadrat jarak antara titik dan pusat klaster.

Ekstensi, Varian, dan Implementasi

Silhouette coefficient mengandalkan fungsi jarak, umumnya jarak Euclidean, untuk menghitung jarak intra- dan antar-klaster. Beberapa indeks memperluas konsep ini dengan memasukkan nilai keanggotaan bersama dengan titik data untuk mengukur kepadatan dan pemisahan, yang menguntungkan dalam klasterisasi kabur di mana bobot keanggotaan memengaruhi evaluasi.

Pustaka scikit-learn dalam Python menyediakan implementasi dari silhouette coefficient, termasuk fungsi untuk menghitung skor silhouette dan memvisualisasikan hasil. Penting untuk memproses data dengan tepat, seperti menstandarkan fitur sebelum menghitung nilai silhouette. Misalnya, variabel yang mewakili data yang diskalakan (misalnya, df_scaled) harus digunakan sebelum dilakukan unstandardisasi saat menerapkan fungsi silhouette_samples.

Silhouette coefficient adalah metrik validasi internal yang mendasar dalam pembelajaran mesin tanpa pengawasan untuk mengevaluasi kualitas klasterisasi. Dengan mengukur baik kohesi klaster dan separasi melalui ukuran terstandardisasi yang berkisar dari −1 hingga 1, metrik ini memberikan wawasan intuitif tentang kesesuaian penugasan klaster. Aplikasinya yang luas pada berbagai algoritma klasterisasi dan dataset, ditambah kemudahan perhitungan dan visualisasi—terutama melalui alat seperti scikit-learn—menjadikannya alat yang sangat berharga bagi praktisi.

Meskipun silhouette coefficient menawarkan keuntungan seperti kemandirian distribusi dan keterpahaman, pengguna harus menyadari keterbatasannya, termasuk potensi overestimasi kualitas klaster pada klaster-klaster cekung dan pengurangan kecocokannya untuk metode klasterisasi berbasis kepadatan. Metrik pelengkap seperti Davies-Bouldin index dan skor Calinski-Harabasz dapat memberikan perspektif tambahan tentang kinerja klasterisasi.

Davies-Bouldin Index

Indeks Davies-Bouldin adalah metrik validasi yang digunakan untuk mengevaluasi model klasterisasi. Indeks ini dihitung sebagai rata-rata ukuran kesamaan antara setiap klaster dengan klaster yang paling mirip dengannya. Dalam konteks ini, kesamaan didefinisikan sebagai rasio antara jarak antar-klaster dan jarak intra-klaster. Dengan demikian, indeks ini memberi peringkat klaster yang terpisah dengan baik dan memiliki dispersi yang rendah sebagai memiliki skor yang lebih baik.

Untuk sebuah dataset X=X1,X2,X3,X=X1​,X2​,X3​,… , Indeks Davies-Bouldin untuk kk jumlah klaster dapat dihitung sebagai:

DB=1ki=1kmax(Δ(Xi)+Δ(Xj)δ(Xi,Xj))DB = \frac{1}{k} \sum_{i=1}^{k} \max \left( \frac{\Delta(X_i) + \Delta(X_j)}{\delta(X_i, X_j)} \right)

di mana:

  • Δ(Xk)\Delta(X_k) adalah jarak intra-klaster dalam klaster XkX_k.

  • δ(Xi,Xj)\delta(X_i, X_j) adalah jarak antar-klaster antara klaster XiX_i dan XjX_j .

Indeks Davies-Bouldin sangat efektif dibandingkan dengan metrik evaluasi klasterisasi lainnya karena:

  1. Fleksibilitas: Indeks ini bekerja untuk jumlah klaster berapa pun.

  2. Tanpa asumsi bentuk klaster: Berbeda dengan metrik Silhouette Score, yang mengasumsikan bentuk tertentu dari klaster.

  3. Mudah digunakan dan intuitif.

Sintaksis

Fungsi davies_bouldin_score disediakan dalam modul sklearn.metrics dari pustaka scikit-learn. Sintaksis yang digunakan adalah sebagai berikut:

sklearn.metrics.davies_bouldin_score(X, labels)

Metode ini menerima dua argumen:

  • XX -> daftar titik data dengan nn fitur,

  • labels -> daftar label prediksi untuk masing-masing dari nn sampel.

Metode ini mengembalikan nilai float yang mewakili skor Davies-Bouldin untuk data yang diberikan.

Cara Menghitung Indeks Davies-Bouldin

  1. Hitung jarak rata-rata antara titik-titik dalam setiap klaster dan centroid klaster tersebut.

  2. Hitung jarak antara centroid setiap klaster dan klaster terdekat.

  3. Hitung rasio antara jarak rata-rata titik dalam klaster ke centroid klaster dengan jarak antara centroid klaster tersebut dan klaster terdekat.

  4. Ulangi langkah 1-3 untuk setiap klaster.

  5. Hitung rata-rata rasio untuk semua klaster.

Nilai Indeks DB yang Lebih Rendah vs. Lebih Tinggi

Indeks Davies-Bouldin (DBI) adalah metrik untuk mengevaluasi validitas solusi klasterisasi. DBI adalah indeks validitas klasterisasi relatif, yang berarti bahwa ia membandingkan hasil klasterisasi dengan klasterisasi "ideal" hipotetik. Nilai DBI yang lebih rendah menunjukkan solusi klasterisasi yang lebih baik.

Nilai indeks DB yang lebih tinggi menunjukkan solusi klasterisasi yang lebih buruk. Hal ini disebabkan karena nilai DBI yang lebih tinggi menunjukkan bahwa klaster-klaster tersebut tidak terpisah dengan baik dan/atau klaster-klaster tersebut tidak kompak.

Sebaliknya, nilai DBI yang lebih rendah diinginkan karena ini menunjukkan bahwa klaster-klaster tersebut terpisah dengan baik dan kompak, yang sering kali menjadi indikasi keberhasilan solusi klasterisasi.

Last updated