Hello Sobat TeknoBgt, dalam dunia machine learning, algoritma k-means merupakan salah satu algoritma clustering yang sering digunakan. Clustering sendiri merupakan salah satu metode unsupervised learning yang bertujuan untuk mengelompokkan data ke dalam beberapa kelompok berdasarkan kesamaan karakteristik. Akan tetapi, bagaimana cara menghitung akurasi k-means?
Pengertian K-Means
Sebelum membahas cara menghitung akurasi k-means, lebih baik kita pahami terlebih dahulu pengertian dari algoritma k-means. Algoritma k-means merupakan algoritma clustering yang bekerja dengan cara mengelompokkan data ke dalam k kelompok berdasarkan jarak terdekat dengan pusat kelompok. Pusat kelompok adalah nilai rata-rata dari semua data yang termasuk ke dalam kelompok tersebut.
K-Means memiliki beberapa kelebihan, seperti mudah dipahami dan cepat dalam melakukan clustering. Akan tetapi, algoritma k-means juga memiliki kekurangan, yaitu rentan terhadap titik awal yang dipilih. Hal ini bisa menyebabkan hasil clustering yang berbeda-beda tergantung dari titik awal yang dipilih. Oleh karena itu, kita perlu mengevaluasi akurasi dari hasil clustering yang dihasilkan oleh algoritma k-means.
Cara Menghitung Akurasi K-Means
Ada beberapa metode untuk menghitung akurasi dari hasil clustering yang dihasilkan oleh algoritma k-means, di antaranya adalah:
1. External Index
External Index adalah metode pengukuran akurasi clustering dengan membandingkan hasil clustering dengan kelas sebenarnya. Misalnya, jika kita memiliki data yang sudah memiliki label kelas, kita bisa menggunakan metode external index untuk mengevaluasi akurasi clustering yang dihasilkan oleh algoritma k-means.
Contoh tabel data:
No. | Data | Kelas |
---|---|---|
1 | 5 | A |
2 | 7 | A |
3 | 3 | B |
4 | 4 | B |
5 | 6 | A |
6 | 2 | B |
Jika kita menggunakan algoritma k-means dengan k=2, maka hasil clustering bisa dilihat pada tabel berikut:
No. | Data | Kelas K-Means | Kelas Sebenarnya |
---|---|---|---|
1 | 5 | A | A |
2 | 7 | A | A |
3 | 3 | B | B |
4 | 4 | B | B |
5 | 6 | A | A |
6 | 2 | B | B |
Dalam kasus ini, kita bisa menggunakan metode adjusted Rand index (ARI) untuk mengukur akurasi clustering yang dihasilkan oleh algoritma k-means. ARI menghitung overlap antara clustering dan kelas sebenarnya, dengan rentang nilai antara -1 hingga 1. Semakin tinggi nilai ARI, maka semakin baik hasil clustering yang dihasilkan oleh algoritma k-means.
Untuk menghitung ARI pada kasus di atas, kita bisa menggunakan rumus sebagai berikut:
ARI = (RI – E[RI]) / (max(RI) – E[RI])
Dimana:
- RI = a + b
- a = jumlah pasangan data yang ditempatkan di kelompok yang sama oleh k-means dan kelas sebenarnya
- b = jumlah pasangan data yang ditempatkan di kelompok yang berbeda oleh k-means dan kelas sebenarnya
- E[RI] = (a+b) * (a+c) / (a+b+c+d)
- c = jumlah pasangan data yang ditempatkan di kelompok yang sama oleh k-means namun berbeda kelas dengan kelas sebenarnya
- d = jumlah pasangan data yang ditempatkan di kelompok yang berbeda oleh k-means dan berbeda kelas dengan kelas sebenarnya
Setelah menghitung nilai a, b, c, dan d, kita bisa menghitung nilai ARI menggunakan rumus di atas. Semakin tinggi nilai ARI, maka semakin baik hasil clustering yang dihasilkan oleh algoritma k-means.
2. Internal Index
Internal Index adalah metode pengukuran akurasi clustering tanpa menggunakan data kelas sebenarnya. Dalam metode ini, kita menghitung jarak antara data ke pusat kelompok dan membandingkan jarak antar pusat kelompok. Metode internal index yang umum digunakan adalah silhouette index.
Contoh tabel data:
No. | Data |
---|---|
1 | 5 |
2 | 7 |
3 | 3 |
4 | 4 |
5 | 6 |
6 | 2 |
Jika kita menggunakan algoritma k-means dengan k=2, maka hasil clustering bisa dilihat pada tabel berikut:
No. | Data | Kelas K-Means | Jarak ke Pusat Kelompok |
---|---|---|---|
1 | 5 | A | 2 |
2 | 7 | A | 4 |
3 | 3 | B | 1 |
4 | 4 | B | 2 |
5 | 6 | A | 3 |
6 | 2 | B | 1 |
Untuk menghitung silhouette index, kita perlu menghitung dua hal, yaitu:
a. Coefficient (s(i))
Coefficient menghitung seberapa cocok data i dengan kelompoknya sendiri dibandingkan dengan kelompok lainnya.
Rumus:
s(i) = (b(i) – a(i)) / max(a(i), b(i))
Dimana:
- a(i) = rata-rata jarak antara data i dengan data lain dalam kelompok yang sama
- b(i) = jarak terdekat antara data i dengan kelompok lain
Contoh:
s(1) = (1 – 2) / max(1, 2) = -0.5
s(2) = (3 – 4) / max(3, 4) = -0.75
s(3) = (1 – 2) / max(1, 2) = -0.5
s(4) = (2 – 1) / max(2, 1) = 1
s(5) = (2 – 3) / max(2, 3) = -0.67
s(6) = (1 – 2) / max(1, 2) = -0.5
b. Silhouette width (s)
Silhouette width mengukur seberapa baik hasil clustering dalam memisahkan kelompok.
Rumus:
s = rata-rata(s(i))
Contoh:
s = (-0.5 – 0.75 – 0.5 + 1 – 0.67 – 0.5) / 6 = -0.375
Dalam kasus ini, silhouette width bernilai negatif, yang menunjukkan bahwa hasil clustering tidak baik dalam memisahkan kelompok.
Frequently Asked Questions (FAQ)
1. Apa itu k-means?
K-Means adalah algoritma clustering yang bekerja dengan cara mengelompokkan data ke dalam k kelompok berdasarkan jarak terdekat dengan pusat kelompok.
2. Apa fungsi dari k-means?
Fungsi dari k-means adalah memisahkan data ke dalam kelompok berdasarkan kesamaan karakteristik.
3. Apa kelebihan dan kekurangan dari k-means?
Kelebihan dari k-means adalah mudah dipahami dan cepat dalam melakukan clustering. Kekurangan dari k-means adalah rentan terhadap titik awal yang dipilih.
4. Bagaimana cara menghitung akurasi k-means?
Ada dua metode yang umum digunakan untuk menghitung akurasi k-means, yaitu external index dan internal index.
5. Apa itu external index?
External index adalah metode pengukuran akurasi clustering dengan membandingkan hasil clustering dengan kelas sebenarnya.
6. Apa itu internal index?
Internal index adalah metode pengukuran akurasi clustering tanpa menggunakan data kelas sebenarnya.
7. Apa itu silhouette index?
Silhouette index adalah metode pengukuran akurasi clustering dalam metode internal index dengan menghitung jarak antara data ke pusat kelompok dan membandingkan jarak antar pusat kelompok.
8. Apa maksud nilai ARI?
ARI mengukur overlap antara clustering dan kelas sebenarnya, dengan rentang nilai antara -1 hingga 1. Semakin tinggi nilai ARI, maka semakin baik hasil clustering yang dihasilkan oleh algoritma k-means.
Penutup
Demikian artikel tentang cara menghitung akurasi k-means. Dengan mengevaluasi akurasi clustering yang dihasilkan oleh algoritma k-means, kita bisa memastikan bahwa hasil clustering yang dihasilkan sesuai dengan yang diharapkan. Semoga Bermanfaat dan sampai jumpa di artikel menarik lainnya.