Anda di halaman 1dari 25

Nama : Putri Mariah Ulfa

Nim : 11670510123

Kelas : Data Mining A

DBSCAN dan Index Validitas Hasil Klaster

Data Mining adalah proses menemukan pola menarik dari sejumlah data besar.

Sebagai proses penemuan pengetahuan, biasanya melibatkan pembersihan data,

integrasi data, pemilihan data, transformasi data, penemuan pola, evaluasi pola, dan

presentasi pengetahuan (Jiawei et al., 2012). Salah satu metode data mining adalah

metode Clustering. Clustering merupakan suatu proses untuk mengelompokkan

kumpulan objek-objek fisik atau objek-objek abstrak ke dalam kelas-kelas objek

yang similar(mirip) (Sarle, Jain and Dubes, 1990). Cluster adalah kumpulan dari objek

atau data yang mempunyai kemiripan satu dengan yang lain dalam cluster yang sama

dan tidak mirip dengan objek dalam cluster yang berbeda (Jain, 2010). Secara prinsip

cluster merupakan kumpulan dari objek data yang mempunyai kemiripan berdasarkan

karakteristik tertentu (karakteristik disini bisa kombinasi dari atribut tertentu

tergantung user) kemudian melakukan pengelompokan jika dianggap mirip. Suatu

cluster dari objek data dapat diperlakukan secara kolektif sebagai satu group dalam

berbagai aplikasi. Di bawah ini merupakan metode yang sering digunakan di dalam

clustering.

Banyak aplikasi memerlukan pengelolaan data spasial, yakni data yang

berhubungan dengan ruang. Spatial Database Systems (SDBS) (Güting, 1994) adalah

sistem database untuk manajemen data spasial. Semakin besar jumlah data diperoleh

dari citra satelit, kristalografi sinar-X atau peralatan otomatis lain. Oleh karena itu
otomatis pengetahuan penemuan menjadi lebih dan lebih penting dalam tata ruang

database.

Algoritma clustering adalah sangat menarik untuk tugas dalam memberikan

kelas identifikasi. Namun, aplikasi untuk database spasial yang besar memerluka

persyaratan lebih berikut untuk algoritma clustering:

1) Persyaratan Minimal dari domain pengetahuan untuk menentukan parameter input,

karena sering nilai-nilai yang bersesuaian tidak diketahui sebelumnya ketika

berhadapan dengan database besar.

2) Penemuan cluster dengan bentuk sewenang-wenang, karena bentuk cluster dalam

database spasial mungkin bisa dalam bentuk bulat, drawn out, linear atau memanjang

3) Efisiensi yang baik pada database besar, yaitu pada database secara signifikan

lebih dari hanya beberapa ribu objek.

Algoritma clustering yang selama ini dikenal tidak menawarkan solusi untuk

kombinasi dari persyaratan ini. Masalah mendeteksi cluster poin dalam data memang

suatu hal yang menantang ketika cluster dari ukuran, kepadatan dan bentuk yang

berbeda. Banyak masalah ini menjadi lebih signifikan ketika data dari dimensi yang

sangat tinggi dan ketika itu termasuk ada noise dalam data dan outlier. Dalam hal ini

algoritma DBSCAN clustering membutuhkan hanya satu parameter input dan

mendukung pengguna dalam menentukan nilai yang sesuai untuk itu dan menemukan

cluster sembarang bentuk. DBSCAN efisien bahkan untuk ruang yang besar database.

Artikel ini menjelaskan pelaksanaan kepadatan berbasis algoritma clustering:

DBSCAN.

A. Density-Based Methods
Merupakan metode yang dikembangkan berdasarkan density (kepadatan)

tertentu. Metode ini menganggap cluster sebagai suatu area yang berisi objek-objek

yang padat atau sesak, yang dipisahkan oleh area yang memiliki kepadatan rendah

(merepresentasikan noise)

1. DBSCAN (A Density-Based Clustering Method Based on Connected Regions

with Sufficiently High Density)

DBSCAN (Density-Based Spatial Clustering of Applications with Noise),

algoritma menumbuhkan area-area dengan kepadatan yang cukup tinggi ke

dalam cluster-cluster and menemukan cluster-cluster dalam bentuk yang

sembarang dalam suatu database spatial ya ng memuat noise (Sander et al.,

1998). DBSCAN mendefinisikan cluster sebagai himpunan maksimum dari titik-

titik kepadatan yang terkoneksi (density-connected). Semua objek yang tidak

masuk ke dalam cluster manapun dianggap sebagai noise.

1.1 Konsep Kepadatan(Density Concept)

DBSCAN menentukan sendiri jumlah cluster yang akan dihasilkan

sehingga kita tidak perlu lagi untuk menentukan jumlah cluster yang

diinginkan, tapi memerlukan 2 input lain, yaitu:

a. MinPts: minimal banyak items dalam suatu cluster

b. Eps: nilai untuk jarak antar-items yang menjadi dasar pembentukan

neighborhood dari suatu titik item.

Neighborhood yang terletak di dalam radius(  ) disebut -neighorhood

dari objek data. Jika -neighborhood dari suatu objek berisi paling sedikit

suatu angka yang minimum, MinPts dari suatu objek, objek tersebut disebut

core object.
Neighborhood dari border points berisi jauh lebih sedikit items

daripada neighborhood dari core points. Suatu border point bisa jadi

termasuk ke dalam lebih dari 1 core object. Berikut ini gambar yang

menunjukkan mana yang merupakan border point dan mana yang merupakan

core point contoh dengan menggunakan MinPts=5 dan Eps=1.

Gambar 1 Core dan Border

Menurut definisi, ada 2 jenis titik (points) dalam suatu cluster: di dalam

cluster (core points) dan di tepian cluster (border points) di mana

neighborhood dari border points berisi jauh lebih sedikit items daripada

neighborhood dari core points (Ester et al., 1996). Suatu border point bisa

jadi termasuk ke dalam lebih dari 1 cluster.

Gambar 2 Konsep kepadatan

DBSCAN menemukan cluster-cluster dengan cara :

DBSCAN menelusuri cluster-cluster dengan memeriksa -

neighborhood(Eps-neighborhood) dari tiap-tiap point dalam database. Jika


- neighborhood dari point p mengandung lebih dari MinPts, cluster baru

dengan p sebagai core object diciptakan. Kemudian DBSCAN secara

iteratif mengumpulkan secara langsung objekobjek density-reachable dari

core object tersebut, dimana mungkin melibatkan penggabungan dari

beberapa cluster-cluster yang density-reachable.

1.1.1 Directly density-reachable

Sebuah titik item dikatakan directly density-reachable dari titik lainnya

jika jarak di antara mereka tidak lebih dari nilai Eps. Directly density-

reachable = titik q dikatakan directly density-reachable dari titik p jika

titik q adalah  Neps(p) dan p adalah core point.

NEps(p): {q belongs to D | dist(p,q) <= Eps}

Jarak dari titik ke titik lainnya tidak lebih dari nilai Eps.

Core object p: |Neps(p)|MinPts

1.1.2 Density-reachable

Sebuah titik item dikatakan density-reachable dari titik item yang lain

jika ada suatu rantai yang menghubungkan keduanya yang berisi hanya titik-

titik yang directly density-reachable dari titik-titik sebelumnya.

Suatu objek p adalah density reachable dari objek q dengan respek ke 

dan MinPts dalam suatu set objek D jika terdapat suatu rantai objek p1,

p2,…,pn, dimana p1 = q dan pn = p, di mana pi+1 density reachable secara


langsung dari pi dengan respek ke  dan MinPts, untuk 1  i  n, pi anggota

D.

1.1.3 Density-connected

Sebuah obyek p adalah density-connected terhadap obyek q dengan

memperhatikan Eps dan MinPts dalam set obyek D, jika ada sebuah obyek

o elemen D sehingga p dan q keduanya density-reachable dari o dengan

memperhatikan Eps dan MinPts.

1.1.4 Cluster

Misalkan D adalah sebuah database dari poin. Sebuah Cluster C wrt. Eps

dan MinPts adalah himpunan tidak kosong dari D memenuhi kondisi berikut:
1) ∀ p, q: jika p ∈ C dan q adalah density-reachable dari p wrt. Eps dan

MinPts, maka q ∈ C. (Maximality)

2) ∀ p, q ∈ C: p adalah density-connected ke q wrt. EPS dan MinPts.

(Connectivity)

1.1.5 Noise

Misalkan C1,. . , Ck. Menjadi cluster dari Database D wrt. parameter

Epsi dan MinPtsi, i = 1,. . , K.. Kemudian kita mendefinisikan noise sebagai

himpunan titik-titik dalam database D tidak dimiliki pada Ci cluster, yaitu

noise = {p ∈ D | ∀ i: p ∉ Ci}.

1.2 Algoritma DBSCAN

Kunci dari algoritma DBSCAN adalah bahwa untuk setiap titik dari sebuah

cluster, neighborhood dari radius yang diberikan harus mengandung setidaknya

jumlah minimum poin, yaitu, kepadatan neighborhood harus melebihi beberapa

threshold ditetapkan (Ye, Gao and Zeng, 2003). Algoritma ini membutuhkan dua

parameter masukan untuk bisa melakukan clustering yaitu:

a. Eps, raidus yang menentukan batas daerah neighborhood dari titik

(Epsneighborhood);

b. MinPts, jumlah minimum poin yang harus ada di Eps- neighborhood.

Adapun urutan algoritma dari DBSCAN secara umum memiliki 6 langkah yaitu:

1. Arbitrary select a point p (Pilih point p awal secara acak)

2. Retrieve all points density-reachable from p wrt Eps and MinPts (Ambil semua

point yang density reachable terhadap titik p)


3. If p is a core point, a cluster is formed(Jika p adalah core point maka cluster

terbentuk)

4. If p is a border point, no points are density-reachable from p and DBSCAN visits

the next point of the database (Jika p adalah border point, tidak ada yang merupakan

hubungan density-reachable dari p dan DBSCAN akan mengunjungi point selanjutnya

dari database)

5.Continue the process until all of the points have been processed(Lanjutkan proses

sampai semua point telah diproses)

Result is independent of the order of processing the points (Hasil yang didapatkan

tidak terhantung dari urutan dari proses point yang diambil)

Contoh Program dan simulasi

Diasumsikan ada 13 data pelanggan, yaitu Pelanggan A,B,C,D,E,F,G,H,I,J,K,L,M

Masing-masing pelanggan memiliki kriteria, yaitu umur, jenis kelamin, skor

kepribadian maka tentukan kelompok data diterima atau ditolak. Diasumsikan 13 data

tersebut adalah sebagai berikut:

Pelanggan Umur Jenis Kelamin Skor Kepribadian

Pelanggan A 44 Laki-laki 3.55

Pelanggan B 52 Perempuan 4.71

Pelanggan C 60 Perempuan 6.56

Pelanggan D 56 Laki-laki 6.8


Pelanggan E 51 Laki-laki 6.94

Pelanggan F 46 Perempuan 6.52

Pelanggan G 48 Laki-laki 4.25

Pelanggan H 58 Perempuan 5.71

Pelanggan I 47 Perempuan 6.05

Pelanggan J 52 Laki-Laki 5

Pelanggan K 42 Laki-Laki 5.7

Pelanggan L 59 Laki-Laki 3.9

Pelanggan M 49 Perempuan 4.85

Langkah pertama adalah memasukkan data-data yang digunakan.

Contoh data awal adalah sebagai berikut:

Untuk Kriteria Jenis Kelamin:

Laki-laki dilambangkan dengan angka -1

Perempuan dilambangkan dengan angka +1

1 Dim data(12)() As Double

2 data(0) = New Double() {44, -1, 3.55}

3 data(1) = New Double() {52, +1, 4.71}


4 data(2) = New Double() {60, +1, 6.56}

5 data(3) = New Double() {56, -1, 6.8}

6 data(4) = New Double() {51, -1, 6.94}

7 data(5) = New Double() {46, +1, 6.52}

8 data(6) = New Double() {48, -1, 4.25}

9 data(7) = New Double() {58, +1, 5.71}

10 data(8) = New Double() {47, +1, 6.05}

11 data(9) = New Double() {52, -1, 5}

12 data(10) = New Double() {42, -1, 5.7}

13 data(11) = New Double() {59, -1, 3.9}

14 data(12) = New Double() {49, +1, 4.85}

Sebelum masuk kedalam langkah-langkah pembahasan algoritma, ada beberapa

konstanta atau parameter yang harus diketahui, yaitu:

* Tentukan eps, yaitu radius sebuah titik untuk membentuk sebuah cluster

Diasumsikan dalam kasus ini, eps bernilai 2.5

1 Dim eps As Double = 2.5

* Tentukan jumlah titik minimal dalam sebuah cluster

Diasumsikan dalam kasus ini, jumlah titik minimal adalah 3

1 Const jumlahTitikMinimal As Integer = 3


Langkah-langkah penggunaan algoritma ini adalah

* Lakukan proses pengelompokan pada data awal (poin 1 – 6)

1. Pangkatkan nilai eps sebanyak jumlah kriteria yang ada

1 eps = Math.Pow(eps, 3)

2. Lakukan perulangan pada setiap data

Apabila data tersebut masih belum masuk ke dalam cluster,

Maka lakukan perhitungan berikutnya

1 If t.idxCluster = Titik.UNCLASSIFIED Then

2 . . .

3. Cari semua titik yang berada pada radius titik terpilih

Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip

dibawah ini

1 Dim tmpDaftarTitik As List(Of Titik) = CariSemuaTItikDalamRadius(daftar

Titik, t, eps)

* Gunakan fungsi ini untuk mencari semua titik yang berada pada radius titik

terpilih

Hitung jarak pada masing-masing titik

Apabila jarak tersebut masih dalam batas nilai eps, maka masukkan titik tersebut

sebagai titik jawaban


1 Private Function CariSemuaTItikDalamRadius(daftarTitik As List(Of Titik

2 ), p As Titik, eps As Double) As List(Of Titik)

3 Dim hasil As New List(Of Titik)()

4 For i As Integer = 0 To daftarTitik.Count - 1

5 Dim jarak As Integer = Titik.HitungJarak(p, daftarTitik(i))

6 If jarak <= eps Then

7 hasil.Add(daftarTitik(i))

8 End If

9 Next

10 Return hasil

End Function

* Gunakan fungsi ini untuk menghitung jarak antara 2 titik

Rumus yang digunakan adalah jumlah dari kuadrat selisih pada masing-masing kriteria

1 Public Shared Function HitungJarak(t1 As Titik, t2 As Titik) As Integer

2 Dim selisihX As Integer = t2.X - t1.X

3 Dim selisihY As Integer = t2.Y - t1.Y

4 Dim selisihZ As Integer = t2.Z - t1.Z

5 Return selisihX * selisihX + selisihY * selisihY + selisihZ * selisihZ

6 End Function

4. Lakukan pencarian perluasan cluster pada masing-masing daftar titik (poin 4a – 4c)

4a. Jika jumlah titik yang ditemukan kurang dari jumlah kepadatan minimal,

Maka titik ini termasuk dalam NOISE


1 If tmpDaftarTitik.Count < jumlahTitikMinimal Then

2 t.idxCluster = Titik.NOISE

3 Continue For

4 . . .

5 Dim means As Double()() = HitungMeansAwal(jumlahCluster, dataAwal)

4b. Jika jumlah titik yang ditemukan memenuhi batas jumlah kepadatan minimal,

maka masukkan semua titik tersebut ke dalam cluster terpilih

dan keluarkan titik terpilih dari daftar tersebut

1 For j As Integer = 0 To tmpDaftarTitik.Count - 1

2 tmpDaftarTitik(j).idxCluster = idxCluster

3 Next

4 tmpDaftarTitik.Remove(t)

4c. Lakukan proses perhitungan pada semua titik yang telah ditemukan (poin 4c1 –

4c3)

1 While tmpDaftarTitik.Count > 0

2 Dim titikTujuan As Titik = tmpDaftarTitik(0)

3 . . .

4c1. Lakukan perhitungan cluster apabila titik terpilih dipakai sebagai titik tujuan

1 Dim tmpDaftarTitikTujuan As List(Of Titik) = CariSemuaTItikDalamRadius

(daftarTitik, titikTujuan, eps)


4c2. Apabila jumlah titik tujuan yang ditemukan lebih dari jumlah kepadatan minimal,

maka lanjutkan ke perhitungan berikutnya

1 If tmpDaftarTitikTujuan.Count >= jumlahTitikMinimal Then

2 . . .

4c3. Lakukan perulangan pada semua titik tujuan yang telah didapatkan

Apabila titik tujuan belum termasuk ke dalam cluster,

maka masukkan titik tujuan tersebut kedalam daftar titik, dan catat clusternya

1 If titikTujuanTerpilih.idxCluster = Titik.UNCLASSIFIED OrElse titikTujua

2 nTerpilih.idxCluster = Titik.NOISE Then

3 If titikTujuanTerpilih.idxCluster = Titik.UNCLASSIFIED Then

4 tmpDaftarTitik.Add(titikTujuanTerpilih)

5 End If

6 titikTujuanTerpilih.idxCluster = idxCluster

End If

5. Urutkan data berdasarkan cluster yang telah dipilih sebelumnya

1 Dim idxClusterTerakhir As Integer = daftarTitik.OrderBy(Function(p) p.id

xCluster).Last().idxCluster

6. Masukkan masing-masing titik ke dalam jawaban cluster akhir

1 If idxClusterTerakhir >= 1 Then


2 For i As Integer = 0 To idxClusterTerakhir - 1

3 daftarCluster.Add(New List(Of Titik)())

4 Next

6 For Each t As Titik In daftarTitik

7 If t.idxCluster > 0 Then

8 daftarCluster(t.idxCluster - 1).Add(t)

9 End If

10 Next

11 End If

7. Hitung nilai cluster pada masing-masing cluster

Nilai pada setiap cluster dihitung dari penjumlahan data pada masing-masing kolom

Pada Kriteria umur, semakin rendah nilainya, maka semakin tinggi nilai kolomnya, dan

sebaliknya.

Pada Kriteria jenis kelamin dan skor kepribadian, semakin tinggi nilainya, maka

semakin tinggi nilai kolomnya, dan sebaliknya.

1 nilaiCluster(i) += (10 - t.X / 10) + t.Y + t.Z

8. Lihat kembali matriks data awal yang sudah terkelompok

Bandingkan nilai total data antara kedua cluster

Nilai total data yang lebih tinggi akan masuk ke dalam kelompok Diterima, sedangkan

nilai total data yang lebih rendah akan masuk ke dalam kelompok Ditolak

1 If nilaiCluster(0) > nilaiCluster(1) Then


2 Console.WriteLine("Nilai Kelompok pertama (" & nilaiCluster(0) & ") lebi

3 h dari Kelompok kedua (" & nilaiCluster(1) & "), maka: ")

4 Console.WriteLine("Kelompok pertama adalah kelompok Diterima")

5 Console.WriteLine("Kelompok kedua adalah kelompok Ditolak")

6 Else

7 Console.WriteLine("Nilai Kelompok pertama (" & nilaiCluster(0) & ") kur

8 ang dari Kelompok kedua (" & nilaiCluster(1) & "), maka: ")

9 Console.WriteLine("Kelompok pertama adalah kelompok Ditolak")

Console.WriteLine("Kelompok kedua adalah kelompok Diterima")

End If

9. Lakukan pencatatan data pada setiap data yang termasuk sebagai NOISE

NOISE adalah semua data yang tidak berhubungan dengan cluster apapun dan tidak

bisa membentuk cluster sendiri

1 For Each t As Titik In daftarTitik

2 If t.idxCluster = Titik.NOISE Then

3 Console.Write("Pelanggan " & t.Nama.ToString.PadRight(3))

4 Console.Write(t.X.ToString().PadRight(2) & " ")

5 Console.Write(IIf(t.Y = -1, "Laki-Laki", IIf(t.Y = +1, "Perempuan

6 ", "")).ToString().PadRight(5) & " ")

7 Console.Write(t.Z.ToString().PadRight(5) & " ")

8 Console.WriteLine()

9 End If

Next
* Agar dapat menjalankan skrip diatas, maka diperlukan sebuah Class Titik untuk

menampung data nama, nilai pada masing-masing kriteria, dan indeks cluster dimana

titik tersebut berada. Deklarasi Class Titik adalah sebagai berikut:

1 Class Titik

2 Public Const NOISE As Integer = -1

3 Public Const UNCLASSIFIED As Integer = 0

5 Public Nama As String

6 Public X As Double, Y As Double, Z As Double

7 Public idxCluster As Integer

9 Public Sub New(Nama As String, x As Double, y As Double, z As Dou

10 ble)

11 Me.Nama = Nama

12 Me.X = x

13 Me.Y = y

14 Me.Z = z

15 End Sub

End Class

Hasil akhir adalah: (klik untuk perbesar gambar)


B. Davies-Bouldin Index

Davies-bouldin index merupakan salah satu metode evaluasi internal yang

mengukur evaluasi cluster pada suatu metode pengelompokan yang didasarkan

pada nilai kohesi dan separasi. Dalam suatu pengelompokan, kohesi

didefinisikan sebagai jumlah dari kedekatan data terhadap centroid dari

cluster yang diikuti. Sedangkan separasi didasarkan pada jarak antar centroid

dari clusternya.

Sum of square within cluster (SSW) merupakan persamaan yang digunakan

untuk mengetahui matrik kohesi dalam sebuah cluster ke-i yang dirumuskan

sebagai berikut :

Dari persamaan tersebut, 𝑚𝑖 merupakan jumlah data dalam cluster ke-i, 𝑐𝑖

adalah centroid cluster ke-i, dan d() merupakan jarak setiap data kecentroid

yang dihitung menggunakan jarak euclidean.

Sum of square between cluster (SSB) merupakan persamaan yang

digunakan untuk mengetahui separasi antar cluster yang dihitung menggunakan

persamaan :

Setelah nilai kohesi dan separasi diperoleh, kemudian dilakukan

pengukuran rasio (𝑅𝑖𝑗 ) untuk mengetahui nilai perbandingan antara cluster ke-

i dan cluster ke-j. Cluster yang baik adalah cluster yang memiliki nilai kohesi
sekecil mungkin dan separasi yang sebesar mungkin. Nilai rasio dihitung

menggunakan persamaan sebagai berikut :

Nilai rasio yang diperoleh tersebut digunakan untuk mencari nilai

daviesbouldin index (DBI) dari persamaan berikut :

Dari persamaan tersebut, k merupakan jumlah cluster yang digunakan.

Semakin kecil nilai DBI yang diperoleh (non-negatif >= 0), maka semakin baik

cluster yang diperoleh dari pengelompokan K-means yang digunakan.

C. Silhouette

Pengujian model dilakukan untuk mengetahui seberapa dekat relasi antara

objek dalam sebuah cluster dan seberapa jauh sebuah cluster terpisah dengan

cluster lain. Metode pengujian yang akan digunakan adalah Silhouette Coefficient.

Metode silhouette coefficient merupakan gabungan dari dua metode yaitu metode

cohesion yang berfungsi untuk mengukur seberapa dekat relasi antara objek

dalam sebuah cluster, dan metode separation yang berfungsi untuk mengukur

seberapa jauh sebuah cluster terpisah dengan cluster lain.

Silhouette Coefficient digunakan untuk melihat kualitas dan kekuatan

cluster, seberapa baik suatu objek ditempatkan dalam suatu cluster. Metode
ini merupakan gabungan dari metode cohesion dan separation. Tahapan

perhitungan Silhouette Coefficient adalah sebagai berikut:

1. Hitung rata-rata jarak dari suatu dokumen misalkan i dengan semua

dokumen lain yang berada dalam satu cluster

dengan j adalah dokumen lain dalam satu cluster A dan d(i,j) adalah jarak

antara dokumen i dengan j.

2. Hitung rata-rata jarak dari dokumen i tersebut dengan semua dokumen

di cluster lain, dan diambil nilai terkecilnya.

dengan d(i,C) adalah jarak rata-rata dokumen i dengan semua objek pada

cluster lain C dimana A ≠ C.

3. Nilai Silhouette Coefficient nya adalah :

Nilai hasil silhouette coefficient terletak pada kisaran nilai -1 hingga 1.

Semakin nilai silhouette coefficient mendekati nilai 1, maka semakin baik

pengelompokan data dalam satu cluster. Sebaliknya jika silhouette coefficient


mendekati nilai -1, maka semakin buruk pengelompokan data didalam satu

cluster. Adapun proses dari pengujian model cluster menggunakan silhouette

coefficient sebagai berikut :

Contoh data {1,6749} Cluster 1: untuk menghitung rata-rata jarak objek

dengan semua objek lain yang berada di dalam satu cluster.

Menghitung rata-rata jarak objek dengan semua objek lain yang berada

pada cluster lain. Menghitung rata-rata dengan objek yang berada di cluster 2

dan menghitung rata-rata semua jarak pada cluster 2.

Menghitung rata-rata dengan objek yang berada di cluster 3 dan

menghitung rata-rata semua jarak pada cluster 3.


Nilai minimun dari rata-rat jarak cluster 2 dan cluster 3.

Menghitung nilai silhouette coefficient.

Hasil nilai silhouette coefficient pada cluster 1 -0,420482055 mendekati

nilai -1 maka pengelompokan data didalam clater 1 kurang baik / buruk. Untuk

hasil keseluruhan dari pengujian silhouette coefficient terhadap semua cluster

dapat dilihat pada tabel 4.21.


Gambar 4 Hasil Pengujian Model Dengan Silhouette Coefficient.

Cluster yang diuji hanya pada cluster 1 dan cluster 2 saja, karena hasil dari

klasterisasi menggunakan algoritma K-Means dengan tool XLMiner dan

perhitungan manual dihasilkan perbedaan cluster pada objek-objek data di

cluster 1 dan cluster 2, sedangkan cluster 3 menghasilkan data atau hasil yang

sama. Dari hasil pengujian Silhouette Coefficient dapat disimpulkan bahwa

pengelompokan data yang di hasilkan dari perhitungan menggunakan tool

XLMiner lebih baik, karena Semakin nilai silhouette coefficient mendekati nilai

1, maka semakin baik pengelompokan data dalam satu cluster. Hasil akhir dari

klasterisasi data pelanggan dapat dilihat pada Gambar 5.


Gambar 5 Hasil Akhir Klasterisasi Data Pelanggan Setelah Dilakukan

Pengujian.

Anda mungkin juga menyukai