Anda di halaman 1dari 65

UNIVERSITAS INDONESIA

PENINGKATAN KINERJA METODE K-MEANS DENGAN


PENDEKATAN MINI BATCH UNTUK MASALAH
PENDETEKSIAN TOPIK

TESIS

SITI ROFIQOH FITRIYANI


1406581225

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM


PROGRAM STUDI MAGISTER MATEMATIKA
DEPOK
JANUARI 2016

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


UNIVERSITAS INDONESIA

PENINGKATAN KINERJA METODE K-MEANS DENGAN


PENDEKATAN MINI BATCH UNTUK MASALAH
PENDETEKSIAN TOPIK

TESIS
Diajukan sebagai salah satu syarat untuk memperoleh gelar Magister Sains

SITI ROFIQOH FITRIYANI


1406581225

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM


PROGRAM STUDI MAGISTER MATEMATIKA
DEPOK
JANUARI 2016

ii

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


HALAMAN PERNYATAAN ORISINALITAS

Tesis ini adalah hasil karya saya sendiri, dan semua

sumber baik yang dikutip maupun dirujuk telah saya

nyatakan dengan benar.

Nama : Siti Rofiqoh Fitriyani

NPM : 1406581225

Tanda Tangan :

Tanggal : 6 Januari 2016

iii

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


HALAMAN PENGESAHAN

Skripsi ini diajukan oleh


Nama : Siti Rofiqoh Fitriyani
NPM : 1406581225
Program Studi : Magister Matematika
Judul Skripsi : Peningkatan Kinerja Metode K-means dengan
Pendekatan Mini Batch untuk Masalah
Pendeteksian Topik

Telah berhasil dipertahankan di hadapan Dewan Penguji dan diterima sebagai


bagian persyaratan yang diperlukan untuk memperoleh gelar Magister Sains pada
Program Studi Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam,
Universitas Indonesia

DEWAN PENGUJI

Pembimbing I : Dr. rer. nat. Hendri Murfi, S.Si., M.Kom. ( )

Penguji : Prof. Dr. Djati Kerami ( )

Penguji : Dr. Suryadi MT, MT. ( )

Penguji : Dr. Yudi Satria, MT. ( )

Ditetapkan di : Depok
Tanggal : 6 Januari 2016

iv

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


KATA PENGANTAR

Alhamdulillah, puji dan syukur penulis panjatkan kepada Allah Azza Wa


Jalla, atas rahmat, hidayah, karunia, dan pertolongan-Nya, penulis dapat
menyelesaikan penelitian ini. Shalawat serta salam senantiasa tercurahkan kepada
manusia terbaik, suri tauladan Nabi Muhammad shalaullahu' alaihi wassalam,
beserta keluarganya, sahabat-sahabatnya, serta para penerus risalahnya hingga
akhir zaman.
Penulis menyadari bahwa selama masa perkuliahan hingga pada proses
penyelesaian penelitian ini tidaklah terlepas dari bantuan dan bimbingan dari
berbagai pihak. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan
terima kasih kepada pihak-pihak yang telah memberikan bantuan dan dukungan
kepada penulis. Ucapan terima kasih ini ditujukan kepada:
1) Dr. ret. nat. Hendri Murfi, S.Si., M.Kom. selaku pembimbing I, yang
telah memberikan kesempatan pada penulis untuk mendapatkan
bimbingan dengan mengerahkan waktu, tenaga, dan pikirannya. Serta
selalu memberikan bantuan, semangat, dan doa kepada penulis selama
penelitian;
2) Dewan penguji, atas saran yang diberikan kepada penulis untuk
kesempurnaan tesis ini;
3) Dr. Hengki Tasman, selaku pembimbing akademik yang dengan sabar
dan ramah memberikan arahan dan motivasi selama masa perkuliahan;
4) Prof. Dr. Djati Kerami, selaku Ketua Program Studi Magister
Matematika yang telah memberikan arahan kepada penulis semasa
perkuliahan;
5) Alhadi Bustamam Ph.D., selaku Ketua Departemen Matematika
FMIPA UI yang telah memberikan arahan dan saran kepada penulis;
6) Seluruh bapak dan ibu dosen Departemen Matematika UI yang telah
memberikan ilmu dan nasihat kepada penulis selama masa perkuliahan.
Semoga menjadi manfaat yang tiada putus-putusnya;
7) Seluruh staf dan karyawan Departemen Matematika UI atas semua
bantuan dan layanan yang telah diberikan selama perkuliahan;

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


8) Orangtua (Atang Sahidin (Alm.) dan Nur Aas Asniasari), kakak dan istri
(M. Fariz Hamzah dan Rani Handayani), adik-adik (Fatimah Zahrah dan
Fahmi Arif), serta seluruh keluarga besar penulis. Terima kasih atas
dukungan, perhatian, dan doa yang selalu dipanjatkan untuk kelancaran
dan kebaikan pada setiap aktivitas penulis;
9) Khumaisa Nur’aini, Ermita Rizky, Rostika Listyaningrum, Adib
Pratama, dan Eka Panji yang secara khusus telah membantu dan
mendukung penulis dalam menyelesaikan penelitian ini;
10) Teman- teman seperjuangan tesis Rozi, Maria, Ika, Rosiana, Ghea,
Wisnu, Wulan, Khaola, Nanni, dan Rita atas semangat dan motivasi
yang telah diberikan;
11) Teman-teman angkatan 2014 atas semua bantuan, dukungan, doa, dan
kenangan yang tak terlupakan selama masa kuliah;
12) Asti, Sadana, Diana, Dewi, dan teman-teman semasa S1 lainnya atas
semua bantuan, dukungan, dan doa yang selalu menjadi penyemangat
bagi penulis;
13) Kakak-kakak angkatan 2013 atas semangat dan bantuannya selama di
Matematika;
14) Semua pihak yang telah membantu penulis yang namanya tidak dapat
disebutkan satu persatu. Semoga Allah membalas kebaikan kalian
semua.
Akhir kata, saya berharap semua pihak yang telah membersamai penulis
mendapat balasan kebaikan tak ternilai dari Allah SWT. Semoga penelitian ini
dapat memberi manfaat untuk para pembaca dan pengembangan ilmu ke depannya.

Depok, Januari 2016

Penulis

vi

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI
TUGAS AKHIR UNTUK KEPENTINGAN AKADEMIS

Sebagai sivitas akademik Universitas Indonesia, saya yang bertanda tangan di


bawah ini:

Nama : Siti Rofiqoh Fitriyani


NPM : 1406581225
Program Studi : Magister Matematika
Departemen : Matematika
Fakultas : Matematika dan Ilmu Pengetahuan Alam
Jenis karya : Tesis

demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada


Universitas Indonesia Hak Bebas Royalti Noneksklusif (Non-exclusive Royalty
Free Right) atas karya ilmiah saya yang berjudul:

Peningkatan Kinerja Metode K-means dengan Pendekatan Mini Batch untuk


Masalah Pendeteksian Topik

beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti
Noneksklusif ini Universitas Indonesia berhak menyimpan, mengalih
media/format-kan, mengelola dalam bentuk pangkalan data (database), merawat
dan mempublikasikan tugas akhir saya selama tetap mencatumkan nama saya
sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di : Depok
Pada tanggal : 6 Januari 2016
Yang menyatakan,

(Siti Rofiqoh Fitriyani)

vii

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


ABSTRAK

Nama : Siti Rofiqoh Fitriyani


Program Studi : Matematika
Judul : Peningkatan Kinerja Metode K-means dengan Pendekatan
Mini Batch untuk Masalah Pendeteksian Topik

Media online menjadi suatu media penting dalam mengakses berbagai macam
informasi yang dibutuhkan, misal berita-berita aktual pada portal berita ataupun
media sosial. Dinamika perkembangan berita dan informasi pada media online ini
semakin tinggi seiring dengan kebutuhan berita teraktual dari setiap peristiwa. Isi
informasi yang terkandung dalam berita pun sangat beragam. Oleh karena itu,
dibutuhkan metode pendeteksian topik secara otomatis agar mempermudah
pengguna mengakses informasi. Salah satu metode otomatis untuk pendeteksian
topik adalah metode K-means clustering. Namun, dimensi data yang cukup besar
menjadi kendala dalam pendeteksian topik secara otomatis, sehingga dibutuhkan
pendekatan lain dalam proses pengolahan data. Pada penelitian ini pendekatan yang
digunakan adalah metode mini batch yang hanya menggunakan sekelompok kecil
data dalam proses clustering. Akurasi dari metode ini menunjukkan hasil yang
cukup baik untuk waktu komputasi yang jauh lebih singkat.

Kata Kunci : Pendeteksian Topik, Berita Online, Twitter, K-means,


Mini Batch K-means.
xiv+51 halaman : 27 gambar, 9 tabel, dan 2 lampiran.
Daftar Acuan : 14 (1998-2015).

viii Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


ABSTRACT

Name : Siti Rofiqoh Fitriyani


Program Study : Mathematics
Title : Performance Improvement of K-Means Method with Mini
Batch Approach for Topics Detection Issues

Online media became an important media access to various kinds of information


needed, e.g. actual news on news portals or social media. The dynamics of the news
and information on online media is higher in line with the needs of most actual news
of each event. The information contained in the news are very diverse. Therefore,
it takes automatic topic detection methods in order to facilitate users to access the
information. One of which method for the automatic topic detection is the K-means
clustering. However, the large dimensions of data become obstacles, so it needs a
different approach in data processing. In this research, the approximation that used
is a mini-batch method that uses only a small group of data in the clustering process.
The accuracy of this method showed good results for the computing time is much
shorter.

Key Words : Topic Detection, Online News, Twitter, K-means, Mini


Batch K-means.
xiv+51 pages : 27 pictures, 9 tables, and 2 appendices.
Bibliography : 14 (1998-2015).

ix Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


DAFTAR ISI

HALAMAN PERNYATAAN ORISINALITAS .............................................. iii


HALAMAN PENGESAHAN ............................................................................. iv
KATA PENGANTAR .......................................................................................... v
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI ...................... vii
ABSTRAK ......................................................................................................... viii
ABSTRACT ......................................................................................................... ix
DAFTAR ISI ......................................................................................................... x
DAFTAR GAMBAR .......................................................................................... xii
DAFTAR TABEL ............................................................................................. xiv
BAB 1 PENDAHULUAN ..................................................................................... 1
1.1 Latar Belakang ............................................................................................... 1
1.2 Rumusan Masalah ......................................................................................... 3
1.3 Batasan Masalah ............................................................................................ 3
1.4 Tujuan Penelitian ........................................................................................... 3
1.5 Metode Penelitian .......................................................................................... 4
BAB 2 LANDASAN TEORI ................................................................................ 5
2.1 Pendeteksian Topik ....................................................................................... 5
2.2 Metode Gradient Descent............................................................................... 6
2.3 Metode K-means Clustering .......................................................................... 8
BAB 3 MINI BATCH K-MEANS ....................................................................... 11
3.1 Metode Mini Batch K-Means Clustering .................................................... 11
3.2 Inisialisasi Centroid ...................................................................................... 14
BAB 4 SIMULASI .............................................................................................. 15
4.1 Tahapan Umum Simulasi ........................................................................... 15
4.2 Spesifikasi Mesin dan Perangkat Lunak ................................................... 16
4.3 Studi Kasus: Data Berita Online ................................................................ 17
4.3.1 Akuisi Data ..................................................................................... 17
4.3.2 Ekstraksi Fitur ................................................................................ 18
4.3.3 Learning: Metode Mini Batch K-means dan K-means.................... 19

x Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


4.3.4 Evaluasi dan Hasil Simulasi ........................................................... 21
4.3.4.1 Analisis Akurasi ............................................................... 21
4.3.4.2 Analisis Waktu ................................................................. 26
4.3.4.3 Perbandingan Hasil Simulasi antara Metode Mini Batch K-
means, K-means, dan LDA ........................................................... 28
4.4 Studi Kasus: Data Berita Twitter .............................................................. 30
4.4.1 Akuisi Data ..................................................................................... 30
4.4.2 Ekstraksi Fitur ................................................................................. 34
4.4.3 Learning: Metode Mini Batch K-means dan K-means.................... 34
4.4.4 Evaluasi dan Analisis Hasil ............................................................ 35
4.4.4.1 Analisis Akurasi ............................................................... 35
4.4.4.2 Analisis Waktu ................................................................. 41
4.4.4.3 Perbandingan Hasil Simulasi antara Metode Mini Batch K-
means, K-means, dan LDA ........................................................... 43
BAB 5 PENUTUP ............................................................................................... 45
5.1 Kesimpulan .................................................................................. ................ 45
.

5.2 Saran ............................................................................................................. 45


DAFTAR PUSTAKA ........................................................... .............................. 46
.

LAMPIRAN ........................................................................................................ 48
Lampiran 1. Listing Program Ekstraksi Topik untuk Data Berita Online ... 48
Lampiran 2. Listing Program Ekstraksi Topik untuk Data Twitter ............. 50

xi Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


DAFTAR GAMBAR

Gambar 2.1 Penggunaan Metode Gradient Descent pada 𝑓(𝑥) = 𝑥 2 dengan 𝑥0 =


1 dan 𝛼 = 0.3 ......................................................................................................... 7
Gambar 4.1 Ilustrasi Tahap Pendeteksian Topik ................................................ 15
Gambar 4.2 Grafik Banyaknya Dokumen dan Kosa Kata dari Data Berita Online
............................................................................................................................... 18
Gambar 4.3 Grafik Koheren Metode Mini Batch K-means ................................ 23
Gambar 4.4 Grafik Koheren Metode Mini Batch K-means Bulan Januari 2014
............................................................................................................................... 24
Gambar 4.5 Grafik Koheren Metode Mini Batch K-means Bulan Februari 2014
............................................................................................................................... 24
Gambar 4.6 Grafik Koheren Metode Mini Batch K-means Bulan Maret 2014 .. 25
Gambar 4.7 Grafik Koheren Metode K-means ................................................... 25
Gambar 4.8 Grafik Waktu Metode Mini Batch K-means Bulan Januari 2014.... 26
Gambar 4.9 Grafik Waktu Metode Mini Batch K-means Bulan Februari 2014.. 26
Gambar 4.10 Grafik Waktu Metode Mini Batch K-means Bulan Maret 2014 ... 27
Gambar 4.11 Grafik Waktu Metode K-means .................................................... 28
Gambar 4.12 Grafik Jumlah Tweet dan Kosa Kata dari Data FACUP ............... 33
Gambar 4.13 Grafik Jumlah Tweet dan Kosa Kata dari Data Super Tuesday .... 33
Gambar 4.14 Ilustrasi Hasil Perhitungan Akurasi oleh TopicEvaluator.jar ....... 36
Gambar 4.15 Grafik Topic Recall Metode Mini Batch K-means pada Data
FACUP ................................................................................................................. 37
Gambar 4.16 Grafik Topic Recall Metode Mini Batch K-means pada Data Super
Tuesday ................................................................................................................. 38
Gambar 4.17 Grafik Term Precission Metode Mini Batch K-means pada Data
FACUP ................................................................................................................. 39
Gambar 4.18 Grafik Term Recall Metode Mini Batch K-means pada Data
FACUP ................................................................................................................. 39
Gambar 4.19 Grafik Term Precission Metode Mini Batch K-means pada Data
Super Tuesday ...................................................................................................... 40

xii Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


Gambar 4.20 Grafik Term Recall Metode Mini Batch K-means pada Data Super
Tuesday ................................................................................................................. 40
Gambar 4.21 Grafik Topic Recall Metode K-means pada Data FACUP ............ 41
Gambar 4.22 Grafik Topic Recall Metode K-means pada Data Super Tuesday
………………………………………………………………………………....... 41
Gambar 4.23 Grafik Waktu dari Data FACUP Menggunakan Metode Mini Batch
K-means ................................................................................................................ 42
Gambar 4.24 Grafik Waktu dari Data Super Tuesday Menggunakan Metode Mini
Batch K-means ...................................................................................................... 42
Gambar 4.25 Grafik Waktu dari Data FACUP & Super Tuesday Menggunakan
Metode K-means .................................................................................................. 43
Gambar 4.26 Grafik Topic Recall Ketiga Metode pada Data FACUP .............. 44
Gambar 4.27 Grafik Topic Recall Ketiga Metode pada Data Super Tuesday ... 44

xiii Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


DAFTAR TABEL

Tabel 4.1 Spesifikasi Mesin dan Perangkat Lunak .............................................. 16


Tabel 4.2 Ilustrasi Data Hasil Akuisisi Bagian Judul dan Isi Berita ................... 17
Tabel 4.3 Ilustrasi Daftar Topik Berita Online yang Dihasilkan ......................... 20
Tabel 4.4 Ilustrasi Daftar Topik dengan 𝑏 = 100 untuk Data Bulan Januari 2014
............................................................................................................................... 21
Tabel 4.5 Waktu dan Nilai Koheren Terbaik dari Ketiga Metode untuk Data
Bulan Januari 2014 ............................................................................................... 28
Tabel 4.6 Waktu dan Nilai Koheren Terbaik dari Ketiga Metode untuk Data
Bulan Februari 2014 ............................................................................................. 29
Tabel 4.7 Waktu dan Nilai Koheren Terbaik dari Ketiga Metode untuk Data
Bulan Maret 2014 ................................................................................................. 29
Tabel 4.8 Ilustrasi Data Twitter Hasil Akuisisi ................................................... 30
Tabel 4.9 Ilustrasi Daftar Topik Tweets yang Dihasilkan ................................... 34

xiv Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


BAB 1
PENDAHULUAN

1.1 Latar Belakang


Seiring perkembangan teknologi informasi, media online menjadi suatu
media penting dalam mengakses berbagai macam informasi yang dibutuhkan, misal
berita-berita aktual. Berita-berita ini dapat diakses melalui portal berita online
karena sebagian besar perusahaan-perusahaan media cetak telah menggunakan
media online untuk menyajikan konten berita dan informasi. Selain itu, media sosial
juga telah menjadi sumber informasi berita aktual yang sangat penting karena
banyak sekali kejadian atau peristiwa pertama kali muncul pada media sosial.
Dinamika perkembangan berita dan informasi pada media online ini semakin tinggi
seiring dengan kebutuhan berita teraktual dari setiap peristiwa. Secara tersirat,
dinamika ini pun mengandung informasi lainnya seperti topik yang sedang hangat
dibicarakan, hubungan antara topik satu dengan lainnya, dan tren dari suatu topik
tertentu. Sebelum mendapatkan informasi-informasi tersebut, berita-berita tersebut
perlu dikelompokkan berdasarkan topik masing-masing. Sehingga, pendeteksian
topik menjadi tahapan awal yang penting untuk mencapai informasi-informasi
tersebut.
Pendeteksian topik dari suatu data tekstual dapat dilakukan secara manual,
yaitu dengan membaca semua data tekstual tersebut. Akan tetapi, proses
pendeteksian topik secara manual akan menghadapi kendala ketika jumlah data
semakin besar. Bahkan pada beberapa aplikasi yang membutuhkan waktu respon
yang cepat, pendeteksian topik secara manual ini tidak layak digunakan. Oleh sebab
itu, metode pendeteksian topik otomatis diperlukan untuk menyelesaikan tugas
tersebut. Metode pendeteksian topik secara otomatis ini dikenal juga dengan nama
Topic Detection and Tracking (TDT) (Allan, 2002).
Metode machine learning yang populer digunakan untuk masalah
pendeteksian topik ini adalah Latent Dirichlet Allocation (LDA) (Blei, 2003). LDA
merupakan suatu model probabilistik yang menyelesaikan masalah pendeteksian
topik sebagai suatu masalah model variabel tersembunyi. Pada pendekatan ini,

1
Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


2

topik dinyatakan sebagai variabel tersembunyi dari suatu koleksi data tekstual.
LDA mengasumsikan bahwa suatu data tekstual merepresentasikan beberapa topik.
Setiap kata pada data tekstual dibangkitkan dengan cara memilih secara acak suatu
topik pada distribusi dari topik, dan kemudian memilih secara acak suatu kata pada
distribusi dari kosa kata (Blei, 2012). Namun ternyata dalam proses komputasinya,
metode LDA menghadapi masalah NP-hard (Sontag & Roy, 2011), sehingga
membutuhkan waktu komputasi yang lama. Oleh karena itu, salah satu topik
penelitian terkait dengan TDT adalah mencari metode lain yang dapat memberikan
hasil yang sebanding dengan waktu yang relatif lebih singkat. Salah satu metode
alternatif tersebut adalah metode clustering.
Clustering merupakan teknik mengelompokkan data sedemikian sehingga
anggota dari kelompok yang sama, lebih homogen atau lebih mirip satu sama lain
daripada dengan anggota kelompok yang berbeda. Salah satu algoritma clustering
yang banyak digunakan adalah algoritma K-means. Tujuan dari algoritma K-means
Clustering ini adalah membagi himpunan data pada sejumlah 𝐾 cluster dengan nilai
𝐾 diberikan. Algoritma K-means merepresentasikan setiap kelompok atau cluster
dengan suatu pusat cluster atau disebut juga centroid. Pertama-tama metode ini
berjalan dengan menginisialisasi pusat cluster. Selanjutnya, data dikelompokkan ke
suatu cluster dengan ketentuan bahwa jarak antara data dan pusat cluster adalah
terkecil. Kemudian, masing-masing pusat cluster diperbaharui dengan rata-rata dari
data pada cluster tersebut, sehingga pusat cluster tersebut benar-benar
merepresentasikan nilai tengah atau pusat dari kumpulan data dalam cluster
tersebut. Proses ini dilakukan secara iteratif hingga proses update pusat cluster
konvergen. Pada akhir iterasi didapatkan cluster yang merupakan kelompok data
yang memiliki jarak antar data dalam kelompok tersebut lebih kecil dibandingkan
jarak dengan data di luar kelompok (Bishop, 2006).
Algoritma K-means yang sederhana, mudah dipahami, dan berpotensi untuk
dikembangkan lagi menjadi suatu awal bagi para peneliti untuk memodifikasi
algoritma ini agar dapat lebih efisien dan relevan pada setiap studi kasus yang
berbeda. Salah satu pengembangan algoritma K-means adalah pengembangan
untuk meningkatkan kecepatan proses komputasinya. Misal, suatu metode yang
mengombinasikan K-means dengan metode Singular Value Decomposition (SVD)

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


3

dengan tujuan agar data dengan dimensi yang besar dapat tereduksi terlebih dahulu
sebelum menggunakan algoritma K-means (Nur’aini dkk., 2015). Modifikasi
algoritma K-means lainnya adalah modifikasi untuk menangani data yang sangat
besar pada skala web (Sculley, 2010). Pada modifikasi ini, pusat cluster ditentukan
hanya oleh sekelompok kecil data saja. Pada setiap iterasi, pusat cluster diperbarui
dengan menggunakan hanya sekelompok kecil data yang diambil secara acak dari
keseluruhan. Karena hanya menggunakan sekelompok data kecil dalam prosesnya,
metode ini kemudian dikenal dengan istilah mini batch K-means. Algoritma ini
cukup efektif dalam mempersingkat waktu pengerjaan dari proses clustering.

1.2 Rumusan Masalah


Berdasarkan latar belakang masalah yang telah diuraikan di atas, maka
rumusan masalah pada penelitian ini adalah
1. Bagaimana cara mengoptimalkan kinerja metode mini batch K-means dalam
menyelesaikan masalah TDT?
2. Bagaimana perbandingan kinerja dari metode mini batch K-means dengan
metode K-Means dan metode LDA pada masalah TDT?

1.3 Batasan Masalah


Permasalahan dalam penelitian ini dibatasi oleh:
1. Algoritma yang digunakan adalah mini batch K-means, K-means, dan LDA.
2. Percobaan pada metode mini batch K-means dilakukan untuk parameter ukuran
batch dan inisialisasi centroid.

1.4 Tujuan Penelitian


Tujuan dari penelitian ini yaitu:
1. Menentukan nilai-nilai parameter yang tepat pada metode mini batch K-means
agar mendapatkan nilai akurasi yang baik dalam waktu yang cepat.
2. Membandingkan nilai akurasi dan waktu komputasi dari metode mini batch K-
means dengan metode K-means dan metode LDA pada masalah TDT untuk studi
kasus data berita online dan Twitter.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


4

1.5 Metodologi Penelitian


Metodologi penelitian yang digunakan pada penelitian ini adalah:
1. Studi Literatur
Pada tahap ini dilakukan pengumpulan referensi yang berkaitan dengan topik
penelitian yang selanjutnya setelah dipelajari dan dipahami, digunakan untuk
merumuskan masalah dan tujuan penelitian. Literatur yang digunakan berupa
buku, makalah, jurnal, dan media lainnya yang dapat menunjang penelitian
ini.
2. Pengumpulan Data
Penelitian ini menggunakan data berita online yang diperoleh dari portal-
portal berita berbahasa Indonesia, yaitu Antara, Detik, Inilah, Kompas,
Okezone, Republika, Rakyat Merdeka, Tempo, dan Viva (Murfi, 2014). Serta
menggunakan data Twitter yang yang berupa dua data tweet, yaitu The
English FACUP dan The US Super Tuesday primaries (Aiello dkk., 2013).
3. Implementasi dan Simulasi
Proses implementasi algoritma pada penelitian ini menggunakan algoritma
LDA, K-Means, dan Mini Batch K-means yang telah tersedia pada Scikit-
learn package serta algoritma lain yang diperlukan untuk diimplementasikan
pada perangkat lunak Enthought Canopy dengan Python interpreter. Simulasi
yang dilakukan adalah mengekstraksi topik dari data yang digunakan
kemudian dilakukan proses evaluasi untuk mendapatkan nilai akurasi dari
setiap metode yang dikerjakan. Hasil simulasi yang didapatkan berupa topik-
topik yang telah terdeteksi, nilai akurasi setiap metode, dan waktu komputasi
setiap metode.
4. Interpretasi dan analisis Hasil Simulasi
Pada tahap ini, hasil simulasi dianalisis keoptimalan kinerjanya sehingga
dapat dilakukan perbaikan dengan mengacu pada teori yang ada, kemudian
dapat diambil kesimpulan apa saja yang dihasilkan dari penelitian ini.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


BAB 2
LANDASAN TEORI

2.1 Pendeteksian Topik

Menurut Kamus Besar Bahasa Indonesia atau disingkat KBBI (Pusat Bahasa
Departemen Pendidikan Nasional, 2008), topik merupakan kata yang memiliki
makna sebagai pokok pembicaraan dalam diskusi, ceramah, karangan, dan
sebagainya. Sedangkan pendeteksian menurut KBBI bermakna proses, cara
menemukan kenyataan atau keberadaan sesuatu. Dengan demikian proses
pendeteksian topik utama berita dapat diartikan sebagai proses untuk menemukan
topik atau pokok pembahasan utama dalam suatu kumpulan dokumen informasi.
Cara manual dalam pendeteksian topik dilakukan dengan cara membaca seluruh
dokumen dan kemudian menentukan kalimat topik serta menarik kesimpulan.
Namun pendeteksian topik akan sulit dilakukan secara manual karena pesatnya
perkembangan informasi mengakibatkan jumlah dokumen yang tersedia sangat
banyak dan terus bertambah. Pendeteksian topik yang dilakukan secara manual
dengan jumlah data yang banyak akan membutuhkan waktu yang lebih lama dan
sumber daya yang lebih besar. Oleh karena itu, dibutuhkan metode pendeteksian
topik yang dapat dijalankan secara otomatis yang dikenal dengan istilah Topic
Detection and Tracking (TDT). Menurut Charles L. Wayne, TDT merupakan istilah
yang mengacu pada teknik otomatis untuk mendapatkan topik-topik yang saling
berkaitan dalam suatu kumpulan data (Wayne, 1998).

Metode yang populer digunakan untuk TDT adalah metode latent Dirichlet
allocation (LDA). LDA merupakan suatu model probabilistik yang menyelesaikan
masalah pendeteksian topik sebagai suatu masalah model variabel tersembunyi.
Pada pendekatan ini, topik dinyatakan sebagai variabel tersembunyi dari suatu
koleksi data tekstual. LDA mengasumsikan bahwa suatu data tekstual
merepresentasikan beberapa topik. Setiap kata pada data tekstual dibangkitkan
dengan cara memilih secara acak suatu topik pada distribusi dari topik, dan
kemudian memilih secara acak suatu kata pada distribusi dari kosa kata. Namun
ternyata dalam proses komputasinya, metode LDA menghadapi masalah NP-hard

5
Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


6

(Sontag & Roy, 2011), sehingga membutuhkan waktu komputasi yang lama. Oleh
karena itu, salah satu topik penelitian terkait dengan TDT adalah mencari metode
lain yang dapat memberikan hasil yang sebanding dengan waktu yang relatif lebih
singkat. Salah satu metode alternatif tersebut adalah metode clustering. Dan metode
clustering yang populer digunakan dalam berbagai studi kasus adalah metode K-
means clustering, yang akan dijelaskan pada bab 2.3.

2.2 Metode Gradient Descent

Gradient descent merupakan suatu metode iteratif yang digunakan pada


penyelesaian masalah optimasi. Metode ini bertujuan untuk mencari nilai minimum
dari suatu fungsi dalam penyelesaian masalah optimasi. Secara umum, cara kerja
dari metode iteratif ini bermula dengan memberikan inisialisasi awal yang
dimaksudkan sebagai nilai solusi. Kemudian nilai tersebut diperbarui secara
berulang hingga konvergen menuju titik minimum. Ide dasar dari metode ini adalah
mengunakan aturan langkah yang proporsional ke arah yang berlawanan dengan
arah gradien atau lebih jelasnya berupa negatif dari gradien.

Perhatikan suatu masalah optimasi

min 𝑓(𝐱), (2.1)


𝐱∈𝑅 𝑛

dengan 𝑓(𝐱) adalah fungsi kontinu terdiferensiasi pada 𝑅 𝑛 yang selanjutnya disebut
sebagai fungsi objektif. Misalkan 𝐱 𝑘 ∈ 𝑅 𝑛 , dengan 𝑘 = 1,2, …, adalah titik awal
dan 𝐠 𝑘 = 𝑔(𝐱 𝑘 ) = ∇𝑓(𝐱 𝑘 ) adalah vektor gradien pada 𝐱 𝑘 , maka proses update
yang dilakukan adalah

𝐱 𝑘+1 = 𝐱 𝑘 − 𝛼𝑘∗ 𝐠 𝑘 , (2.2)

dengan 𝛼𝑘∗ > 0 yang memenuhi

𝑓(𝐱 𝑘 − 𝛼𝑘∗ 𝐠 𝑘 ) = min 𝑓(𝐱 𝑘 − 𝛼𝐠 𝑘 ), (2.3)


𝛼>0

dimana 𝛼 merupakan panjang langkah (Yuan, 1999). Pada persamaan (2.2) dapat
dilihat bahwa arah gradient descent dari 𝑓(𝐱) pada titik 𝐱 𝑘 adalah −∇𝑓(𝐱 𝑘 ).

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


7

Dengan menggunakan formulasi ini, algoritma dari metode gradient descent adalah
sebagai berikut.

a. Inisialisasi 𝐱 𝑘 sebagai titik awal secara acak


b. Hitung ∇𝑓(𝐱 𝑘 )
c. Tentukan nilai 𝛼𝑘∗ (bisa didapatkan dengan menggunakan metode tertentu atau
dapat pula secara acak)
d. Hitung titik selanjutnya yaitu 𝐱 𝑘+1 sesuai dengan persamaan (2.2)
e. Ulangi tahapan b,c, dan d hingga perubahan nilai 𝐱 𝑘 cukup kecil atau jumlah
iterasi sudah tercapai. Output yang dihasilkan berupa nilai 𝐱 𝑘 sebagai nilai yang
meminimumkan fungsi objektif.

Contoh sederhana dari penggunaan metode gradient descent ditunjukkan oleh


Gambar 2.1.

Gambar 2.1 Penggunaan Metode Gradient Descent pada 𝑓(𝑥) =


𝑥 2 dengan 𝑥0 = 1 dan 𝛼 = 0.3

Gambar 2.1 menunjukkan tahapan dari penggunaan metode gradient descent pada
𝑓(𝑥) = 𝑥 2 untuk dicari titik minimumnya. Titik awal yang digunakan adalah 𝑥0 =
1 dan panjang langkah 𝛼 = 0.3. Terdapat enam kali proses update hingga mencapai
titik (0,0) yang merupakan titik minimum dari fungsi 𝑓(𝑥) = 𝑥 2 . Hal ini dapat
dilihat dari banyaknya titik biru yang semakin mendekat pada titik minimum.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


8

2.3 Metode K-means Clustering

Pada dasarnya, metode clustering bertujuan untuk mengidentifikasi variabel


tersembunyi yang penting dari suatu himpunan data yaitu berupa pusat (centroid)
dari kelompok-kelompok data. Metode clustering bertugas untuk mengelompokkan
himpunan data tersebut sedemikian sehingga data dalam suatu kelompok (cluster)
lebih mirip dibandingkan dengan data pada kelompok lainnya. Metode K-means
merupakan salah satu metode clustering yang ukuran kemiripan data dalam suatu
kelompok ditentukan berdasarkan jarak terkecil setiap data ke centroid dari masing-
masing cluster.

Misalkan terdapat suatu himpunan data {𝐱1 , 𝐱 2 , … , 𝐱 𝑁 }, dengan 𝐱 𝑛 untuk 𝑛 =


1,2, … , 𝑁 berdimensi 𝐷, yang akan dikelompokkan pada 𝐾 cluster. Dimisalkan pula
𝝁𝑘 adalah vektor berdimensi 𝐷 yang melambangkan centroid ke 𝑘, dengan 𝑘 =
1,2, … 𝐾. Untuk setiap data 𝐱 𝑛 memiliki parameter yang disebut binary indicator
𝑟𝑛,𝑘 ∈ {0,1} yang berfungsi untuk menunjukkan suatu 𝐱 𝑛 terletak pada suatu cluster
tertentu. Parameter indikator 𝑟𝑛,𝑘 akan bernilai 1 jika data 𝐱 𝑛 memiliki jarak kuadrat
yang lebih kecil ke suatu centroid 𝝁𝑘 dari pada jarak kuadrat ke centroid 𝝁𝑗 untuk
𝑗 ≠ 𝑘. Artinya, jika data 𝐱 𝑛 berada pada cluster ke 𝑘 maka 𝑟𝑛,𝑘 = 1 dan 𝑟𝑛,𝑗 = 0
untuk 𝑗 ≠ 𝑘. Kemudian, fungsi objektif dari K-means yang disebut distortion
measure didefinisikan sebagai,

𝑁 𝐾

𝐽 = ∑ ∑ 𝑟𝑛,𝑘 ‖𝐱 𝑛 − 𝝁𝑘 ‖2 , (2.4)
𝑛=1 𝑘=1

(Bishop, 2006). Fungsi objektif 𝐽 merepresentasikan jumlah kuadrat dari jarak


antara setiap data dengan centroid dari masing-masing cluster. Yang perlu
dilakukan pada metode ini adalah mencari nilai-nilai {𝑟𝑛,𝑘 } dan {𝝁𝑘 } agar nilai 𝐽
pada persamaan (2.4) minimum. Sehingga penyelesaian pada metode K-means
menjadi

𝑁 𝐾

min 𝐽 = ∑ ∑ 𝑟𝑛,𝑘 ‖𝐱 𝑛 − 𝝁𝑘 ‖2 . (2.5)


𝝁𝑘 ,𝑟𝑛,𝑘
𝑛=1 𝑘=1

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


9

Minimasi nilai 𝐽 ini dilakukan secara iteratif dengan memandang salah satu dari
parameter 𝑟𝑛,𝑘 dan 𝝁𝑘 sebagai konstanta secara bergantian. Metode K-means
diawali dengan menginisialisasi nilai-nilai 𝝁𝑘 . Kemudian langkah pertama yang
dilakukan adalah mencari nilai 𝑟𝑛,𝑘 yang meminimukan 𝐽 dengan menjaga nilai 𝝁𝑘
tetap. Langkah kedua, mencari nilai 𝝁𝑘 yang meminimumkan 𝐽 dengan menjaga
nilai 𝑟𝑛,𝑘 tetap. Kedua langkah ini selanjutnya dilakukan secara berulang hingga
memenuhi kriteria konvergen (Bishop, 2006). Yaitu, kedua langkah tersebut
beriterasi hingga mencapai kondisi ketika tidak ada lagi perpindahan data pada
setiap cluster atau mencapai maksimum banyaknya iterasi yang telah ditentukan.
Karena setiap langkah meminimumkan nilai dari fungsi objektif 𝐽, maka
kekonvergenan dari algoritma dapat dijamin. Akan tetapi, algoritma 𝐾-means akan
konvergen menuju minimum lokal dari 𝐽 daripada menuju minimum global dari 𝐽
(Bishop, 2006).

Pertama-tama perhatikan cara penentuan nilai 𝑟𝑛,𝑘 . Dikarenakan fungsi


objektif 𝐽 merupakan fungsi linier untuk 𝑟𝑛,𝑘 , maka untuk setiap data 𝐱 𝑛 , nilai 𝐽
dapat diminimumkan dengan memilih 𝑟𝑛,𝑘 = 1 ketika nilai 𝑘 yang diberikan
meminimumkan nilai dari ‖𝐱 𝑛 − 𝝁𝑘 ‖2 . Secara formal dapat ditulis sebagai,

2
1 jika 𝑘 = arg min𝑗 ‖𝐱 𝑛 − 𝝁𝑗 ‖
𝑟𝑛,𝑘 ={ (2.6)
0 lainnya,

dengan 𝑗 = 1, … , 𝐾. Sedangkan untuk 𝝁k , fungsi objektif 𝐽 merupakan fungsi


kuadratik, sehingga fungsi objektif 𝐽 dapat diminimumkan dengan mencari turunan
𝐽 terhadap 𝝁𝑘 yang disamadengankan dengan 0.

𝐾
𝜕𝐽 𝜕(∑𝑁 2
𝑛=1 ∑𝑘=1 𝑟𝑛,𝑘 ‖𝐱 𝑛 − 𝝁𝑘 ‖ )
= =0
𝜕𝝁𝑘 𝜕𝝁𝑘

𝑁
𝐱 𝑛 − 𝝁𝑘 𝐱 𝑛 − 𝝁𝑘
∑ 𝑟𝑛,𝑘 ( ‖𝐱 𝑛 − 𝝁𝑘 ‖ + ‖𝐱 − 𝝁𝑘 ‖) = 0
‖𝐱 𝑛 − 𝝁𝑘 ‖ ‖𝐱 𝑛 − 𝝁𝑘 ‖ 𝑛
𝑛=1

2 ∑ 𝑟𝑛,𝑘 (𝐱 𝑛 − 𝝁𝑘 ) = 0
𝑛=1

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


10

∑ 𝑟𝑛,𝑘 (𝐱 𝑛 − 𝝁𝑘 ) = 0
𝑛=1

𝑁 𝑁

∑ 𝑟𝑛,𝑘 𝐱 𝑛 − ∑ 𝑟𝑛,𝑘 𝝁𝑘 = 0
𝑛=1 𝑛=1

𝑁 𝑁

∑ 𝑟𝑛,𝑘 𝝁𝑘 = ∑ 𝑟𝑛,𝑘 𝐱 𝑛 .
𝑛=1 𝑛=1

Sehingga nilai 𝜇𝑘 dapat dicari dengan

∑𝑛 𝑟𝑛,𝑘 𝐱 𝑛
𝝁𝑘 = (2.7)
∑𝑛 𝑟𝑛,𝑘

(Bishop, 2006).

Secara umum, algoritma 𝐾-means dapat diuraikan sebagai berikut:

a. Tentukan banyaknya cluster


b. Inisialisasi 𝝁𝑘 yang merupakan centroid awal dari setiap cluster secara acak
c. Tentukan nilai 𝑟𝑛,𝑘 dengan menghitung ‖𝐱 𝑛 − 𝝁𝑘 ‖2 seperti pada persamaan
(2.6)
d. Hitung centroid baru setiap cluster dengan menggunakan persamaan (2.7)
e. Evaluasi konvergensi parameter 𝝁𝑘 . Jika kriteria konvergensi belum terpenuhi,
yaitu kondisi ketika tidak terdapat perpindahan dari data yang digunakan atau
mencapai nilai maksimum iterasi, maka ulangi tahapan c dan d dengan
menggunakan 𝝁𝑘 yang baru. Output yang dihasilkan berupa nilai 𝝁𝑘 sebagai
centroid dari setiap cluster.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


BAB 3
MINI BATCH K-MEANS CLUSTERING

Pada bab ini akan dibahas mengenai metode mini batch K-means Clustering,
yang merupakan hasil modifikasi dari metode K-means. Dalam penggunaan kedua
metode K-means pada umumnya, perlu memperhatikan parameter inisialisasi
centroid yang cukup memberikan pengaruh pada hasil dari pengolahan data.

3.1 Metode Mini Batch K-Means Clustering

Algoritma dari metode K-means pada bab sebelumnya menunjukkan bahwa


setiap data dari himpunan data yang diberikan akan diperiksa satu per satu terhadap
setiap centroid yang telah ditentukan. Misalkan terdapat 500 data yang akan
dikelompokkan menjadi 10 cluster, maka setiap data akan diperiksa pada masing-
masing 10 cluster tersebut yang dilakukan secara iteratif dalam jumlah tertentu. Hal
ini jelas akan membutuhkan waktu komputasi yang lama terutama ketika
berhadapan dengan data berukuran besar. Oleh karena itu, penelitian terhadap
metode K-means berfokus pada memodifikasi metode agar dapat mengefisiensikan
waktu komputasi untuk pengolahan data yang sangat besar. Salah satu modifikasi
tersebut yaitu dengan menggunakan pendekatan mini batch. Pada modifikasi ini,
centroid diperbarui hanya dengan menggunakan sekelompok kecil data yang
diambil secara acak dari himpunan data. Karena hanya menggunakan sekelompok
kecil data dalam prosesnya, metode ini kemudian lebih dikenal dengan istilah mini
batch K-means.

Misalkan suatu himpunan data 𝑋 = {𝐱1 , 𝐱 2 , … , 𝐱 𝑁 }, dengan 𝐱 𝑛 untuk 𝑛 =


1,2, … , 𝑁 berdimensi 𝐷, yang akan dikelompokkan pada 𝐾 cluster. Selanjutnya
akan diambil sebanyak 𝑏 data secara acak dari himpunan 𝑋, yang dimisalkan 𝑀,
dimana variabel 𝑏 mendeskripsikan ukuran mini batch. Jika 𝝁𝑘 adalah vektor
berdimensi 𝐷 yang melambangkan centroid ke 𝑘, dengan 𝑘 = 1,2, … 𝐾, maka
fungsi objektif dari metode mini batch K-means adalah

min ∑ ∑‖𝝁𝑘 − 𝐱 𝑛 ‖2
𝐱𝑛 ∈𝑀 𝐾

11
Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


12

(Sculley, 2010). Berbeda dengan metode K-means pada persamaan (2.5), informasi
bahwa data 𝐱 𝑛 berada pada cluster 𝑘 tidak disimpan dalam bentuk binary indicator,
namun akan disimpan dalam variabel 𝐝[𝐱 𝑛 ] yang merupakan indeks centroid 𝑘
untuk setiap data 𝐱 𝑛 ∈ 𝑀.

Selanjutnya untuk tahap pembaruan centroid pada metode mini batch K-


means hanya akan menggunakan data 𝐱 𝑛 ∈ 𝑀. Penggunaan hanya sebagian kecil
data ini jelas akan memberikan hasil yang lebih rendah dari pada menggunakan
seluruh data dalam menyelesaikan masalah clustering. Oleh karena itu, metode mini
batch K-means menggunakan metode gradient descent untuk memperbarui
centroid pada setiap iterasinya. Penggunaan metode gradient descent ini bertujuan
agar fungsi objektif yang digunakan dapat dengan cepat konvergen menuju titik
minimum dan menghasilkan model cluster yang sebanding dengan metode K-
means (Sculley, 2010). Merujuk dari subbab 2.2, fungsi objektif yang akan
dioptimasi pada metode ini adalah

min 𝑓(𝐱, 𝝁) = ∑ ∑‖𝝁𝑘 − 𝐱 𝑛 ‖2 . (3.1)


𝐱𝑛 ∈𝑀 𝐾

Selanjutnya akan dicari 𝑔𝑘 = 𝑔(𝝁𝑘 ) = ∇𝑓(𝝁𝑘 ), yaitu menurunkan 𝑓 terhadap 𝝁𝑘 .

𝜕𝑓 𝜕(∑𝐱𝑛∈𝑀 ∑𝐾 ‖𝝁𝑘 − 𝐱 𝑛 ‖2 )
∇𝑓(𝝁𝑘 ) = =
𝜕𝝁𝑘 𝜕𝝁𝑘

𝝁𝑘 − 𝐱 𝑛 𝝁𝑘 − 𝐱 𝑛
= ∑ ( ‖𝝁𝑘 − 𝐱 𝑛 ‖ + ‖𝝁 − 𝐱 𝑛 ‖)
‖𝝁𝑘 − 𝐱 𝑛 ‖ ‖𝝁𝑘 − 𝐱 𝑛 ‖ 𝑘
𝐱𝑛 ∈𝑀

= 2 ∑ (𝝁𝑘 − 𝐱 𝑛 ).
𝐱𝑛 ∈𝑀

Pada tahapan berikutnya menggunakan persamaan (2.2), yang pada metode ini
menjadi

𝝁𝑘𝑖+1 = 𝝁𝑘𝑖 − 𝛼 (2 ∑ (𝝁𝑘𝑖 − 𝐱 𝑛 ))


𝐱𝑛 ∈𝑀

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


13

= 𝝁𝑘𝑖 − 2𝛼 ( ∑ (𝝁𝑘𝑖 − 𝐱 𝑛 ))
𝐱𝑛 ∈𝑀

= 𝝁𝑘𝑖 − 𝜂 ( ∑ (𝝁𝑘𝑖 − 𝐱 𝑛 )),


𝐱𝑛 ∈𝑀

dengan memisalkan 𝜂 = 2𝛼 adalah koefisien dari panjang langkah yang akan


digunakan. Algoritma mini batch K-means menggunakan 𝜂 yang berupa satu dibagi
jumlah data dalam cluster tersebut. Karena metode ini berlangsung secara iteratif
untuk setiap 𝐱 𝑛 ∈ 𝑀, maka formula gradient descent yang digunakan pada
algoritma adalah

𝝁𝑘𝑖+1 = 𝝁𝑘𝑖 − 𝜂𝑘 (𝝁𝑘𝑖 − 𝐱 𝑛 ). (3.2)

Secara umum, algoritma mini batch 𝐾-means dapat diuraikan sebagai berikut:

a. Tentukan jumlah cluster


b. Inisialisasi 𝝁𝑘 yang merupakan centroid awal dari setiap cluster secara acak
c. Ambil data sebanyak 𝑏 secara acak, yaitu himpunan data 𝑀
d. Menghitung persamaan (3.1) untuk mendapatkan centroid terdekat terhadap
setiap data 𝐱 𝑛 ∈ 𝑀
e. Hitung 𝜂𝑘 sama dengan satu dibagi jumlah data dalam cluster tersebut
f. Hitung centroid baru untuk setiap cluster dengan menggunakan persamaan (3.2)
g. Ulangi langkah e dan f untuk setiap 𝐱 𝑛 ∈ 𝑀
h. Evaluasi konvergensi parameter 𝝁𝑘 . Jika kriteria konvergensi belum terpenuhi,
yaitu kondisi ketika tidak terdapat perpindahan dari data yang digunakan atau
mencapai nilai maksimum iterasi, maka ulangi tahapan c, d, e, f, dan g dengan
menggunakan 𝝁𝑘 dan himpunan data 𝑀 yang baru. Output yang dihasilkan
berupa nilai 𝝁𝑘 sebagai centroid dari setiap cluster.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


14

3.2 Inisialisasi Centroid

Pada algoritma K-means terdapat tahapan inisialisasi 𝝁𝑘 sebagai centroid


awal dari setiap cluster yang diambil secara acak. Pemilihan centroid dari
himpunan data untuk menjadi inisialisasi awal merupakan hal yang penting dalam
penggunaan metode K-means, karena jika terjadi kasus dimana jarak antar centroid
yang dipilih cukup dekat, maka hasil pengelompokkan data akan kurang maksimal.
Hasil pengelompokkan yang optimum pun bisa didapat dengan memperhatikan
kondisi data yang akan dipilih menjadi centroid.

Pada penggunaannya, metode K-means memiliki dua macam cara untuk


menginisialisasi centroid sebanyak 𝐾, yaitu secara acak (random) atau
menggunakan algoritma tambahan yang dikenal dengan istilah K-means++.
Inisialisasi centroid secara acak hanya melakukan pengambilan sebanyak 𝐾 data
dari himpunan data secara acak. Sedangkan algoritma K-means++ memperhatikan
bobot data melalui nilai jarak kuadrat antara data dengan centroid terdekat yang
sebelumnya telah dipilih (Arthur & Vassilvitskii, 2007). Secara khusus, dimisalkan
𝐷(𝑥) menotasikan jarak terkecil dari data 𝑥 ke centroid terdekat yang telah dipilih.
Untuk lebih jelasnya, berikut dijelaskan algoritma dari K-means++.

a. Pilih satu centroid 𝑐1 secara acak dari himpunan data 𝑋


b. Hitung 𝐷(𝑥) dari setiap data 𝑥
c. Pilih centroid baru 𝑐𝑖 dengan memilih 𝑥 dengan probabilitas 𝐷(𝑥)2 / ∑𝑥∈𝑋 𝐷(𝑥)2
d. Ulangi langkah b dan c hingga sebanyak 𝐾 centroid telah terpilih
e. Selanjutnya hasil inisial centroid ini digunakan pada tahapan b dari metode K-
means dan metode mini batch K-means

(Arthur & Vassilvitskii, 2007).

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


BAB 4
SIMULASI METODE MINI BATCH K-MEANS DAN METODE K-MEANS
PADA MASALAH PENDETEKSIAN TOPIK

Pada bab ini akan dibahas tahap simulasi untuk mengimplementasikan dan
menganalisis hasil simulasi metode mini batch K-means, K-means, dan LDA pada
masalah pendeteksian topik.

4.1 Tahapan Umum Simulasi

Simulasi yang dilakukan pada penelitian ini menggunakan dua jenis data yang
berbeda, yaitu berupa data berita online berbahasa Indonesia dan data tweets dari
Twitter berbahasa Inggris. Secara umum, proses implementasi dari ketiga metode
tersebut dapat dilihat pada Gambar 4.1.

Akuisisi Data Ekstraksi Fitur

Evaluasi dan Analisis


Learning
Hasil

Gambar 4.1 Ilustrasi Tahap Pendeteksian Topik

Kedua jenis data tersebut diimplementasikan pada bahasa pemrograman Python


secara terpisah, karena format penyimpanan dan pengolahannya berbeda. Setiap
jenis data tersebut akan dibagi menjadi 100 cluster, yaitu setiap cluster
menghasilkan topik yang masing-masing topiknya dideskripsikan dalam 10 kata.
Pembahasan implementasi pada jenis data berita online dijelaskan pada Subbab 4.3
dan jenis data tweets pada Subbab 4.4.

15
Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


16

Pada proses implementasi metode Mini Batch K-means, dilakukan beberapa


percobaan untuk mendapatkan kondisi parameter yang tepat pada masing-masing
jenis data. Percobaan-percobaan tersebut berupa pemilihan ukuran batch data yang
digunakan dan pemilihan parameter inisialisasi centroid antara penggunaan metode
random dan metode K-means++. Pemilihan parameter ukuran batch disesuaikan
dengan ukuran dari masing-masing jenis data. Percobaan pemilihan parameter
inisialisasi centroid juga dilakukan pada implementasi metode K-means. Setiap
percobaan pada setiap data dijalankan sebanyak lima kali karena pada metode Mini
Batch K-means, K-means, maupun LDA terdapat proses inisialisasi yang dilakukan
secara acak kemudian berlanjut pada proses iterasi, sehingga ketiga metode ini akan
memberikan hasil yang berbeda pada setiap kali menjalankan program. Hasil akhir
yang akan digunakan pada tahapan analisis berupa rata-rata nilai akurasi dan waktu
dari setiap percobaan.

4.2 Spesifikasi Mesin dan Perangkat Lunak

Spesifikasi mesin dan perangkat lunak yang digunakan untuk implementasi


program diberikan oleh Tabel 4.1.

Tabel 4.1 Spesifikasi Mesin dan Perangkat Lunak

Mesin
Intel ® Core ™ i5-4460 CPU @ 3.20GHz
Processor
(4 CPUs), ~3.2GHz
Memori (RAM) 8192MB RAM

Sistem Operasi Windows 8.1 Pro 64-bit (6.3, Build 9600)

Perangkat Lunak
Perangkat Lunak Pemrograman Enthought Canopy Version 1.3.0 (64-bit)
Bahasa Pemrograman Python 2.7.6
1. csv
2. json
3. lda
Package Tambahan
4. numpy 1.8.0-1
5. scikit_learn 0.14.1-4
6. scipy 0.13.2-1

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


17

4.3 Studi Kasus: Data Berita Online

Pendeteksian topik pada data berita Online menggunakan data berita dari
bulan Agustus 2013 hingga bulan Maret 2014. Data berita ini didapatkan dari
beberapa portal berita online, yaitu Antara, Detik, Inilahcom, Kompas, Okezone,
Rakyat Merdeka, Republika, Tempo, dan Viva (Murfi, 2014).

4.3.1 Akuisi Data

Akuisisi data merupakan proses pengambilan, pengumpulan, dan penyiapan


data hingga data dapat diproses sesuai dengan kebutuhan. Hasil akuisisi data dari
data berita yang digunakan pada tahap selanjutnya adalah kata-kata dari judul dan
isi berita. Data hasil akuisisi disimpan dalam format file .csv (Microsoft Comma
Separated Values). Contoh data hasil akuisisi yang akan digunakan pada penelitian
ini dapat dilihat pada Tabel 4.2.

Tabel 4.2 Ilustrasi Data Hasil Akuisisi Bagian Judul dan Isi Berita

Dok Judul Berita Isi Berita


Dengan pertumbuhan ekonomi Indonesia yang
Kuota BBM Subsidi terus meningkat, BPH Migas memperkirakan
1
2014 Akan Jebol? Bahan Bakar Minyak (BBM) bersubsidi bakal
melebihi diatas kuota
Pariwisata di India juga merupakan sektor
Rawan Kejahatan,
ekonomi penting dan berkontribusi terhadap
2 Taj Mahal Jadikan
pendapatan nasional. Lebih dari 5,5 juta
India Bersinar
wisatawan asing masuk ke negara ini
Satuan Kerja Khusus Pelaksana Kegiatan Usaha
Hulu Minyak dan Gas Bumi (SKK Migas)
Tingkat Kandungan
mencatat nilai pengadaan barang dan jasa di
3 Dalam Negeri Migas
sektor hulu minyak dan gas bumi (migas)
Capai Rp5,31 M
periode Januari-November 2013 sebesar
USD11,78 miliar

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


18

Data berita online yang akan digunakan pada pengujian metode-metode learning
adalah data bulan Januari-Maret 2014. Sedangkan keseluruhan data digunakan
sebagai referensi untuk mengukur nilai akurasi dari hasil pendeteksian topik
masing-masing metode pada data setiap bulan. Jumlah data yang digunakan dalam
proses learning dapat dilihat pada Gambar 4.2.
BBANYAKNYA DATA

50303
60000 44603 46833 43737
50000 37378
31854
40000
30000
20000
10000
0
Januari Februari Maret
DATA TAHUN 2014 PADA BULAN

Dokumen Kosa Kata

Gambar 4.2 Grafik Banyaknya Dokumen dan Kosa Kata dari Data Berita Online

4.3.2 Ekstraksi Fitur

Tahapan selanjutnya yang dilakukan adalah mengekstraksi fitur. Ekstraksi


fitur merupakan proses pengolahan data agar data dapat direpresentasikan dalam
bentuk yang dapat diproses oleh tahap learning, yang pada penelitian ini
direpresentasikan menjadi bentuk matriks. Langkah-langkah yang dilakukan dalam
proses ekstraksi fitur pada penelitian ini adalah tokenisasi, penyaringan kata,
pembobotan kata, dan pembentukan matriks.

Tokenisasi merupakan proses untuk mendapatkan kata dari dokumen dengan


menjadikan spasi, tanda baca, dan angka sebagai pemisah antar kata. Dari semua
kata yang didapatkan, dilakukan pemilihan fitur yang potensial untuk digunakan.
Pada masalah pendeteksian topik ini, pemilihan fitur yang dilakukan adalah
memilih kata-kata yang tidak muncul di semua dokumen dan beberapa kata yang
masuk dalam daftar stopwords, yaitu kata-kata yang banyak muncul dalam hasil

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


19

pendeteksian topik namun tidak mengandung arti yang relevan. Stopwords yang
digunakan dalam penelitian ini adalah kata ‘republika’, ‘untuk’, ‘toko’, dan ‘nya’.

Tahap selanjutnya, setelah didapatkan daftar kata yang telah disaring dari
keseluruhan data, dilakukan proses pembobotan. Proses ini memberikan masing-
masing kata berupa nilai bobot berdasarkan pada intensitas kemunculan kata pada
setiap dokumen. Kemudian hasil dari pembobotan kata ini direpresentasikan dalam
bentuk matriks data 𝑋 dengan vektor-vektor kolomnya berupa dokumen ssehingga
matriks 𝑋 menjadi matriks kata-dokumen. Matriks 𝑋 ini yang siap digunakan pada
pada tahapan selanjutnya.

4.3.3 Learning: Metode Mini Batch K-means dan K-means

Tujuan dari proses learning ini adalah mengelompokkan data berita menjadi
100 cluster dimana masing-masing centroid hasil learning diinterpretasikan
sebagai topik. Pertama-tama, metode clustering yang digunakan dalam proses ini
adalah metode mini batch K-means. Pada metode ini, ada dua parameter yang akan
diperhatikan, yaitu ukuran batch (𝑏) dan parameter inisialisasi centroid. Setiap data
dilakukan beberapa percobaan untuk mengoptimalkan hasil clustering. Parameter
ukuran batch diuji coba secara bertahap dari ukuran batch sama dengan jumlah
cluster (𝑏 = 100) sampai ukuran batch yang dapat mengoptimalkan hasil akurasi
dari pendeteksian topik. Penentuan ukuran batch ini juga memperhatikan besar dari
masing-masing data. Pada setiap ukuran batch yang dicoba, diujikan pula parameter
inisialisasi centroid random dan K-means++.

Metode mini batch K-means bekerja sesuai dengan algoritma yang dijelaskan
pada subbab 3.1. Metode ini menghasilkan daftar 100 topik yang dideskripsikan
dalam 10 kata yang disimpan dalam file berformat .txt. Daftar topik ini merupakan
representasi dari vektor centroid yang dicari selama proses learning berlangsung.
Kemudian daftar 100 topik ini akan dievaluasi tingkat akurasinya pada tahap
berikutnya. Ilustrasi dari beberapa daftar topik yang dihasilkan dari proses ini
ditunjukkan pada Tabel 4.3.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


20

Tabel 4.3 Ilustrasi Daftar Topik Berita Online yang Dihasilkan

Data Topik
banjir jakarta wilayah dki melanda hujan warga terendam
korban titik
kpk korupsi pemberantasan komisi anas urbaningrum ketua
Januari 2014
demokrat partai panggilan
roma juventus gol italia napoli serie liga lazio kemenangan
Liverpool
kelud gunung letusan erupsi kediri meletus jawa timur
bencana pengungsi
jokowi dki gubernur joko widodo jakarta penyadapan ahok
Februari 2014
dinas disadap
facebook whatsapp akuisisi pengguna miliar zuckerberg
jejaring sosial layanan aplikasi
pemilu kpu pemilihan komisi partai politik bawaslu legislatif
damai parpol
gas eropa minyak listrik pln uni pertamina energi pasokan
Maret 2014
migas
pendidikan snmptn penyandang disabilitas difabel perguruan
negeri persyaratan seleksi masuk

Pada nilai ukuran batch 100 didapatkan daftar topik yang berbeda dengan hasil dari
percobaan-percobaan lainnya. Percobaan ini menghasilkan beberapa topik yang
berulang beberapa kali dalam daftar topik. Sehingga sejatinya, daftar topik yang
dihasilkan tidak benar-benar berjumlah 100 topik. Selain itu, pada percobaan ini
dihasilkan pula topik yang tersusun dari kata-kata yang tidak memiliki makna
tersendiri. Untuk lebih jelasnya dapat dilihat pada Tabel 4.4.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


21

Tabel 4.4 Ilustrasi Daftar Topik dengan 𝑏 = 100 untuk Data Bulan Januari 2014

Berulang Topik
8 kali zylgwyn hobbit hkti hlki hlp hmi hmm hms hnw hoarau
volume sampah kebersihan musibah banjir sepekan ton ibukota
3 kali
tangga meningkat
mahfud panggilan memenuhi penjadwalan malam
4 kali
bersangkutan kpk bersaksi penuhi dipanggil

Metode clustering yang digunakan berikutnya adalah metode K-means. Pada


metode ini hanya dilakukan dua percobaan, yaitu pada parameter inisialisasi
centroid. Metode K-means bekerja sesuai dengan algoritma yang sudah dijelaskan
pada subbab 2.4. Hasil dari pendeteksian topik menggunakan metode ini berlaku
sama dengan yang dihasilkan oleh metode mini batch K-means.

Setiap percobaan pada metode mini batch K-means dan metode K-means
terindikasi adanya pengambilan secara acak pada saat menginisialisasi centroid.
Hal ini menyebabkan terjadinya perbedaan hasil ketika suatu jenis percobaan
dijalankan beberapa kali. Oleh karena itu, pada penelitian ini setiap percobaannya
dijalankan sebanyak lima kali. Tahapan analisis berikutnya menggunakan hasil
rata-rata dari lima kali run pada masing-masing percobaan.

4.3.4 Evaluasi dan Analisis Hasil

Daftar topik yang dihasilkan dari proses learning perlu untuk dievaluasi
keakuratannya dan diperhatikan penggunaan waktu komputasinya. Selanjutnya
nilai akurasi dan perhitungan waktu ini yang diperbandingkan antar metode
learning yang digunakan.

4.3.4.1 Analisis Akurasi

Daftar topik hasil proses learning perlu dievaluasi untuk mendapatkan nilai
akurasi. Pada akhirnya nilai akurasi ini yang dianalisis untuk dapat menjawab
tujuan dari penelitian. Prosedur evaluasi dilakukan secara kuantitatif untuk
menentukan tingkat interpretabilitas topik.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


22

Prosedur kuantitatif yang dapat digunakan untuk mengetahui tingkat


interpretabilitas topik adalah dengan menghitung coherence (nilai koherensi)
melalui nilai PMI atau Pointwise Mutual Information pada topik. Misalkan suatu
topik 𝑡 terdiri dari 𝑁 kata yaitu {𝑤1 , 𝑤2 , … , 𝑤𝑁 }, nilai PMI dari topik 𝑡 adalah

𝑁 𝑗−1
𝑃(𝑤𝑗 , 𝑤𝑖 )
𝑃𝑀𝐼(𝑡) = ∑ ∑ log ( ) (4.1)
𝑃(𝑤𝑖 )𝑃(𝑤𝑗 )
𝑗=2

(Lau, Newman, & Baldwin, 2014), dengan 𝑃(𝑤𝑗 , 𝑤𝑖 ) adalah probabilitas kata 𝑤𝑖
muncul bersamaan dengan kata 𝑤𝑗 , 𝑃(𝑤𝑖 ) adalah probabilitas kemunculan kata 𝑤𝑖 ,
dan 𝑃(𝑤𝑗 ) adalah probabilitas kemunculan kata 𝑤𝑗 pada suatu corpus atau database
dokumen tekstual yang menjadi referensi. Nilai PMI dihitung untuk 10 topik utama
yang dihasilkan setiap bulannya. Nilai PMI yang dihasilkan berkisar pada interval
0 − 1. Semakin besar nilai PMI dari suatu topik menandakan bahwa topik tersebut
dibentuk oleh kata-kata dengan nilai koherensi yang semakin besar. Semakin besar
nilai koherensi kata-kata penyusun topik maka interpretasi topik tersebut semakin
baik.

Seperti yang telah disebutkan sebelumnya, corpus atau data referensi yang
digunakan pada simulasi ini adalah data dari bulan Agustus 2013 sampai Maret
2014. Nilai PMI dihitung pada masing-masing hasil percobaan. Nilai PMI dari lima
kali run program tersebut dihitung rata-ratanya yang selanjutnya rata-rata koheren
inilah yang akan dianalisis lebih lanjut.

a. Pemilihan parameter ukuran batch 𝑏


Ukuran batch yang diujicobakan adalah 𝑏 = {100, 500, 1000, 5000, 10000}.
Parameter inisialisasi centroid yang digunakan pada percobaan ini adalah K-
means++ yang menjadi default pada penggunaan package di Python. Berikut
ditampilkan hasil perhitungan nilai PMI dari daftar topik yang dikerjakan dengan
metode mini batch K-means pada Gambar 4.3.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


23

0.3708 0.3655
0.31378 0.32456
0.28672 0.39654
Koheren
0.39066
0.30712 0.32096
0.2563 0.40192 0.41502
0.2908 0.31396 0.32728

100 500 1000 5000 10000


Ukuran Batch

Januari 2014 Februari 2014 Maret 2014

Gambar 4.3 Grafik Koheren Metode Mini Batch K-means

Dari Gambar 4.3 dapat kita analisis bahwa nilai koheren terbaik dari data
bulan Januari dan Februari 2014 terjadi pada batch berukuran 10000. Ukuran
batch ini senilai dengan kisaran 20-25% dari data yang digunakan. Sedangkan
nilai koheren terbaik dari data bulan Maret 2014 terjadi pada batch berukuran
5000. Ukuran batch ini senilai dengan kisaran 16% dari data yang digunakan.
Persentase ukuran batch ini dapat menjadi pertimbangan ketika menggunakan
metode mini batch K-means pada data yang berbeda.

Informasi lainnya mengenai parameter ukuran batch juga tersirat pada hasil
pendeteksian topik dengan ukuran batch 100. Daftar topik yang berulang pada
Tabel 4.4 adalah contoh dari hasil clustering yang buruk. Karena ukuran batch
sama dengan jumlah cluster, maka proses pembaruan centroid tidak akan
berpindah selama belum dilakukannya pengambilan batch data yang baru pada
tahap iterasi. Kemudian batch data yang baru pun akan dikelompokkan hanya
pada beberapa topik saja. Pada ukuran batch 100 ini pun ada kejanggalan
lainnya, yaitu penggunaan kosa kata yang tidak bermakna sebagai penyusun
topik. Hal ini disebabkan pemilihan centroid dilakukan pada data berukuran
kecil. Ukuran kecil yang dimaksudkan di sini adalah perbandingan antara
banyaknya cluster terhadap jumlah data.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


24

b. Pemilihan parameter inisialisasi centroid


Hasil perhitungan nilai PMI kali ini dbandingkan antara parameter inisialisasi
centroid random dan K-means++ yang dapat dilihat pada Gambar 4.4, Gambar
4.5, dan Gambar 4.6 yang mewakili dari masing-masing bulan.

0.5
0.40192 0.41502
0.4
0.31636 0.33414 0.38144 0.40614
Koheren

0.3 0.29846
0.31396 0.32728
0.2908
0.2
0.1
0
100 500 1000 5000 10000
Ukuran Batch

Random K-means++

Gambar 4.4 Grafik Koheren Metode Mini Batch K-means Bulan Januari 2014

0.5
0.39454 0.3983
0.4
0.30712 0.32096 0.39066 0.39654
Koheren

0.3 0.2563
0.30456 0.31386
0.2 0.24452
0.1

0
100 500 1000 5000 10000
Ukuran Batch

Random K-means++

Gambar 4.5 Grafik Koheren Metode Mini Batch K-means Bulan Februari 2014

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


25

0.4 0.37124 0.3655


0.28672 0.31378 0.32456 0.3708 0.36472
0.3 0.32076
Koheren 0.2777 0.27074
0.2

0.1

0
100 500 1000 5000 10000
Ukuran Batch

Random K-means++

Gambar 4.6 Grafik Koheren Metode Mini Batch K-means Bulan Maret 2014

Ketiga gambar di atas dapat diamati bahwa dari segi nilai koheren pada
kedua jenis parameter tidak ada perbedaan yang cukup signifikan. Namun pada
Gambar 4.6 ditemukan bahwa parameter random tidak sepenuhnya meningkat
nilai koherennya seiring dengan meningkatnya ukuran batch. Hal ini
menunjukkan bahwa penggunaan parameter random memiliki kemungkinan
dapat menghasilkan nilai akurasi yang rendah dari yang seharusnya, karena
inisialisasi centroid sepenuhnya dilakukan secara acak.

Kemudian untuk hasil perhitungan nilai PMI dari daftar topik yang
dikerjakan dengan metode K-means dapat dilihat pada Gambar 4.7.

0.44
0.42508
0.42 0.4186
Koheren

0.4228
0.40998
0.4 0.38904
0.38 0.38776

0.36
Januari 2014 Februari 2014 Maret 2014
Random K-means++

Gambar 4.7 Grafik Koheren Metode K-means

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


26

Hasil percobaan pada metode ini menunjukkan bahwa hasil dari penggunaan
parameter random lebih baik dari parameter K-means++ meskipun dengan
perbedaan yang tidak cukup signifikan.

4.3.4.2 Analisis Waktu

Proses analisis kali ini mengenai penggunaan waktu running program pada
setiap percobaan. Pada metode mini batch K-means, pengujian terhadap kedua
parameter akan disajikan dalam grafik yang sama pada Gambar 4.8, Gambar 4.9,
dan Gambar 4.10 berikut ini.

166
Waktu (detik)

161
154
149 147
146 146

100 500 1000 5000 10000


Ukuran Batch

Random K-means++

Gambar 4.8 Grafik Waktu Metode Mini Batch K-means Bulan Januari 2014

151
149
Waktu (detik)

145
144
140 140
139 138
136 137

100 500 1000 5000 10000


Ukuran Batch

Random K-means++

Gambar 4.9 Grafik Waktu Metode Mini Batch K-means Bulan Februari 2014

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


27

111
109
Waktu (detik) 105
103
100 99
99
99 98
97

100 500 1000 5000 10000


Ukuran Batch

Random K-means++

Gambar 4.10 Grafik Waktu Metode Mini Batch K-means Bulan Maret 2014

Waktu komputasi yang dihasilkan dari metode ini relatif meningkat seiring
semakin besarnya ukuran batch. Namun dari ketiga gambar di atas jelas terlihat
bahwa peningkatan waktu yang terjadi sangat kecil. Untuk ukuran batch 10000
yang bernilai 100 kali lipat dari ukuran batch terendah yaitu 100, hanya mengalami
peningkatan sekitar 10-17 detik. Hal ini menunjukkan bahwa penggunaan dari
metode ini dapat lebih memperhatikan penentuan ukuran batch yang tepat tanpa
perlu seksama mempertimbangkan waktu komputasi.

Grafik perolehan waktu dari penggunaan metode K-means dapat dilihat pada
Gambar 4.11.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


28

560
534
491
490

Waktu (detk)
337
320

Januari 2014 Februari 2014 Maret 2014


Random K-means++

Gambar 4.11 Grafik Waktu Metode K-means

4.3.4.3 Perbandingan Hasil Simulasi antara Metode Mini Batch K-means, K-


means, dan LDA

Selanjutnya, analisis dilakukan pada perbandingan tingkat akurasi dan waktu


antara metode mini batch K-means, K-means, dan LDA. Dari metode mini batch K-
means digunakan nilai koheren terbaik dari setiap datanya, sedangkan untuk waktu
komputasi mengikuti dari nilai koheren tersebut. Agar lebih mudahnya, nilai
koheren dan waktu dari ketiga metode disajikan pada Tabel 4.5, Tabel 4.6, dan
Tabel 4.7.

Tabel 4.5 Waktu dan Nilai Koheren Terbaik dari Ketiga Metode untuk Data
Bulan Januari 2014

Ukuran
No Metode Waktu Koheren
(detik)
1 LDA 2164 0.4748
2 K-Means (inisialisasi centroid: random) 560 0.4251
3 K-Means (inisialisasi centroid: K-means++) 534 0.4228
Mini Batch K-Means (inisialisasi centroid:
4 random) 166 0.4061
Mini Batch K-Means (inisialisasi centroid:
5 K-means++) 161 0.415

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


29

Tabel 4.6 Waktu dan Nilai Koheren Terbaik dari Ketiga Metode untuk Data
Bulan Februari 2014

Ukuran
No Metode Waktu Koheren
(detik)
1 LDA 2111 0.4635
2 K-Means (inisialisasi centroid: random) 490 0.4186
3 K-Means (inisialisasi centroid: K-means++) 491 0.4099
Mini Batch K-Means (inisialisasi centroid:
4 random) 149 0.3983
Mini Batch K-Means (inisialisasi centroid:
5 K-means++) 151 0.3965

Tabel 4.7 Waktu dan Nilai Koheren Terbaik dari Ketiga Metode untuk Data
Bulan Maret 2014

Ukuran
No Metode Waktu Koheren
(detik)
1 LDA 1435 0.4419
2 K-Means (inisialisasi centroid: random) 320 0.389
3 K-Means (inisialisasi centroid: K-means++) 337 0.3878
Mini Batch K-Means (inisialisasi centroid:
4 random) 103 0.3712
Mini Batch K-Means (inisialisasi centroid:
5 K-means++) 105 0.3708

Dari ketiga tabel di atas, dapat dianalisis bahwa nilai akurasi dari metode mini
batch K-means dan metode K-means hanya selisih sekitar 2-5%, dengan metode
mini batch K-means lebih rendah. Namun dari segi waktu, metode mini batch K-
means sekitar 67-70% lebih cepat daripada metode K-means. Sedangkan untuk
perbandingan dengan hasil dari metode LDA, jelas bahwa metode clustering yang
digunakan masih cukup jauh dari nilai koheren yang didapatkan oleh metode LDA.
Jika dilihat dari segi waktu metode clustering dapat mereduksi hingga 60-70%,
namun nilai koherennya pun ikut tereduksi hingga 8-12%.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


30

4.4 Studi Kasus: Data Twitter

Data yang digunakan pada penelitian ini diambil dari jurnal Aiello dkk.
Terdiri dari dua data Twitter, yaitu The English FACUP dan The US Super Tuesday
primaries. Data yang didapatkan terbagi dalam beberapa file karena pengambilan
data yang dilakukan adalah setiap slot waktu tertentu. Data The English FACUP
diambil dalam 13 slot waktu dan data The US Super Tuesday primaries diambil
dalam 8 slot waktu. Data berupa teks dengan file berformat .json.

4.4.1 Akuisisi Data

Data yang tersedia dari Twitter pada dasarnya tidak dapat langsung digunakan
dalam penelitian ini, karena format data tidak dapat dibaca oleh bahasa Python. Jadi
sebelumnya perlu dilakukan beberapa penyesuaian. Data yang digunakan dalam
penelitian ini sudah dilakukan penyesuaian yang diambil dari jurnal Nur’aini dkk.
Contoh dokumen yang digunakan disajikan pada Tabel 4.8.

Tabel 4.8 Ilustrasi Data Twitter Hasil Akuisisi

[ {"favorited":false,"text":"\"Graham Norton got inside [Drogba] last night\" - what


are you implying, Clive? #facup","created_at":"Sat May 05 16:16:00 +0000

2012","contributors":null,"retweet_count":0,"coordinates":null,"source":"web","in
_reply_to_status_id_str":null,"in_reply_to_status_id":null,"retweeted":false,"in_re
ply_to_user_id_str":null,"truncated":false,"id_str":"198808273317662723","in_re
ply_to_user_id":null,"entities":{"user_mentions":[],"urls":[],"hashtags":[{"text":"f
acup","indices":[79,85]}]},"geo":null,"user":{"default_profile":true,"contributors
_enabled":false,"geo_enabled":false,"created_at":"Sun Aug 23 16:59:03 +0000

2009","profile_sidebar_fill_color":"DDEEF6","screen_name":"ealexhudson","is_t
ranslator":false,"statuses_count":1145,"following":null,"time_zone":"London","fo
llowers_count":67,"url":null,"profile_image_url":"http:\/\/a0.twimg.com\/profile_i
mages\/606031647\/twitterprofile_normal.jpeg","verified":false,"profile_sidebar_
border_color":"C0DEED","show_all_inline_media":false,"notifications":null,"des
cription":"","default_profile_image":false,"profile_use_background_image":true,"

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


31

friends_count":91,"location":"","follow_request_sent":null,"profile_background_i
mage_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme1\/bg.png","favo
urites_count":0,"profile_text_color":"333333","profile_background_image_url":"
http:\/\/a0.twimg.com\/images\/themes\/theme1\/bg.png","profile_link_color":"00
84B4","protected":false,"id_str":"68184741","name":"Alex
Hudson","listed_count":2,"lang":"en","profile_background_color":"C0DEED","id
":68184741,"profile_background_tile":false,"utc_offset":0,"profile_image_url_htt
ps":"https:\/\/si0.twimg.com\/profile_images\/606031647\/twitterprofile_normal.jp
eg"},"id":198808273317662723,"place":null,"in_reply_to_screen_name":null},{"
favorited":false,"text":"Kick off - Chelsea 0-0 Liverpool

#FACupFinal","created_at":"Sat May 05 16:16:00 +0000

2012","contributors":null,"retweet_count":0,"coordinates":null,"source":"web","in
_reply_to_status_id_str":null,"in_reply_to_status_id":null,"retweeted":false,"in_re
ply_to_user_id_str":null,"truncated":false,"id_str":"198808274047471617","in_re
ply_to_user_id":null,"entities":{"user_mentions":[],"urls":[],"hashtags":[{"text":"
FACupFinal","indices":[33,44]}]},"geo":null,"user":{"default_profile":false,"cont
ributors_enabled":false,"geo_enabled":false,"created_at":"Tue Oct 18 13:31:34
+0000

2011","profile_sidebar_fill_color":"ffffff","screen_name":"Jose__Leonardo","is_t
ranslator":false,"statuses_count":124,"following":null,"time_zone":"Jakarta","foll
owers_count":41,"url":null,"profile_image_url":"http:\/\/a0.twimg.com\/profile_i
mages\/1879446238\/Jose_normal.jpg","verified":false,"profile_sidebar_border_c
olor":"eeeeee","show_all_inline_media":false,"notifications":null,"description":"F
inal FA Cup..!! Liverpool FC vs Chelsea FC..!! Gerrard vs

Terry..!!","default_profile_image":false,"profile_use_background_image":true,"fr
iends_count":51,"location":"","follow_request_sent":null,"profile_background_im
age_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme13\/bg.gif","favou
rites_count":2,"profile_text_color":"333333","profile_background_image_url":"ht
tp:\/\/a0.twimg.com\/images\/themes\/theme13\/bg.gif","profile_link_color":"1100
ff","protected":false,"id_str":"393392456","name":"Jose
Leonardo","listed_count":0,"lang":"id","profile_background_color":"B2DFDA","i

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


32

d":393392456,"profile_background_tile":false,"utc_offset":25200,"profile_image
_url_https":"https:\/\/si0.twimg.com\/profile_images\/1879446238\/Jose_normal.j
pg"},"id":198808274047471617,"place":null,"in_reply_to_screen_name":null},{"
favorited":false,"text":"here goes... #CFC","created_at":"Sat May 05 16:16:01
+0000

2012","contributors":null,"retweet_count":0,"coordinates":null,"source":"\u003Ca

href=\"http:\/\/twitter.com\/#!\/download\/iphone\"
`rel=\"nofollow\"\u003ETwitter for
iPhone\u003C\/a\u003E","in_reply_to_status_id_str":null,"in_reply_to_status_id"
:null,"retweeted":false,"in_reply_to_user_id_str":null,"truncated":false,"id_str":"1
98808275284795394","in_reply_to_user_id":null,"entities":{"user_mentions":[],"
urls":[],"hashtags":[{"text":"CFC","indices":[13,17]}]},"geo":null,"user":{"defaul
t_profile":true,"contributors_enabled":false,"geo_enabled":false,"created_at":"We
d Feb 02 13:39:46 +0000

2011","profile_sidebar_fill_color":"DDEEF6","screen_name":"carlymarie1989","
is_translator":false,"statuses_count":376,"following":null,"time_zone":null,"follo
wers_count":45,"url":null,"profile_image_url":"http:\/\/a0.twimg.com\/profile_im
ages\/2003510721\/image_normal.jpg","verified":false,"profile_sidebar_border_c
olor":"C0DEED","show_all_inline_media":false,"notifications":null,"description"
:"#cfc leicester lass!

","default_profile_image":false,"profile_use_background_image":true,"friends_co
unt":132,"location":"","follow_request_sent":null,"profile_background_image_url
_https":"https:\/\/si0.twimg.com\/images\/themes\/theme1\/bg.png","favourites_co
unt":1,"profile_text_color":"333333","profile_background_image_url":"http:\/\/a0
.twimg.com\/images\/themes\/theme1\/bg.png","profile_link_color":"0084B4","pr
otected":false,"id_str":"246268102","name":"Carly
Munday","listed_count":0,"lang":"en","profile_background_color":"C0DEED","i
d":246268102,"profile_background_tile":false,"utc_offset":null,"profile_image_u
rl_https":"https:\/\/si0.twimg.com\/profile_images\/2003510721\/image_normal.jp
g"},"id":198808275284795394,"place":null,"in_reply_to_screen_name":null} ]

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


33

Setiap data memiliki ground truth topic dari jurnal Aiello dkk yang merupakan
topik dari setiap data yang dibuat oleh profesional dibidangnya. Ground truth topics
digunakan untuk melihat nilai akurasi dari topik yang dihasilkan oleh metode.
Jumlah data yang digunakan dalam proses learning dapat dilihat pada Gambar 4.12
dan Gambar 4.13.

3651

3493
3309
3196

3003
2984
2969
2738
BANYAKNYA DATA

2627

2612
2559
2438

2313

2215
2098
2080

2070

2058
1934

1831
1830

1012
862

832

794
767

1 2 3 4 5 6 7 8 9 10 11 12 13
SLOT WAKTU KE-

Tweet Kosa Kata

Gambar 4.12 Grafik Jumlah Tweet dan Kosa Kata dari Data FACUP
98799
BANYAKNYA DATA

75196
74679
53836

53025
47757
40600

40564

34923
33282

33285

27124
25639
23161

18881
14238

1 2 3 4 5 6 7 8
SLOT WAKTU KE-

Tweet Kosa Kata

Gambar 4.13 Grafik Jumlah Tweet dan Kosa Kata dari Data Super Tuesday

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


34

4.4.2 Ekstraksi Fitur

Proses ekstraksi fitur yang dilakukan terhadap data Twitter sama dengan yang
dilakukan terhadap data berita online. Perbedaannya hanya pada pemilihan kata
yang dicantumkan pada stopwords, yaitu kata ‘english’ dan ‘http’.

4.4.3 Learning: Metode Mini Batch K-means dan K-means

Proses learning yang dilakukan tidak berbeda dengan yang dilakukan pada
data berita online, terdapat pemilihan dua parameter pada metode mini batch K-
means dan pemilihan satu parameter pada metode K-means.

Sama dengan yang dihasilkan oleh pengolahan data berita online, pada tahap
ini dihasilkan daftar 100 topik dan catatan waktu komputasi. Ilustrasi daftar topik
yang dihasilkan dapat dilihat pada Tabel 4.9 berikut ini.

Tabel 4.9 Ilustrasi Daftar Topik Tweets yang Dihasilkan

Data Topik
referee card mikel yellow and agger down
shown made tackle
lfc liverpool chelsea cfc drogba goal facupfinal
FACUP
cup didier makes
congratulations chelseafc facup chelsea blues
the cfc winning for chelseaindo
rejected issued veteran old government after
can vote thinkprogress station
Super news fox projects slaps reporter laysqhfm
Tuesday leaving santorum newt romney
massachusetts mild jobs support governor
numbers boston former supporters big

Pada nilai ukuran batch 100 terjadi hal yang sama dengan hasil implementasi pada
berita online yaitu topik yang berulang dan beberapa topik tersusun oleh kata-kata
yang tidak memiliki makna tersendiri.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


35

4.4.4 Evaluasi dan Analisis Hasil

Daftar topik yang dihasilkan dari proses learning perlu untuk dievaluasi
keakuratannya dan diperhatikan penggunaan waktu komputasinya. Selanjutnya
nilai akurasi dan perhitungan waktu ini yang diperbandingkan antar metode
learning yang digunakan.

4.4.4.1 Analisis Akurasi

Akurasi topik dari setiap data yang terbentuk dapat dicari dengan
menggunakan ground truth topic dari jurnal Aiello dkk. Pencarian akurasi
menggunakan TopicEvaluator.jar yang dijalankan pada java yang sesuai dengan
perintah yang telah tersedia dari jurnal yang sama. Terdapat tiga satuan ukuran yang
digunakan dalam aplikasi TopicEvaluator.jar, yakni

1. Topic recall: persentase banyaknya topik ground truth yang berhasil terdeteksi
dengan benar oleh suatu metode.
2. Term precision: persentase banyaknya kata kunci yang berhasil terdeteksi dari
jumlah keseluruhan kata pada topik yang cocok untuk beberapa topik ground
truth.
3. Term recall: persentase dari banyaknya kata kunci yang berhasil terdeteksi dari
jumlah keseluruhan kata kunci pada topik ground truth yang sesuai dengan slot
waktu dimana topik terdeteksi dengan benar.

Nilai topic recall, term precision, dan term recall berkisar antara 0 – 1 (Aiello dkk.,
2013). Semakin banyak topik yang cocok dengan ground truth, nilai topic recall
akan semakin tinggi. Satuan topic recall memiliki peranan yang paling penting
untuk menghitung akurasi topik, karena semakin tingginya nilai topic recall
menandakan bahwa semakin banyak topik pada ground truth yang terdeteksi pada
daftar topik yang dihasilkan. Semakin banyaknya topik ground truth yang
terdeteksi maka akan semakin banyak pula kata kunci (term) yang terdeteksi.
Dengan kata lain, nilai topic recall yang tinggi menyatakan tingginya tingkat
akurasi topik.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


36

Aplikasi TopicEvaluator.jar menghitung topic recall, term precision, dan


term recall dengan menghitung sebanyak 𝑁 topik pertama dari jumlah topik yang
dihasilkan. Ilustrasi hasil perhitungan akurasi ini dapat dilihat pada Gambar 4.14.

Gambar 4.14 Ilustrasi Hasil Perhitungan Akurasi oleh TopicEvaluator.jar

Penjelasan dari Gambar 4.16 adalah sebagai berikut:

1. Result @10, artinya hasil diambil dari 10 topik pertama yang dihasilkan oleh
sebuah metode, begitupun untuk result @20 dan seterusnya hingga @100
(karena ada 100 topik).
2. Topic recall 0.273 (6/22), artinya 6 topik terdeteksi dengan benar oleh sebuah
metode dari 22 topik yang ada pada ground truth topics.
3. Term precission 0.417 (25/60), artinya 25 kata terdeteksi dengan benar dari 6
topik yang telah terdeteksi pada ground truth topics. Nilai 60 didapat karena
untuk setiap topik yang dihasilkan terdiri dari 10 kata. Sehingga jumlah total
kata yang ada pada topik yang terdeteksi oleh ground truth topics adalah 6 ×
10 = 60 kata.
4. Term recall 0.694 (25/36), artinya 25 kata terdeteksi dengan benar berbanding
36 keyword yang ada pada ground truth topics. 36 keyword tersebut diambil dari
ground truth topics pada slot waktu yang sesuai dengan slot waktu dimana 6
topik terdeteksi dengan benar.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


37

Nilai akurasi topic recall, term precision, dan term recall dihitung pada
masing-masing hasil percobaan yang diulang sebanyak lima kali. Nilai topic recall,
term precision, dan term recall dari lima kali run program tersebut dihitung rata-
ratanya yang selanjutnya rata-rata ketiga nilai akurasi inilah yang dianalisis lebih
lanjut.

a. Pemilihan parameter ukuran batch 𝑏


Ukuran batch yang diujicobakan pada data FACUP adalah 𝑏=
{100, 500, 1000, 5000} dan pada data Super Tuesday adalah 𝑏=
{100, 1000, 10000, 100000, 150000} Parameter inisialisasi centroid yang
digunakan pada percobaan ini adalah K-means++ yang menjadi default pada
penggunaan package di Python. Berikut ditampilkan hasil perhitungan nilai
topic recall dari daftar topik yang dikerjakan dengan metode mini batch K-means
pada Gambar 4.15 dan Gambar 4.16.

1
0.9
0.8
0.7
Topic Recall

0.6
0.5
0.4
0.3
0.2
0.1
0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N

b=100 b=500 b=1000 b=5000

Gambar 4.15 Grafik Topic Recall Metode Mini Batch K-means pada

Data FACUP

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


38

0.8
0.7
0.6

Topic Recall 0.5


0.4
0.3
0.2
0.1
0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N

b=100 b=1000 b=10000 b=100000 b=150000

Gambar 4.16 Grafik Topic Recall Metode Mini Batch K-means pada

Data Super Tuesday

Dari Gambar 4.15 dapat kita analisis bahwa nilai topic recall terbaik dari
data FACUP terjadi pada batch berukuran 1000. Ukuran batch ini senilai dengan
kisaran 4% dari data yang digunakan. Sedangkan nilai topic recall terbaik dari
data Super Tuesday (lihat Gambar 4.16) terjadi pada batch berukuran 150000.
Ukuran batch ini senilai dengan kisaran 30% dari data yang digunakan.
Persentase ukuran batch pada data FACUP tergolong kecil karena pada data
tersebut terdapat beberapa slot data berjumlah cukup kecil dibanding slot data
lainnya (lihat Gambar 4.12). Hal ini dapat menjadi pertimbangan ketika
menggunakan metode mini batch K-means pada data dalam bentuk slot waktu
berbeda.

b. Pemilihan parameter inisialisasi centroid

Kemudian untuk analisis pada parameter inisialisasi centroid, nilai akurasi


yang digunakan adalah term precission dan term recall dengan ukuran batch
1000, untuk data FACUP, dan ukuran batch 150000, untuk data Super Tuesday,
yang ditunjukkan pada Gambar 4.17, Gambar 4.18, Gambar 4.19, dan Gambar
4.20.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


39

0.25
0.24

Term Precission
0.23
0.22
0.21
0.2
0.19
0.18
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N

Random, b=1000 K-means++, b=1000

Gambar 4.17 Grafik Term Precission Metode Mini Batch K-means

pada Data FACUP

0.6
0.5
Term Recall

0.4
0.3
0.2
0.1
0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N

Random, b=1000 K-means++, b=1000

Gambar 4.18 Grafik Term Recall Metode Mini Batch K-means

pada Data FACUP

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


40

0.5

Term Precission
0.4

0.3

0.2

0.1

0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N

Random, b=150000 K-means++, b=150000

Gambar 4.19 Grafik Term Precission Metode Mini Batch K-means

pada Data Super Tuesday

0.8
0.7
0.6
Term Recall

0.5
0.4
0.3
0.2
0.1
0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N

Random, b=150000 K-means++, b=150000

Gambar 4.20 Grafik Term Recall Metode Mini Batch K-means

pada Data Super Tuesday

Keempat gambar ini menunjukkan bahwa jenis parameter K-means++


menghasilkan nilai akurasi yang lebih baik dari parameter random.

Kemudian untuk hasil perhitungan nilai topic recall dari daftar topik yang
dikerjakan dengan metode K-means dapat dilihat pada Gambar 4.21 dan Gambar
4.22.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


41

0.8

Topic Recall
0.6

0.4

0.2

0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N

Random K-means++

Gambar 4.21 Grafik Topic Recall Metode K-means pada Data FACUP

0.8
0.7
0.6
Topic Recall

0.5
0.4
0.3
0.2
0.1
0
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N

Random K-means++

Gambar 4.22 Grafik Topic Recall Metode K-means pada Data Super Tuesday

Sama dengan yang dihasilkan dari metode mini batch K-means, parameter
inisialisasi centroid yang menghasilkan akurasi lebih baik adalah K-means++.

4.4.4.2 Analisis Waktu

Proses analisis kali ini mengenai penggunaan waktu running program pada
setiap percobaan. Pada metode mini batch K-means, pengujian terhadap kedua
parameter akan disajikan dalam grafik yang sama pada Gambar 4.23 dan Gambar
4.24.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


42

16

Waktu (detik)
12
10
8
7
6 6

3 4
3

100 1000 10000 100000 150000


Ukuran Batch

Random K-means++

Gambar 4.23 Grafik Waktu dari Data FACUP Menggunakan Metode Mini Batch
K-means

734
632
581
Waktu (detik)

553

157
77 145
69
75 70

100 1000 10000 100000 150000


Ukuran Batch

Random K-means++

Gambar 4.24 Grafik Waktu dari Data Super Tuesday Menggunakan Metode Mini
Batch K-means

Waktu komputasi yang dihasilkan dari metode ini relatif meningkat seiring semakin
besarnya ukuran batch meskipun peningkatannya cukup kecil. Selanjutnya untuk
perolehan waktu dari penggunaan metode K-means dapat dilihat pada Gambar 4.25.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


43

1708
1631

Waktu (detik)

31
18
FACUP Super Tuesday
Ukuran Batch

Random K-means++

Gambar 4.25 Grafik Waktu dari Data FACUP & Super Tuesday Menggunakan
Metode K-means

4.4.4.3 Perbandingan Hasil Simulasi antara Metode Mini Batch K-means, K-


means, dan LDA

Selanjutnya, analisis dilakukan pada perbandingan tingkat akurasi dan waktu


antara metode mini batch K-means (insialisasi centroid: random (disimbolkan
dengan: rand) dan K-means++ (disimbolkan dengan: ++)), K-means (insialisasi
centroid: random (disimbolkan dengan: rand) dan K-means++ (disimbolkan
dengan: ++)), dan LDA. Dari metode mini batch K-means digunakan nilai topic
recall terbaik dari setiap datanya, sedangkan untuk waktu komputasi mengikuti dari
nilai topic recall tersebut. Nilai topic recall dan waktu dari ketiga metode disajikan
pada Gambar 4.26 dan Gambar 4.27.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


44

1.2

1 Mini Batch K-Means


(++)
0.8
Topic Recall
Mini Batch K-Means
0.6
(rand)
K-Means (++)
0.4

0.2
K-Means (rand)

0 LDA
10 20 30 40 50 60 70 80 90 100
@N

Gambar 4.26 Grafik Topic Recall Ketiga Metode pada Data FACUP

0.8

0.7
Mini Batch K-means
0.6 (++)
Topic Recall

0.5 Mini Batch K-means


(rand)
0.4
K-means (++)
0.3

0.2 K-means (rand)


0.1

0 LDA
@10 @20 @30 @40 @50 @60 @70 @80 @90 @100
@N

Gambar 4.27 Grafik Topic Recall Ketiga Metode pada Data Super Tuesday

Grafik pada Gambar 4.26 menunjukkan bahwa metode LDA mampu mencapai nilai
akurasi topic recall hingga 1, sedangkan dua metode lainnya hanya konvergen di
sekitar nilai 0.9. Grafik pada Gambar 4.27 juga menunjukkan bahwa metode LDA
mencapai nilai tertinggi dari metode lainnya.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


BAB 5
PENUTUP

5.1 Kesimpulan

Berdasarkan penelitian mengenai implementasi metode mini batch K-means,


K-means, dan LDA pada masalah pendeteksian topik, dapat disimpulkan bahwa:

1. Kondisi parameter dari metode mini batch K-means, yaitu inisialisasi centroid
dan ukuran batch dapat optimal pada kondisi parameter inisialisasi centroid
menggunakan K-means++ dan ukuran batch berkisar 15-30% dari data
keseluruhan. Selain itu ukuran batch yang baik bernilai lebih besar dari
banyaknya cluster yang diinginkan. Dari segi waktu, metode ini memiliki
peningkatan waktu komputasi yang sangat kecil seiring dengan peningkatan
ukuran batch yang signifikan, sehingga pertimbangan awal dalam penggunaan
metode ini dapat terfokus pada ukuran batch terlebih dahulu.
2. Hasil terbaik metode mini batch K-means cukup baik jika dibandingkan dengan
metode K-means, karena dengan selisih nilai akurasi yang sedikit lebih rendah,
yaitu 1-2%, dapat menghemat penggunaan waktu hingga 60-70%.
3. Perbandingan kedua metode clustering tersebut masih cukup jauh untuk dapat
mendekati hasil implementasi dari metode LDA. Metode LDA masih lebih baik
dalam hal nilai akurasi walaupun perbandingan waktu komputasi yang
digunakan sangat jauh dengan kedua metode clustering tersebut. Hal ini
disebabkan asumsi awal yang digunakan oleh metode LDA adalah setiap
dokumen mengandung beberapa topik, sedangkan pada metode K-means
berasumsi bahwa satu dokumen hanya mengandung satu topik.

5.2 Saran

Saran yang diberikan penulis untuk penelitian serupa di masa yang akan datang
adalah perlu adanya metode pendekatan yang memperhatikan peningkatan nilai
akurasi meski dalam waktu yang sedikit lebih lama.

45
Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


DAFTAR PUSTAKA

Aiello, L. M., Petkos, G., Martin, C., Corney, D., Papadopoulos, S., Skraba, R.,
Goker, A., Kompatsiaris, I., Senior Member, IEEE, dan Jaimes, A.
(2013). Sensing Trending Topics in Twitter. IEEE Transactions on
Multimedia, vol. 15, no. 6, pp. 1520–9210
Allan, J. (2002). Topic Detection and Tracking: Event-Based Information
Organization. New York: Springer
Arthur, D., Vassilvitskii, S. (2007). k-means++: The Advantages of Careful
Seeding. SODA '07 Proceedings of The Eighteenth Annual ACM-SIAM
Symposium on Discrete Algorithms, pp. 1027–1035
Bishop, C. M. (2006). Pattern Recognition and Machine Learning. New York:
Springer
Blei, D. M., Ng, A. Y., Jordan, M. I., Lafferty, J. (2003). Latent Dirichlet
Allocation. Journal of Machine Learning Research, vol. 3, pp. 993–
1022
Blei, D. M. (2012). Probabilistic topic models. Communication of the ACM, vol.
55, no. 4, pp. 77–84
Lau, J. H., Newman, D., & Baldwin, T. (2014). Machine Reading Tea Leaves:
Automatically Evaluating Topic Coherence and Topic Model Quality.
In 14th Conferences of the European Chapter of the Association for
Computational Linguistic, pp. 530–539
Murfi, H. (2014). Incorporating Semantic Metadata into Nonegative Matrix
Factorization Based Topic Modeling and its Application to Main Topic
Extraction. International Journal of Intelligent Information Processing,
vol. 5, no. 2, pp. 29–38
Nur’aini, K., Najahaty, I., Hidayati, L., Murfi, H., Nurrohmah, S. (2015).
Combination of Singular Value Decomposition and K-means
Clustering Methods for Topic Detection on Twitter. Proceeding of
International Conference on Advanced Computer Science and
Information System, Depok, Indonesia

46
Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


47

Pusat Bahasa Departemen Pendidikan Nasional. (2008). Kamus Besar Bahasa


Indonesia (4th ed.). Jakarta: Departemen Pendidikan Nasional
Sculley, D. (2010). Web-scale K-Means Clustering. Proceedings of the 19th
International Conference on World Wide Web, pp. 1177-1178
Sontag, D., Roy, D. M. (2011). Complexity of Inference in Latent Dirichlet
Allocation. Advances in Neural Information Processing Systems 24, pp.
1008—1016
Yuan, Y. (1999). Step-Sizes for the Gradient Method. AMS/IP Studies in
Advanced Mathematics (Providence, RI: American Mathematical
Society), vol. 24, no. 2, pp. 785–797
Wayne, C. L. (1998). Topic Detection & Tracking: Overview & Percpective.
Proceedings of the Broadcast News Transcription and Understanding
Workshop. Lanndsdowne, Virginia.

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


LAMPIRAN

Lampiran 1 Listing Program Ekstraksi Topik untuk Data Berita Online

import csv
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer
#import lda
from sklearn.cluster import KMeans, MiniBatchKMeans
from sklearn.preprocessing import normalize
from sklearn.metrics.pairwise import pairwise_kernels
from scipy import io
from time import time

nama = '2014-01'
waktu=open('../Results/MiniBatchKMeans/News/Topik-2014-01/Percobaan-
11.txt','w')
for k in range(1,6):
hasil = open('../Results/MiniBatchKMeans/News/Topik-2014-01/Percobaan-11-
Run-ke-'+str(k)+'.txt', 'w')
waktu.write('Run ke-%d' %k + '\n')
print 'Run ke-',k
t0 = time()

data_file = csv.reader(open('../Data/News/Indonesia/' + nama + '.csv'))


data_file.next()
data = []
for column in data_file:
data.append(column[0] + ' ' + column[1])

data_file = csv.reader(open('../Data/Stopwords/stopwords_id.csv'))
stopwords = []
for column in data_file:
stopwords.append(column[0])
stopwords = stopwords + ['republika', 'untuk', 'the', 'toko', 'nya']

# Vectorizing : Feature Extraction, Weighting, Filtering, Normalizing


print "Vectorizing ....."
vectorizer = TfidfVectorizer(min_df=2, max_df=0.95, stop_words=stopwords,
token_pattern='\\b[a-zA-Z][a-zA-Z][a-zA-Z]+\\b')
data = vectorizer.fit_transform(data)
feature_names = vectorizer.get_feature_names()

48
Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


49

#Learning
print "Learning ...."
n_topics = 100

#lda = lda.LDA(n_topics=n_topics).fit(data)
#W = lda.topic_word_
#H = lda.doc_topic_

km = MiniBatchKMeans(n_clusters=n_topics, init='k-means++',
batch_size=15000).fit(data)
#km = KMeans(n_clusters=n_topics, init='random').fit(data)
W = km.cluster_centers_
H = pairwise_kernels(normalize(data), normalize(W), metric='rbf')

io.mmwrite("../Results/MiniBatchKMeans/News/W-H/W-Percobaan-11-" +
nama+','+str(k)+'',W)
io.mmwrite("../Results/MiniBatchKMeans/News/W-H/H-Percobaan-11-" +
nama+','+str(k)+'',H)

#Visualizing : Topics and their Trends


print "Visualizing ..."
n_top_topics = 100
n_top_words = 10

#hasil = open('../results/KMeans/' + nama + '.txt', 'w')


H = normalize(H)
for i in np.argsort(sum(H))[::-1][0:n_top_topics]:
hasil.write("" + " ".join([feature_names[j] for j in np.argsort(W[i])[::-
1][0:n_top_words]]) + "\n")
hasil.close()
print("Waktu: %0.3fs" % (time() - t0))
waktu.write('Waktu: %0.3fs' %(time()-t0)+'\n')
waktu.close()

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


50

Lampiran 2 Listing Program Ekstraksi Topik untuk Data Twitter

import json
from sklearn.feature_extraction.text import TfidfVectorizer
from scipy import sparse
from sklearn.cluster import KMeans, MiniBatchKMeans
#import lda
from time import time

for t in range(1,6):
waktu=open('../Results/MiniBatchKMeans/Twitter/ST/Percobaan-14/Run-
'+str(t)+'/Waktu-14-'+str(t)+'.txt','w')
for k in range(1,9):
hasil = open('../Results/MiniBatchKMeans/Twitter/ST/Percobaan-14/Run-
'+str(t)+'/ST'+str(k)+'.txt', 'w')
waktu.write('ST %d' %k + '\n')
print 'ST ',k
t0 = time()
data=[]
f=json.loads(open('../Data/Twitter/Topic_Detection/SuperTuesday/SuperTuesda
y/ST'+str(k)+'.json').read())
for i in range(len(f)):
a=f[i].keys()
for j in range(len(a)-1):
if a[j]==u'text':
break
data.append(f[i].values()[j])

# Vectorizing : Feature Extraction, Weighting, Filtering


print "Vectorizing ....."
vectorizer = TfidfVectorizer(stop_words=['english','http'], token_pattern='\\b[a-
zA-Z][a-zA-Z][a-zA-Z]+\\b')
X = sparse.csc_matrix(vectorizer.fit_transform(data))
feature_names = vectorizer.get_feature_names()

#Learning
print "Learning ...."
n_topics = 100
n_top_words = 10
#lda = lda.LDA(n_topics=n_topics).fit(X)
#W = lda.components_
#km = KMeans(n_clusters=n_topics, init='random').fit(X)
km = MiniBatchKMeans(n_clusters=n_topics, init='random',
batch_size=150000).fit(X)

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016


51

W = km.cluster_centers_
for topic_idx, topic in enumerate(W):
hasil.write("" + " ".join([feature_names[i] for i in topic.argsort()[:-n_top_words -
1:-1]]) + "\n")
hasil.close()

print("Waktu: %0.3fs" % (time() - t0))


waktu.write('Waktu: %0.3fs' %(time()-t0)+'\n')
waktu.close()

Universitas Indonesia

Peningkatan kinerja..., Siti Rofiqoh Fitriyani, FMIPA UI, 2016

Anda mungkin juga menyukai