LAPORAN PRAKTIKUM PEMODELAN KLASIFIKASI INDONESIA

LAPORAN PRAKTIKUM
PEMODELAN KLASIFIKASI
Unsupervised Classification: k Means

Nama: Muhammad Hidayat
NRP: G152170331
Program Studi: Statistika Terapan

SEKOLAH PASCA SARJANA
INSTITUT PERTANIAN BOGOR
2018

Pendahuluan
Analisis klasifikasi adalah suatu analisis yang berguna untuk menentukan keanggotaan
grup/kelompok dari suatu individu. Terdapat dua tipe metode klasifikasi,unsupervised
classification dan supervised classification. Metode Unsupervised merupakan metode yang tidak
terdapat informasi mengenai kelompok/grup dari amatan pada data yang digunakan. Analisis
dilakukan untuk menentukan keanggotaan grup dari amatan tersebut. Sering juga dikenal sebagai
analisis gerombol (clustering, cluster analysis). Sedangkan metode Supervised merupakan metode
yang setiap data memiliki informasi mengenai kelompok/grup sesungguhnya dari amatan. Analisis
dilakukan untuk menentukan pembeda antar grup, dan aturan pembeda tersebut dapat

dimanfaatkan untuk menentukan keanggotaan dari amatan lain yang tidak ada dalam data.
Metode yang dibahas pada praktikum kali ini adalah metode k-means. Metode k-means adalah
salah satu metode unsupervised classification yang sederhana. Cara kerja metode ini adalah
dengan mengelompokkan setiap amatan ke dalam salah satu dari k kelompok dengan
meminimalkan jumlah kuadrat jarak setiap amatan dalam suatu kelompok terhadap titik tengah
(centroid) kelompok tersebut. Dengan demikian, tujuan dari praktikum ini adalah menerapkan
pemahaman tentang metode k-means untuk menyelesaikan permasalahan klasifikasi dalam dunia
nyata dan menjelaskan hasil klasifikasi yang didapat.

Metode dan Bahan
Metode yang digunakan pada praktikum ini adalan metode k-means. Misalkan terdapat n buah
amatan x1 x2 x3 , , ,… xn yang masing-masing akan dikelompokkan ke dalam salah satu dari k buah
kelompok yang memiliki nilai tengah (centroid) c1 c2 c3 , , ,… ck Biasanya nilai k jauh lebih kecil
dibanding dengan nilai n. Maka intuisi dari pengelompokkan adalah memasukkan amatan,
misalnya , xi ke dalam kelompok j jika xi memiliki jarak terdekat dengan j c dibandingkan dengan
centroid lainnya.
Berikut adalah algoritma dari metode k-means.
1. Menentukan banyaknya kelompok atau grup (k).
2. Menentukan nilai tengah (centroid) dari setiap kelompok, c1 c2 c3 , , ,..., dan ck .
3. Hitung jarak setiap amatan ( xi ) ke setiap nilai tengah ( cj ) dengan i = 1, 2, 3, ..., n dan

j = 1, 2, 3, ..., k.
4. Masukkan amatan ke-i ke dalam kelompok ke-j jika jarak antara amatan ke-i ke
kelompok ke-j atau dij paling kecil dibandingkan '. dij
5. Perbaharui nilai 1 2 3 , , ,..., dan c1 c2 c3 , , ,..., dan ck dengan menghitung rataan dari
semua xi yang menjadi anggota kelompok masing-masing.
6. Kembali ke tahap 3 sampai konvergen dan berhenti. Proses dihentikan jika semua
amatan dari 2 iterasi berurutan tidak berpindah kelompok. Hal ini menyebabkan nilai
tengah atau centroid dari masing-masing kelompok dari dua iterasi berurutan tersebut
tidak berubah.

Penentuan banyaknya kelompok atau grup bisa didasarkan pada subjektivitas peneliti atau bisa
juga didasarkan pada data. Contoh dari penentuan banyaknya kelompok oleh peneliti adalah pada
kasus pengelompokkan gerai ritel. Peneliti yakin berdasarkan pengetahun dan pengalamannya,
gerai ritel bisa dikelompokkan ke dalam 5 kategori. Sehingga peneliti hanya perlu
mengelompokkan gerai ritel ke dalam 5 kategori. Sedangkan contoh dari penentuan banyaknya
kelompok berdasarkan data adalah ketika tidak ada batasan subjektif untuk menentukan banyakna
kelompok. Sehingga penentuan banyaknya kelompok bisa didasarkan pada data yang tersedia
berdasarkan kriteria tertentu.
Kriteria yang digunakan dalam menentukan banyaknya kelompok dalam praktikum ini adalah
Within Sum of Squares dan Silhouette Coefficient. Nilai Within Sum of Squares berbanding terbalik

dengan banyaknya kelompok. Semakin banyak kelompok yang digunakan, maka semakin kecil
nilai Within Sum of Squares yang didapat. Banyaknya kelompok yang baik adalah yang memiliki
nilai Within Sum of Squares kecil. Nilai minimum dari Within Sum of Squares didapat saat
banyaknya kelompok adalah n - 1. Akan tetapi, ketika banyaknya kelompok adalah n - 1 dan
memiliki nilai Within Sum of Squares yang sangat kecil, maka banyaknya kelompok tersebut
menjadi tidak berarti. Oleh karena itu, perlu digunakan kriteria untuk menentukan banyaknya
kelompok dengan nilai Within Sum of Squares yang kecil dan banyaknya kelompok yang didapat
juga tetap berarti.
Salah satu cara menentukan banyaknya kelompok (k) menggunakan nilai Within Sum of Squares
adalah dengan membandingkan nilai Within Sum of Squares mulai dari nilai k =1. Diketahui bahwa
kenaikan nilai k akan menurunkan nilai dari Within Sum of Squares. Biasanya penurunannya akan
semakin mengecil ketika nilai k semakin membesar. Nilai k yang dipilih adalah nilai k ketika mulai
mengalamin penurunan nilai Within Sum of Squares yang konstan.
Selain dengan membandingkan nilai Within Sum of Squares, penentuan banyaknya kelompok juga
bisa dengan membandingkan nilai Silhouette Coefficient, lebih tepatnya adalah rataan dari
Silhouette Coefficient untuk suatu nilai k tertentu. Jika terdapat dua nilai k berbeda dengan masingmasing nilai rataan dari Silhouette Coefficient-nya, maka k dengan nilai Silhouette Coefficient yang
lebih besar mengelompokkan data lebih baik dibandingkan dengan k lainnya. Dalam praktek,
perhitungan Silhouette Coefficient untuk data yang besar memerlukan media komputasi dengan
spesifikasi yang tinggi sehingga terkadang sukar untuk dilakukan.
Permasalahan klasifikasi pada praktikum ini adalah pengelompokkan pelanggan telepon seluler

dari sebuah provider telekomunikasi sehingga didapat kelompok-kelompok pelanggan sehingga
bisa membantu optimalisasi promosi sehingga bisa meningkatkan revenue. Sebanyak 300.000 data
pelanggan selama 3 bulan terakhir dengan 27 atribut disajikan dalam tabel cobacluster.csv. Tidak
semua atribut tersebut digunakan dalam proses pengelompokkan. Pengelompokkan dilakukan
dengan menggunakan 8 buah atribut yang diperkirakan signifikan menjadi faktor penting dalam
proses pengelompokan.

Pembahasan
Proses pengelompokan pada praktikum ini menggunakan bantuan komputer dengan perangkat
lunak R. Secara umum, proses pengelompokkan dilakukan dalam 2 tahap, yaitu persiapan data
dan pengolahan data.
Persiapan data
Dimulai dari mengimport data ke dalam program R Kemudian melakukan pemilihan 8 variabel
atau atribut yang akan digunakan sebagai dasar pengelompokkan dan diberikan kode nama
variabel atau atribut Variabel-variabel tersebut adalah sebagai berikut
1. CDR_TOTAL_DATA_MB
2. CDR_VOICE_DRTN_MIN
3. CDR_TXN_VOICE
4. CDR_RATIO_VOICE_ONNET
5. CDR_RATIO_SMS_ONNET

6. persen_voice
7. persen_sms
8. persen_data
Persen_voice, persen_sms, dan persen_data masing-masing adalah persentase REV_VOICE,
REV_SMS, REV_DATA masing-masing pelanggan terhadap total revenue (tot_rev) yang
dihasilkan pelanggan tersebut. Total revenue itu sendiri adalah jumlah dari REV_VOICE,
REV_SMS, dan REV_DATA dari masing-masing pelanggan. Kombinasi dari 8 variabel tersebut
berkaitan dengan total revenue yang didapat oleh perusahaan dari setiap pelanggan. Oleh karena
itu, perlu dicek terlebih dahulu apakah ada total revenue yang bernilai nol.
Data awal sebelum dibuang data yang nol
'data.frame':
30000 obs. of 8 variables:
$ CDR_TOTAL_DATA_MB
: num 6 0 303 0 0 408 0 3 0 0 ...
$ CDR_VOICE_DRTN_MIN
: num 51.3 44 443 141.3 681.3 ...
$ CDR_TXN_VOICE
: num 172 26 260 128 367 ...
$ CDR_RATIO_VOICE_ONNET: num 0.99 0.807 0.998 0.941 0.933 ...
$ CDR_RATIO_SMS_ONNET : num 0.998 0.917 1 0.873 0.826 ...

$ REV_VOICE
: num 77005 37837 218717 138634 353258 ...
$ REV_SMS
: num 38217 10658 90503 9125 74983 ...
$ REV_DATA
: num 23134 4174 47501 0 70000 ...

Ternyata didapat ada 4 orang pelanggan yang tidak menghasilkan revenue bagi perusahaan.
Mereka adalah pelanggan nomor 2.956, 4.837, 10.024, dan 12.996. Oleh karena itu, pelanggan
dengan total_rev sama dengan nol tidak diikutkan dalam pengelompokkan. Sehingga banyaknya
pelanggan yang diikutkan dalam pengelompokan menjadi 299,996 pelanggan, maka didapatkan
hasil seperti ini.
'data.frame':
29996 obs. of 8 variables:
$ CDR_TOTAL_DATA_MB
: num -0.428 -0.429 -0.365 -0.429 -0.429 ...
$ CDR_VOICE_DRTN_MIN
: num -0.521 -0.534 0.2 -0.355 0.638 ...
$ CDR_TXN_VOICE
: num 0.3396 -0.6168 0.9183 0.0536 1.6148 ...

$ CDR_RATIO_VOICE_ONNET: num 0.548 -0.388 0.585 0.294 0.254 ...
$ CDR_RATIO_SMS_ONNET : num 0.882 0.563 0.889 0.391 0.21 ...
$ persen_rev_voice
: num -0.00947 0.49812 0.16795 1.18777 0.4687 ...
$ persen_rev_sms
: num 0.6958 0.2699 0.566 -0.541 -0.0292 ...
$ persen_rev_data
: num -0.345 -0.602 -0.444 -0.834 -0.423 ...

CDR_TOTAL_DATA_MB CDR_VOICE_DRTN_MIN CDR_TXN_VOICE CDR_RATIO_VOICE_ONNET
2956
0
0
0
0
4837
0
0
0
0

10024
0
0
0
0
12996
0
0
0
0
CDR_RATIO_SMS_ONNET REV_VOICE REV_SMS REV_DATA tot_rev persen_rev_voice
2956
0
0
0
0
0
0
4837
0

0
0
0
0
0
10024
0
0
0
0
0
0
12996
0
0
0
0
0
0
persen_rev_sms persen_rev_data

2956
0
0
4837
0
0
10024
0
0
12996
0
0

Pengolahan Data
Proses pengolahan data dimulai dengan melakukan standarisasi untuk 8 variabel yang akan
digunakan dalam proses pengelompokan. Standarisasi perlu dilakukan karena data dari 8 variabel
tersebut beragam unit dan satuannya. Standarisasi yang digunakan adalah standarisasi yang
menyatakan posisi setiap data terhadap rataannya dalam satuan simpangan bakunya.
Langkah selanjutnya adalah mencari pendugaan banyaknya kelompok dengan membandingkan
nilai Within Sum of Squares mulai dari jika kelompoknya 1 hingga 10

dengan menggunakan seed 1234.

Dapat dilihat bagaimana karakteristik dari setiap kelompok/cluster data dapat digambarkan
sebagai berikut:

Kesimpulan
Hasil pengelompokan karakteristik pelanggan dari salah satu provider telekomunikasi yang
dicatat selama 3 bulan terakhir dibagi menjadi 5 kelompok, yaitu:
 Cluster 1: Kelompok pelanggan yang cukup banyak melakukan panggilan dan mengirim sms
kesesama operator dengan biaya telpon yang mahal.
 Cluster 2: Kelompok pelanggan yang aktivitasnya terpusat pada penggunaan data internet.
 Cluster 3: Kelompok pelanggan yang sangat tinggi aktivitasnya dalam menggunakan data
internet dan cukup banyak melakukan panggilan dan mengirim sms kesesama operator
dengan biaya telpon dan sms yang murah.
 Cluster 4: Kelompok pelanggan yang sangat sering melakukan telepon.
 Cluster 5: Kelompok pelanggan yang hanya melakukan sms.

Lampiran
Sintaks program R yang digunakan.
#import data .csv#
cobacluster