Data Mining – Algoritma Kmeans – XL-Miner
Ini adalah rangkaian konsep dan tools yang saya
gunakan untuk mencari solusi dari maslah TA yang saya angkat. Algoritma K-means
ini bisa menggunakan aplikasi XL-Miner sebagai tools nya dan mempercepat proses
pengelolaan data, tapi saya gunakan juga hitungan manual menggunakan Ms.Excel
sebagai pembanding dengan begitu semakin besar kebenaran suatu data tersebut.
Cara menghitung manual nya seperti ini teman-teman, memang sedikit ribet dan
memerlukan perhitungan yang teliti kalo salah sedikit maka kacau hasilnya
sampai akhir dikarenakan semua hitungan ini berkaitan satu sama lain, so
becarefuk ^^.
1.
Integrasi data
No
|
Nama Pelanggan
|
NoPol
|
Jenis Mobil
|
No Telpon
|
Frekuensi Belanja
|
Total Belanja
|
1
|
FIRMAN
|
D87TH
|
1
|
220
|
||
2
|
ASEP
|
B1840TYJ
|
1
|
380
|
||
3
|
YUGA
|
D1419IL
|
1
|
300
|
||
4
|
AHMAD
|
D8729TE
|
1
|
409
|
||
5
|
TATI
|
D773LLY
|
1
|
230
|
||
6
|
ZAKI
|
D1546WB
|
1
|
77
|
||
7
|
TANTO
|
Jazz
|
1
|
422
|
||
8
|
PK.HAJI
|
D8382DD
|
1
|
193
|
||
9
|
ADI
|
D8744LX
|
1
|
270
|
||
10
|
TUTI
|
D1276VG
|
Katana
|
1
|
520
|
|
11
|
DIKI
|
D1567ND
|
Lancer
|
1
|
2475
|
|
12
|
ADE PHARMINDO
|
D1587ND
|
Landrover
|
1
|
285
|
|
13
|
RAMDAN
|
D1478NX
|
Agya
|
1
|
931
|
|
14
|
EGI
|
SPLASH
|
Splas
|
1
|
6749
|
|
15
|
GINA
|
D8643TD
|
Ayla
|
1
|
203
|
|
16
|
EGI PICANTO
|
D8381DN
|
Picanto
|
1
|
490
|
|
17
|
IQBAL
|
D8764TN
|
Lancer
|
1
|
320
|
|
18
|
BAMBANG
|
D8772BC
|
Apv
|
1
|
505
|
|
19
|
CEPI
|
Vitara
|
1
|
168
|
||
20
|
RIFKI
|
Xenia
|
1
|
587
|
||
21
|
AGUS
|
Yaris
|
1
|
300
|
||
22
|
NUNI
|
Mazda
|
1
|
600
|
||
23
|
MARK
|
D126DU
|
1
|
424
|
||
24
|
ABI
|
B1417ELO
|
Avanza
|
1
|
664
|
|
25
|
ALI KONVEKSI
|
B2632IJ
|
Gmax
|
1
|
270
|
|
26
|
ASEP JAHIT
|
D8000SS
|
Gmax
|
1
|
308
|
|
27
|
IMAM
|
D8795SAS
|
1
|
1570
|
||
28
|
TITO
|
Yaris
|
1
|
140
|
||
29
|
ABANG MESIN
|
Kia
|
1
|
440
|
||
30
|
HENDARIN
|
Kijang
|
1
|
494
|
||
31
|
ELIAN - BMW
|
D1259GD
|
BMW
|
1
|
345
|
|
32
|
TARUNA - DIKNAS
|
D8245TF
|
Taruna
|
1
|
150
|
|
33
|
ADANG
|
D1192FE
|
1
|
464
|
||
34
|
PK HAJI GOR
|
D1391SZ
|
SS
|
1
|
1439
|
|
35
|
SANDI
|
B9979AX
|
Apv
|
1
|
2510
|
Keterangan
: Pada kolom no telepon tidak ditampilkan untuk alasan kerahasiaan data
pelanggan. Total belanja dalam satuan rupiah (contoh 220 : dua ratus dua puluh
ribu rupiah).
2.
Pembersihan data
Pada tahap ini dilakukan terhadap data-data yang tidak akan
digunakan dalam proses data mining dan pembersihan terhadap konten data yang
tidak sesuai isinya. Kolom nopol, jenis mobil, dan no telepon akan dihapus.
Sedangkan untuk data yang bernilai NULL dan kosong akan dihapus. Proses
pembersihan data dapat dilihat pada tabel berikut ini :
No
|
Nama Pelanggan
|
NoPol
|
Jenis Mobil
|
No Telpon
|
Frekuensi Transaksi
|
Total Transaksi
|
1
|
FIRMAN
|
D87TH
|
1
|
220
|
||
2
|
ASEP
|
B1840TYJ
|
1
|
380
|
||
3
|
YUGA
|
D1419IL
|
1
|
300
|
||
4
|
AHMAD
|
D8729TE
|
1
|
409
|
||
5
|
TATI
|
D773LLY
|
1
|
230
|
||
6
|
ZAKI
|
D1546WB
|
1
|
77
|
||
7
|
TANTO
|
Jazz
|
1
|
422
|
||
8
|
PK.HAJI
|
D8382DD
|
1
|
193
|
||
9
|
ADI
|
D8744LX
|
1
|
270
|
||
10
|
TUTI
|
D1276VG
|
Katana
|
1
|
520
|
|
11
|
DIKI
|
D1567ND
|
Lancer
|
1
|
2475
|
|
12
|
ADE PHARMINDO
|
D1587ND
|
Landrover
|
1
|
285
|
|
13
|
RAMDAN
|
D1478NX
|
Agya
|
1
|
931
|
|
14
|
EGI
|
SPLASH
|
Splas
|
1
|
6749
|
|
15
|
GINA
|
D8643TD
|
Ayla
|
1
|
203
|
|
16
|
EGI PICANTO
|
D8381DN
|
Picanto
|
1
|
490
|
|
17
|
IQBAL
|
D8764TN
|
Lancer
|
1
|
320
|
|
18
|
BAMBANG
|
D8772BC
|
Apv
|
1
|
505
|
|
19
|
CEPI
|
Vitara
|
1
|
168
|
||
20
|
RIFKI
|
Xenia
|
1
|
587
|
||
21
|
AGUS
|
Yaris
|
1
|
300
|
||
22
|
NUNI
|
Mazda
|
1
|
600
|
||
23
|
MARK
|
D126DU
|
1
|
424
|
||
24
|
ABI
|
B1417ELO
|
Avanza
|
1
|
664
|
|
25
|
ALI KONVEKSI
|
B2632IJ
|
Gmax
|
1
|
270
|
|
26
|
ASEP JAHIT
|
D8000SS
|
Gmax
|
1
|
308
|
|
27
|
IMAM
|
D8795SAS
|
1
|
1570
|
||
28
|
TITO
|
Yaris
|
1
|
140
|
||
29
|
ABANG MESIN
|
Kia
|
1
|
440
|
||
30
|
HENDARIN
|
Kijang
|
1
|
494
|
||
31
|
ELIAN - BMW
|
D1259GD
|
BMW
|
1
|
345
|
|
32
|
TARUNA - DIKNAS
|
D8245TF
|
Taruna
|
1
|
150
|
|
33
|
ADANG
|
D1192FE
|
1
|
464
|
||
34
|
PK HAJI GOR
|
D1391SZ
|
SS
|
1
|
1439
|
|
35
|
SANDI
|
B9979AX
|
Apv
|
1
|
2510
|
Keterangan : Kolom
yang dihapus (abu)
Baris yang dihapus (abu)
Berdasarkan
pembersihan data yang dilakukan terdapat 3 kolom yang dihapus Nopol, Jenis
Mobil, No Telepon. Berikut merupakan hasil pembersihan data dapat dilihat pada
tabel berikut
No
|
Nama Pelanggan
|
Frekuensi Belanja
|
Total Belanja
|
1
|
FIRMAN
|
1
|
220
|
2
|
ASEP
|
1
|
380
|
3
|
YUGA
|
1
|
300
|
4
|
AHMAD
|
1
|
409
|
5
|
TATI
|
1
|
230
|
6
|
ZAKI
|
1
|
77
|
7
|
TANTO
|
1
|
422
|
8
|
PK.HAJI
|
1
|
193
|
9
|
ADI
|
1
|
270
|
10
|
TUTI
|
1
|
520
|
11
|
DIKI
|
1
|
2475
|
12
|
ADE PHARMINDO
|
1
|
285
|
13
|
RAMDAN
|
1
|
931
|
14
|
EGI
|
1
|
6749
|
15
|
GINA
|
1
|
203
|
16
|
EGI PICANTO
|
1
|
490
|
17
|
IQBAL
|
1
|
320
|
18
|
BAMBANG
|
1
|
505
|
19
|
CEPI
|
1
|
168
|
20
|
RIFKI
|
1
|
587
|
21
|
AGUS
|
1
|
300
|
22
|
NUNI
|
1
|
600
|
23
|
MARK
|
1
|
424
|
24
|
ABI
|
1
|
664
|
25
|
ALI KONVEKSI
|
1
|
270
|
26
|
ASEP JAHIT
|
1
|
308
|
27
|
IMAM
|
1
|
1570
|
28
|
TITO
|
1
|
140
|
29
|
ABANG MESIN
|
1
|
440
|
30
|
HENDARIN
|
1
|
494
|
31
|
ELIAN - BMW
|
1
|
345
|
32
|
TARUNA - DIKNAS
|
1
|
150
|
33
|
ADANG
|
1
|
464
|
34
|
PK HAJI GOR
|
1
|
1439
|
35
|
SANDI
|
1
|
2510
|
Ini
merupakan data set yang sudah melalui beberapa tahap pemberihan data (saya
bahas terpisah di artikel selanjutnya). Selanjutnya kita selesaikan perhitungan
menggunakan teknik manual terlebih dahulu.
Pada tahap ini akan dilakukan pembentukan klasterisasi
menggunakan algoritma K-Means pada dataset yang sudah terbentuk, data yang
terdapat pada dataset diambil secara acak. Tahap ini dilakukan bertujuan untuk
mengetahui alur dari algoritma K-Means dalam membentuk klasterisasi yang dapat
memberikan pengetahuan mengenai kalster pelanggan. Berikut ini merukapan
dataset yang digunakan untuk memebuat kalsterisasi pelanggan.
No
|
Nama Pelanggan
|
Frekuensi Transaksi
|
Total Transaksi
|
1
|
FIRMAN
|
1
|
220
|
2
|
ASEP
|
1
|
380
|
3
|
YUGA
|
1
|
300
|
4
|
AHMAD
|
1
|
409
|
5
|
TATI
|
1
|
230
|
6
|
ZAKI
|
1
|
77
|
7
|
TANTO
|
1
|
422
|
8
|
PK.HAJI
|
1
|
193
|
9
|
ADI
|
1
|
270
|
10
|
TUTI
|
1
|
520
|
11
|
DIKI
|
1
|
2475
|
12
|
ADE PHARMINDO
|
1
|
285
|
13
|
RAMDAN
|
1
|
931
|
14
|
EGI
|
1
|
6749
|
15
|
GINA
|
1
|
203
|
16
|
EGI PICANTO
|
1
|
490
|
17
|
IQBAL
|
1
|
320
|
18
|
BAMBANG
|
1
|
505
|
19
|
CEPI
|
1
|
168
|
20
|
RIFKI
|
1
|
587
|
21
|
AGUS
|
1
|
300
|
22
|
NUNI
|
1
|
600
|
23
|
MARK
|
1
|
424
|
24
|
ABI
|
1
|
664
|
25
|
ALI KONVEKSI
|
1
|
270
|
26
|
ASEP JAHIT
|
1
|
308
|
27
|
IMAM
|
1
|
1570
|
28
|
TITO
|
1
|
140
|
29
|
ABANG MESIN
|
1
|
440
|
30
|
HENDARIN
|
1
|
494
|
31
|
ELIAN - BMW
|
1
|
345
|
32
|
TARUNA - DIKNAS
|
1
|
150
|
33
|
ADANG
|
1
|
464
|
34
|
PK HAJI GOR
|
1
|
1439
|
35
|
SANDI
|
1
|
2510
|
1.
Penentuan pusat cluster awal
Dalam menetukan "n" buah
pusat cluster awal dilakukan pembangkitan bilangan acak yang mempresentasikan
urutan data input. Pusat awal cluster didapatkan dari data sendiri bukan dengan
menentukan titik baru, yaitu dengan menentukan secara acak pusat awal dari
data. Pada kasus ini terdapat 2 atribut
untuk nilai pusat cluster (centroid) yaitu nilai acak dari
rentang angka yang ada pada atribut frekuensi belanja dan nilai acak dari
rentang angka yang ada pada atribut total belanja. Misal, Pusat Cluster
(Centroid) C1 = (1, 2475) dimana angka 1 adalah nilai acak dari rentang
nilai yang ada pada atribut frekuensi belanja dan angka 2475 adalah nilai acak
dari rentang nilai yang ada pada atribut total belanja. Pusat Cluster (Centroid)
C2 = (1, 931) dan pusat Cluster (Centroid) C3 = (1, 270).
Untuk pusat cluster pada dataset menggunakan Pusat cluster
ke-1 diambil dari data ke-11, Pusat cluster ke-2 diambil dari data
ke-13, Pusat cluster ke-3 diambil dati data ke-25.
2.
Perhitungan jarak data dengan pusat cluster
Hitung jarak setiap data yang ada
terhadap setiap pusat cluster. Perhitungan jarak setiap data dengan setiap
pusat cluster menggunakan metode Euclidean dengan rumus 2.6. Adapun
proses perhitungan jarak setiap data dengan pusat cluster sebagai berikut :
a.
Ambil nilai data
Misal, data pelanggan ke-1
No
|
Nama Pelanggan
|
Frekuensi
|
Total
|
Belanja
|
Belanja
|
||
1
|
FIRMAN
|
1
|
220
|
Artinya jarak data pelanggan pertama dengan
centroid C3 sebesar 50. Dari hasil perhitungan data pelanggan ke-1 dengan
setiap pusat cluster maka dapat dilihat bahwa pelanggan ke-1 memiliki jarak
terdekat dari pusat cluster C3, sehingga data pelanggan ke-1 merupakan anggota
dari kelompok 3. Hasil Euclidian distance iterasi ke-1 dari dataset
bisa dilihat pada tabel berikut.
No
|
Nama Pelanggan
|
Frekuensi
|
Total
|
C1
|
C2
|
C3
|
Jarak Terpendek
|
Belanja
|
Belanja
|
||||||
1
|
FIRMAN
|
1
|
220
|
2255
|
711
|
50
|
50
|
2
|
ASEP
|
1
|
380
|
2095
|
551
|
110
|
110
|
3
|
YUGA
|
1
|
300
|
2175
|
631
|
30
|
30
|
4
|
AHMAD
|
1
|
409
|
2066
|
522
|
139
|
139
|
5
|
TATI
|
1
|
230
|
2245
|
701
|
40
|
40
|
6
|
ZAKI
|
1
|
77
|
2398
|
854
|
193
|
193
|
7
|
TANTO
|
1
|
422
|
2053
|
509
|
152
|
152
|
8
|
PK.HAJI
|
1
|
193
|
2282
|
738
|
77
|
77
|
9
|
ADI
|
1
|
270
|
2205
|
661
|
0
|
0
|
10
|
TUTI
|
1
|
520
|
1955
|
411
|
250
|
250
|
11
|
DIKI
|
1
|
2475
|
0
|
1544
|
2205
|
0
|
12
|
ADE PHARMINDO
|
1
|
285
|
2190
|
646
|
15
|
15
|
13
|
RAMDAN
|
1
|
931
|
1544
|
0
|
661
|
0
|
14
|
EGI SPLASH
|
1
|
6749
|
4274
|
5818
|
6479
|
4274
|
15
|
GINA
|
1
|
203
|
2272
|
728
|
67
|
67
|
16
|
EGI PICANTO
|
1
|
490
|
1985
|
441
|
220
|
220
|
17
|
IQBAL
|
1
|
320
|
2155
|
611
|
50
|
50
|
18
|
BAMBANG
|
1
|
505
|
1970
|
426
|
235
|
235
|
19
|
CEPI
|
1
|
168
|
2307
|
763
|
102
|
102
|
20
|
RIFKI
|
1
|
587
|
1888
|
344
|
317
|
317
|
21
|
AGUS
|
1
|
300
|
2175
|
631
|
30
|
30
|
22
|
NUNI
|
1
|
600
|
1875
|
331
|
330
|
330
|
23
|
MARK
|
1
|
424
|
2051
|
507
|
154
|
154
|
24
|
ABI
|
1
|
664
|
1811
|
267
|
394
|
267
|
25
|
ALI KONVEKSI
|
1
|
270
|
2205
|
661
|
0
|
0
|
26
|
ASEP JAHIT
|
1
|
308
|
2167
|
623
|
38
|
38
|
27
|
IMAM
|
1
|
1570
|
905
|
639
|
1300
|
639
|
28
|
TITO
|
1
|
140
|
2335
|
791
|
130
|
130
|
29
|
ABANG MESIN
|
1
|
440
|
2035
|
491
|
170
|
170
|
30
|
HENDARIN
|
1
|
494
|
1981
|
437
|
224
|
224
|
31
|
ELIAN - BMW
|
1
|
345
|
2130
|
586
|
75
|
75
|
32
|
TARUNA - DIKNAS
|
1
|
150
|
2325
|
781
|
120
|
120
|
33
|
ADANG
|
1
|
464
|
2011
|
467
|
194
|
194
|
34
|
PK HAJI GOR
|
1
|
1439
|
1036
|
508
|
1169
|
508
|
35
|
SANDI
|
1
|
2510
|
35
|
1579
|
2240
|
35
|
3.
Pengelompokan data
Suatu data akan menjadi anggota dari suatu kelompok yang memiliki jarak
terkecil dari pusat kelompoknya. Algoritma pengelompokan data sebagai berikut.
a.
Ambil nilai
masing-masing data sengan setiap pusat cluster,
d11
= 2255
d12
= 711
d13
= 50
b.
Cari nilai
jarak terkecil
Misal nilai
jarak data ke-1
d13
< d12 < d11
c.
Kelompokan data
dengan pusat cluster yang memiliki jarak terkecil.
Misal data ke-1
memiliki jarak terkecil dengan pusat cluster C3 maka data ke-1 masuk kedalam
kelompok 3. Kelompok dataset hasil iterasi ke-1 dapat dilihat pada tabel
berikut.
No
|
Nama
Pelanggan
|
C1
|
C2
|
C3
|
|
1
|
FIRMAN
|
1
|
|||
2
|
ASEP
|
1
|
|||
3
|
YUGA
|
1
|
|||
4
|
AHMAD
|
1
|
|||
5
|
TATI
|
1
|
|||
6
|
ZAKI
|
1
|
|||
7
|
TANTO
|
1
|
|||
8
|
PK.HAJI
|
1
|
|||
9
|
ADI
|
1
|
|||
10
|
TUTI
|
1
|
|||
11
|
DIKI
|
1
|
|||
12
|
ADE PHARMINDO
|
1
|
|||
13
|
RAMDAN
|
1
|
|||
14
|
EGI SPLASH
|
1
|
|||
15
|
GINA
|
1
|
|||
16
|
EGI PICANTO
|
1
|
|||
17
|
IQBAL
|
1
|
|||
18
|
BAMBANG
|
1
|
|||
19
|
CEPI
|
1
|
|||
20
|
RIFKI
|
1
|
|||
21
|
AGUS
|
1
|
|||
22
|
NUNI
|
1
|
|||
23
|
MARK
|
1
|
|||
24
|
ABI
|
1
|
|||
25
|
ALI KONVEKSI
|
1
|
|||
26
|
ASEP JAHIT
|
1
|
|||
27
|
IMAM
|
1
|
|||
28
|
TITO
|
1
|
|||
29
|
ABANG MESIN
|
1
|
|||
30
|
HENDARIN
|
1
|
|||
31
|
ELIAN - BMW
|
1
|
|||
32
|
TARUNA - DIKNAS
|
1
|
|||
33
|
ADANG
|
1
|
|||
34
|
PK HAJI GOR
|
1
|
|||
35
|
SANDI
|
1
|
Keterangan : Angka 1 adalah jarak terdekat yang terletak pada Cn.
ini baru iterasi ke-1 dan masih berlanjut sampai didapat hasil iterasi terakhir sama dengan hasil iterasi sebelumnya. so kita lanjut di pembahasan iterasi selanjutnya -- see you! ^^
Comments
Post a Comment