• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM PEMODELAN KLASIFIKASI INDONESIA

N/A
N/A
Protected

Academic year: 2018

Membagikan "LAPORAN PRAKTIKUM PEMODELAN KLASIFIKASI INDONESIA"

Copied!
8
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM

PEMODELAN KLASIFIKASI

Unsupervised Classification: k Means

Nama: Muhammad Hidayat NRP: G152170331

Program Studi: Statistika Terapan

SEKOLAH PASCA SARJANA

INSTITUT PERTANIAN BOGOR

(2)

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 x1x2x3 , , ,…xn yang masing-masing akan dikelompokkan ke dalam salah satudari 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 terdekatdengan 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 .

semua xi yang menjadi anggota kelompok masing-masing.

(3)

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 WithinSum 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 masing-masing 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.

(4)

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

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 ...

(5)

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

(6)

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

Kesimpulan

Hasil pengelompokan karakteristik pelanggandari salah satu provider telekomunikasi yang dicatat selama 3 bulan terakhir dibagi menjadi 5 kelompok, yaitu:

Cluster 1: Kelompok pelangganyang cukup banyak melakukan panggilan dan mengirim sms

kesesama operator dengan biaya telpon yang mahal.

Cluster 2: Kelompok pelangganyang aktivitasnya terpusat pada penggunaan data internet.

Cluster 3: Kelompok pelangganyang 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 pelangganyang sangat sering melakukan telepon.

(7)

Lampiran

Sintaks program R yang digunakan.

#import data .csv#

cobacluster <- read.csv("C:/Users/Dayat/Desktop/cobacluster.csv", header=TRUE) dim(cobacluster)

#mengambil variabel mana saja yang akan digunakan#

coba1<-cobacluster[,c(14,3,5,7,10,4,13,18)] dim(coba1)

str(coba1) View(coba1)

#menambah variabel tot_rev dengan isi jumlahan dari setiap baris pada kolom 6,7,8# coba1$tot_rev<-(coba1[,6]+coba1[,7]+coba1[,8])

#menghitung 3 variabel tambahan (yang persen)#

(8)

#hitung wss#

wssplot<-function(coba4, nc=15, seed=1234){ wss<-(nrow(coba4)-1)*sum(apply(coba4,2,var)) for (i in 2:nc){

set.seed(seed)

wss[i] <-sum(kmeans(coba4, centers=i)$withinss)} plot(1:nc, wss, type="b", xlab="Number of Clusters", ylab="Within groups sum of squares")}

#plotkan#

wssplot(coba4,10)

#kelompokkan coba4 kedalam 5 kluster# set.seed(1)

gerombol<-kmeans(coba4,5)

#baris masuk kelompok mana# gerombol$cluster

#jumlah anggota tiap kelompok# table(gerombol$cluster)

#membuat plot kluster pake (clusplus) library(devtools)

library(clusplus)

plot_clus_coord(gerombol,coba4)

#membuat variabel baru yang berisi baris itu masuk kelompok mana# coba5<-cbind(coba4,gerombol$cluster)

View(coba5)

#mendesrikpisikan menggunakan data yg di standardisasi# library(psych)

Referensi

Dokumen terkait

Pengabdian pada masyarakat dilaksanakan di Kabupaten Bandung Barat kepada guru-guru Sekolah Dasar mengenai penyusunan bahan ajar dengan tema “menumbuhkan

Instrumen utama yang digunakan pemerintah untuk menggerakkan pembangunan pertanian adalah melalui serangkaian kebijakan publik bidang pertanian dengan sasaran utama

3 Bank bertindak sebagai Penyedia Fasilitas Likuiditas Jenis eksposur (contoh: tagihan beragun rumah tinggal).. 4 Bank bertindak sebagai Penyedia Jasa Jenis eksposur (contoh:

Jelutung rawa (Dyera lowii Hook.F) adalah salah satu jenis pohon lokal unggulan hutan rawa gambut yang memiliki hasil ganda yaitu getah dan kayu yang bernilai

Pencucian garam dari permukaan tanah ke lapisan yang lebih dalam (sub soil) dengan air yang tidak salin (misalnya air hujan) akan menurunkan hasil bacaan EM dipermukaan tanah,

Kultur in vitro tanaman kina (a) kecambah in vitro umur 3-4 minggu yang digunakan sebagai sumber eksplan, (b) multiplikasi tunas apikal umur delapan minggu,

 Retribusi daerah adalah pungutan daerah sebagai pembayaran atas jasa atau pemberian izin tertentu yang khusus diberikan atau disediakan oleh pemerintah daerah

Sasaran dari pe : laksanaan kegiatan ini adalah agar data-data kemiskinan di provinsi dapat dimasukkan dalam server dan ditampilkan dalam aplikasi berbasis web yang