KLASIFIKASI DOKUMEN BERITA MENGGUNAKAN METODE SUPPORT VECTOR MACHINE DENGAN KERNEL RADIAL BASIS FUNCTION
ADYATMA BHASKARA HUTOMO
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Klasifikasi Dokumen Berita Menggunakan Metode Support Vector Machine dengan Kernel Radial Basis Function adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Desember 2014 Adyatma Bhaskara Hutomo NIM G64100018
ABSTRAK ADYATMA BHASKARA HUTOMO. Klasifikasi Dokumen Berita Menggunakan Metode Support Vector Machine dengan Kernel Radial Basis Function. Dibimbing oleh JULIO ADISANTOSO. Setiap hari jumlah dokumen teks, khususnya dokumen berita online di internet terus meningkat. Akibatnya, para pencari informasi mengalami kesulitan dalam memperoleh informasi yang diinginkan, sehingga diperlukan sebuah teknik pengolahan dokumen yang mampu mengelompokkan dokumen teks berdasarkan kategori yang telah ditentukan secara otomatis. Teknik ini adalah klasifikasi dokumen. Salah satu metode klasifikasi yang sangat baik dan populer yaitu support vector machine (SVM). Konsep SVM adalah untuk menemukan bidang pemisah terbaik antara 2 kelas data pada ruang vektor. Dengan kernel trick, SVM mampu menyelesaikan klasifikasi pada kasus taklinear. Tujuan penelitian ini adalah menerapkan kernel radial basis function pada SVM untuk melakukan klasifikasi dokumen berita berbahasa Inggris Reuters-21578, dengan membandingkan metode pembobotan term frequency (tf) dan term frequency-inverse document frequency (tfidf). Seleksi ciri dilakukan dengan metode chi-square, menghasilkan 1716 kata penciri dari 7279 kata hasil tokenisasi dan pembuangan stopword. Hasil akhir menunjukkan bahwa klasifikasi SVM menghasilkan akurasi sebesar 93.21% menggunakan pembobotan tf dan 92.97% menggunakan pembobotan tf-idf. Kata kunci: chi-square, klasifikasi dokumen, radial basis function, seleksi ciri, support vector machine
ABSTRACT ADYATMA BHASKARA HUTOMO. News Document Classification Using Support Vector Machine Method with Radial Basis Function Kernel. Supervised by JULIO ADISANTOSO. Every day the number of text documents, especially online news documents increase. As a result, it is more difficult for information seekers in obtaining the desired information. This problem requires a text processing technique that is able to automatically classify text documents based on predetermined categories. This technique is document classification. A very good and popular classification method is support vector machine (SVM). SVM tries to find the best hyperplane which separates 2 classes of data in a vector space. By applying kernel trick, SVM can implement classification in non-linear case. The goals of this research are applying the radial basis function kernel of SVM to classify Reuters-21578 news documents, and comparing the weighting method term frequency (tf) and term frequency-inverse document frequency (tf-idf). The research uses chi-square in feature selection, producing 1716 features out of 7279 terms from tokenization and stopwords removal. The final result shows that the SVM classification produces an accuracy of 93.21% using tf weighting and 92.97% using tf-idf weighting. Keywords: chi-square, document classification, feature selection, radial basis function, support vector machine
KLASIFIKASI DOKUMEN BERITA MENGGUNAKAN METODE SUPPORT VECTOR MACHINE DENGAN KERNEL RADIAL BASIS FUNCTION
ADYATMA BHASKARA HUTOMO
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014
Penguji: 1 Ahmad Ridha, SKom, 2 Dr Imas Sukaesih Sitanggang, SSi, MKom
Judul Skripsi : Klasifikasi Dokumen Berita Menggunakan Metode Support Vector Machine dengan Kernel Radial Basis Function Nama : Adyatma Bhaskara Hutomo NIM : G64100018
Disetujui oleh
Ir Julio Adisantoso, MKom Pembimbing I
Diketahui oleh
Dr Ir Agus Buono, MSi MKom Ketua Departemen
Tanggal Lulus:
PRAKATA Segala puji dan syukur penulis naikkan kepada Tuhan yang Maha Esa, yang telah memelihara, menyelamatkan, dan memimpin. Karena hanya oleh anugerahNya semata, tugas akhir ini berhasil diselesaikan. Penelitian yang dilaksanakan sejak bulan Februari 2014 ini bertema temu kembali teks, dengan judul Klasifikasi Dokumen Berita Menggunakan Metode Support Vector Machine dengan Kernel Radial Basis Function. Penulis juga mengucapkan terima kasih kepada seluruh pihak yang terlibat dalam membantu diselesaikannya tugas akhir ini, yaitu: 1 Ayahanda, Ibunda, dan Kakak yang dengan tekun berdoa, memberi nasihat dan semangat, serta kasih sayang yang luar biasa kepada penulis. 2 Bapak Ir Julio Adisantoso, MKom selaku dosen pembimbing dan pengajar mata kuliah Temu Kembali Informasi yang memberikan bimbingan dan pengajaran, ide, dukungan, serta kesabaran dalam pengerjaan tugas akhir ini. 3 Bapak Ahmad Ridha, SKom, MS dan Ibu Dr Imas Sukaesih Sitanggang, SSi, MKom selaku dosen penguji yang telah memberikan masukan dan saran guna semakin memperbaik tugas akhir ini. 4 Teman-teman terdekat, Christyne dan Richardson yang telah menemani, memberi dukungan dan semangat, bersama-sama berjuang demi menyelesaikan tugas akhir masing-masing. 5 Segenap mahasiswa Persekutuan Mahasiswa Kristen (asistensi Listra, Bethel, dan El Emet, asisten mata kuliah Pendidikan Agama Kristen Protestan, kelompok kecil, kelompok PA matrikulasi, Komisi Pembinaan Pemuridan, Kepanitiaan KATA dan MSP, serta rekan PA MRII Bogor) yang senantiasa menguatkan dan memberikan sukacita kepada penulis selama di IPB. 6 Rekan-rekan Wisma Pakis dan OMDA Manggolo Putro. Semoga perjuangan kita selama ini membuahkan kesuksesan. 7 Rekan-rekan satu bimbingan (Damayanti Elisabeth dan Ahmad Baskoro) yang telah berjuang bersama dan melaksanakan bimbingan bersama. 8 Rekan-rekan Pixels (Ilmu Komputer angkatan 47) atas segala kebersamaan dan kenangan selama masa studi. Semoga kita kelak dapat berjumpa kembali sebagai orang-orang sukses. 9 Dosen dan staf Departemen Ilmu Komputer atas pengajaran selama kegiatan perkuliahan dan bantuan dalam hal akademik maupun non akademik. Semoga Departemen Ilmu Komputer menjadi semakin lebih baik ke depannya. Semoga karya ilmiah ini bermanfaat. Soli deo Gloria.
Bogor, Desember 2014 Adyatma Bhaskara Hutomo
DAFTAR ISI DAFTAR TABEL
vi
DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
2
Tujuan Penelitian
2
Manfaat Penelitian
2
Ruang Lingkup Penelitian
2
METODE
2
Pengumpulan Dokumen
3
Tokenisasi dan Pembuangan Stopword
3
Pemilihan Fitur Ciri
4
Pembobotan Kata
5
Klasifikasi Dokumen
6
Pengujian
9
Lingkungan Pengembangan Sistem
9
HASIL DAN PEMBAHASAN
10
Pengumpulan Dokumen
10
Tokenisasi dan Pembuangan Stopword
11
Pemilihan Fitur Ciri
11
Pembobotan
12
Klasifikasi Dokumen
12
Pengujian
13
SIMPULAN DAN SARAN
15
Simpulan
15
Saran
15
DAFTAR PUSTAKA
15
LAMPIRAN
17
RIWAYAT HIDUP
20
DAFTAR TABEL 1 2 3 4 5 6 7 8 9 10
Tabel kontingensi antara kata terhadap kelas Nilai kritis π2 untuk taraf nyata Ξ± dan derajat bebas 1 Contoh metode pembobotan Confusion matrix Informasi data penelitian Struktur tabel dokumen latih dan dokumen uji Hasil tahap pemilihan fitur ciri dengan taraf nyata 0.001 Hasil akurasi parameter terbaik Confusion matrix klasifikasi SVM dengan pembobotan tf Confusion matrix klasifikasi SVM dengan pembobotan tf-idf
5 5 6 9 10 11 12 13 14 14
DAFTAR GAMBAR 1 Tahapan penelitian 2 SVM berusaha menemukan bidang pemisah terbaik 3 Penerapan kernel pada SVM dalam transformasi ke dimensi lebih tinggi
3 7 8
DAFTAR LAMPIRAN 1 Contoh dokumen Reuter-21578 2 Daftar stopword 3 Instruksi Matlab pada pemodelan dan pengujian
17 18 19
1
PENDAHULUAN Latar Belakang Semakin pesatnya perkembangan teknologi informasi, disertai dengan semakin meningkatnya jumlah dokumen teks, menyebabkan semakin sulitnya memperoleh informasi yang diinginkan. Jumlah dokumen teks, khususnya dokumen berita online di internet meningkat per harinya. Hal ini juga terjadi sebagai akibat dari kecenderungan masyarakat umum yang lebih gemar membaca berita online daripada berita tercetak. Oleh karena itu, diperlukan teknik pengolahan dokumen yang mampu mengelompokkan dokumen teks berdasarkan kategori yang telah ditentukan. Dokumen berita yang telah dikelompokkan berdasarkan kesamaan topik bahasan akan mempermudah akses pencari informasi dalam menemukan informasi yang akan dicari. Teknik ini dinamakan klasifikasi dokumen. Dengan klasifikasi dokumen, dokumen dikelompokkan sesuai dengan kategorinya sehingga pencari informasi hanya perlu mencari pada kategori yang berhubungan dengan informasi yang ingin dicari (Joachims 1998). Ada 2 kasus dalam melakukan klasifikasi, yaitu linear dan taklinear. Pada kasus linear, data terpisah secara sempurna sehingga pengklasifikasi hanya perlu mencari garis linear sebagai pemisah antarkelas. Akan tetapi, permasalahan klasifikasi yang sering dijumpai bersifat taklinear, yakni data tidak dapat dipisahkan secara linear. Untuk itu diperlukan metode yang dapat meningkatkan dimensi data agar pengklasifikasi bisa memisahkan data secara sempurna. Support vector machine (SVM) adalah metode yang dapat melakukan klasifikasi yang bersifat taklinear. SVM merupakan salah satu metode berbasis pembelajaran mesin (machine learning) yang tergolong baru (Manning et al. 2008). Kemampuannya dapat disandingkan dengan neural network, keduanya masuk dalam kelas supervised learning (Santosa 2000). SVM telah digunakan dalam mengatasi permasalahan temu kembali informasi, terutama klasifikasi dokumen. Permasalahan klasifikasi taklinear dapat diatasi dengan menerapkan fungsi kernel pada SVM, untuk mentransformasikan data ke ruang vektor berdimensi lebih tinggi. Penelitian Putri (2013) menerapkan kernel linear, polinomial dan RBF (radial basis function) dan mampu melakukan klasifikasi dokumen dengan akurasi yang diperoleh berturut-turut sebesar 70.80%, 70.80%, dan 73.72%. Borovikov (2005) mengemukakan bahwa penggunaan kernel RBF pada SVM memberikan akurasi yang paling baik di antara ketiganya. Pemilihan kernel yang digunakan sangat mempengaruhi nilai akurasi yang dihasilkan. Di samping itu, proses pemilihan fitur ciri dan pembobotan kata memiliki peran yang sangat penting dalam proses klasifikasi dokumen. Pada proses pemilihan fitur, akan ditentukan kata-kata mana saja yang akan digunakan sebagai penciri dokumen di masing-masing kelas. Putri (2013) juga menyimpulkan bahwa penggunaan metode chi-square sebagai pemilihan fitur dilanjutkan dengan pembobotan tf-idf (term frequency-inverse document frequency) memberikan akurasi yang lebih besar yaitu 95.62%. Perlu dicobakan metode pembobotan lain yang lebih sederhana yaitu pembobotan tf (term frequency) agar komputasi yang dilakukan lebih sederhana.
2 Perumusan Masalah Perumusan masalah pada penelitian ini adalah: 1 Apakah SVM dengan kernel RBF mampu melakukan klasifikasi dokumen berita berbahasa Inggris? 2 Apakah pembobotan tf cukup baik dalam klasifikasi dokumen?
Tujuan Penelitian Tujuan penelitian ini adalah: 1 Melakukan klasifikasi dokumen berita berbahasa Inggris menggunakan metode SVM dengan kernel RBF. 2 Membandingkan pembobotan tf dan tf-idf dalam klasifikasi dokumen.
Manfaat Penelitian Penelitian ini diharapkan dapat membantu dalam mengelompokkan dokumen berita berdasarkan kategori yang telah ditentukan secara otomatis.
Ruang Lingkup Penelitian Ruang lingkup penelitian ini meliputi: 1 Penelitian difokuskan kepada klasifikasi dokumen berbahasa Inggris dalam 2 kelas menggunakan metode SVM dengan kernel RBF. 2 Penelitian juga berfokus pada pembandingan metode pembobotan tf dan tf-idf dalam klasifikasi dokumen. 3 Penelitian dibatasi pada percobaan metode dalam klasifikasi, tanpa membangun sebuah sistem pengklasifikasi otomatis.
METODE Garis besar alur pengerjaan penelitian ini disajikan dalam Gambar 1. Beberapa tahapan dari sistem meliputi pengumpulan dokumen, praproses, pembagian data, pemodelan, dan pengujian. Koleksi dokumen yang ada pada korpus dibagi menjadi 2 kelompok yaitu data latih dan data uji. Dalam tahapan praproses, dilakukan tokenisasi, pembuangan stopword, pemilihan fitur ciri, dan pembobotan terhadap data latih dan data uji. Tahap selanjutnya adalah pemodelan dengan menggunakan metode klasifikasi SVM pada data latih dan hasilnya digunakan sebagai pembuatan model SVM. Setelah itu dokumen uji yang telah diketahui kelasnya diuji dan dihitung hasil klasifikasinya.
3 .
Gambar 1 Tahapan penelitian
Pengumpulan Dokumen Dokumen yang digunakan dalam penelitian ini adalah koleksi dokumen Reuters-21578, yang merupakan dokumen berita berbahasa Inggris yang muncul pada Reuterβs newswire tahun 1987. Dokumen Reuters-21578 tersedia pada http://www.daviddlewis.com/resources/testcollections/reuters21578/. Dokumen ini disimpan dalam format XML (extensible markup language). XML adalah bahasa yang mampu menyimpan data secara ringkas dan mudah diatur, serta banyak digunakan untuk pertukaran informasi di internet. Secara keseluruhan, koleksi dokumen berjumlah 21578 dokumen yang terdiri atas 135 topik. Penelitian ini hanya menggunakan dokumen dengan 6 topik yang selanjutnya ditentukan menjadi 2 kelas, yakni earn dan Β¬earn (not earn). Kelas earn adalah dokumen yang memiliki topik earn. Kelas Β¬earn adalah dokumen yang memiliki topik trade, ship, crude, grain, dan interest. Pemilihan topik didasarkan pada jumlah dokumen terbanyak dalam koleksi Dokumen dibagi menjadi dokumen latih dan dokumen uji masing-masing dengan proporsi 70% dan 30%. Data latih akan digunakan untuk melatih sistem sehingga dihasilkan model klasifikasi SVM. Data uji digunakan untuk pengujian hasil klasifikasi.
Tokenisasi dan Pembuangan Stopword Tahap praproses dimulai dengan tokenisasi, yaitu membagi dokumen menjadi unit-unit kecil yang disebut dengan token (Manning et al. 2008). Token didefinisikan sebagai sebuah kata. Tokenisasi diawali dengan penghapusan karakter-karakter yang tidak diperlukan, meliputi tanda baca seperti titik, koma, petik, dan lain-lain serta angka numerik. Kemudian dilanjutkan dengan pengubahan huruf kapital menjadi huruf kecil dan pemisahan isi dokumen berdasarkan karakter spasi. Dengan demikian, diperoleh token-token berupa suatu kata.
4 Tahap selanjutnya adalah pembuangan kata yang dianggap tidak penting, biasa disebut stopword. Pada umumnya, kata-kata yang sering muncul di banyak dokumen juga dibuang. Kata ini tidak sesuai untuk dijadikan penciri suatu dokumen. Kata-kata yang termasuk dalam stopword ini kemudian dibuang dan tidak diikutsertakan dalam proses selanjutnya.
Pemilihan Fitur Ciri Menurut Manning et al. (2008), pemilihan fitur merupakan suatu proses memilih subset dari setiap kata unik yang ada di dalam himpunan dokumen latih yang akan digunakan sebagai fitur di dalam klasifikasi dokumen. Pemilihan fitur memiliki 2 tujuan utama. Pertama, membuat proses pelatihan dan penggunaan fungsi klasifikasi lebih efisien dengan mengurangi jumlah kata yang digunakan. Kedua, hal ini dapat meningkatkan akurasi hasil klasifikasi. Ada beberapa metode pemilihan fitur yang baik untuk diterapkan dalam masalah klasifikasi dokumen, yaitu pemilihan fitur berbasis frekuensi, information gain, dan chi-square (π2). Pemilihan fitur berbasis frekuensi dapat bekerja dengan baik ketika fitur yang dipilih berjumlah ribuan. Metode lainnya, yaitu mutual information (MI) yang mengukur berapa banyak informasi kemunculan sebuah term berpengaruh dalam mengklasifikasi ke kelas tertentu. Namun, MI memberikan nilai peluang yang tidak signifikan dan tidak ada batas pasti nilai MI yang baik, sehingga harus memperkirakannya. Chi-square memperbaiki kedua metode tersebut. Penelitian ini menggunakan metode chi-square sebagai pemilihan fitur. Chi-square merupakan pengujian hipotesis mengenai perbandingan antara frekuensi contoh yang benar-benar terjadi dengan frekuensi harapan yang didasarkan atas hipotesis tertentu pada setiap kasus atau data. Secara umum, perhitungan nilai chi-square ditunjukkan pada persamaan (Walpole 1982):
π₯2 = ππ =
2 π (π π βπ π ) π=1 π
(1)
π
ππ Γ π
ππ
(2)
dengan oi adalah frekuensi observasi, dan ei adalah frekuensi harapan. Perhitungan nilai ei ditunjukkan pada Persamaan 2, dengan ππ adalah jumlah frekuensi pada kolom, ππ adalah jumlah frekuensi pada baris, dan π adalah jumlah total frekuensi pengamatan. Berdasarkan nilai chi-square (π2 ) tersebut dapat diambil suatu keputusan statistik apakah terjadi perbedaan antara pola frekuensi observasi dengan frekuensi harapan. Hipotesis nol (H0) diterima jika nilai perhitungan π2 < nilai kritis pada taraf nyata tertentu. Hipotesis nol (H0) ditolak jika nilai perhitungan π2 > nilai kritis pada taraf nyata tertentu. Chi-square mengukur derajat bebas tiap kata penciri t dengan kelas c agar dapat dibandingkan dengan sebaran chi-square. Perhitungan nilai chi-square pada setiap kata t yang muncul pada setiap kelas c dapat dibantu dengan menggunakan tabel kontigensi. Tabel 1 menunjukan tabel kontigensi antara kata terhadap kelas.
5 Nilai yang terdapat pada tabel kontingensi merupakan nilai frekuensi observasi dari suatu kata terhadap kelas. Tabel 1 Tabel kontingensi antara kata terhadap kelas Kelas Kata c Β¬c t N11 N10 Β¬t N01 N00 Perhitungan nilai chi-square berdasarkan Tabel 1, menurut Manning et al. (2008) dapat disederhanakan menjadi:
π₯ 2 (π‘, π) =
π(π11 π00 βπ10 π01 )2 π11 +π01 π11 +π10 π10 +π00 (π01 +π00 )
(3)
dengan t merupakan kata yang sedang diujikan terhadap suatu kelas c, N merupakan jumlah dokumen latih, N11 merupakan banyaknya dokumen kelas c yang memuat kata t, N10 merupakan banyaknya dokumen yang bukan kelas c namun memuat kata t, N01 merupakan banyaknya dokumen kelas c namun tidak memiliki kata t di dalamnya, serta N00 merupakan banyaknya dokumen yang bukan merupakan kelas c dan tidak memuat kata t. Pengambilan keputusan dilakukan berdasarkan nilai π2 dari masing-masing kata. Kata yang memiliki nilai π2 di atas nilai kritis pada taraf nyata Ξ± adalah kata yang akan dipilih sebagai penciri dokumen. Kata yang dipilih sebagai penciri merupakan kata yang memiliki pengaruh terhadap kelas c. Nilai kritis π2 untuk taraf nyata Ξ± ditunjukkan pada Tabel 2 (Walpole 1982). Penelitian ini menggunakan taraf nyata Ξ± yaitu 0.001 dan derajat bebas yaitu 1 yang diartikan bahwa kriteria kata yang dipilih sebagai penciri dokumen adalah kata yang memiliki nilai π2 lebih besar atau sama dengan 10.83. Tabel 2 Nilai kritis π2 untuk taraf nyata Ξ± dan derajat bebas 1 Ξ± Nilai kritis 0.100 2.71 0.050 3.84 0.010 6.63 0.005 7.83 0.001 10.83
Pembobotan Kata Setelah terpilihnya fitur ciri, maka dilakukan pembobotan kata untuk mengubah representasi data teks menjadi data numerik sehingga dapat diproses. Metode pembobotan yang biasa dipakai dalam pemrosesan teks ialah term frequency (tf) weighting dan term frequency-inverse document frequency (tf-idf) weighting. Formula kedua metode tersebut terdapat pada Tabel 3 (Manning et al. 2008).
6 Tabel 3 Contoh metode pembobotan Metode pembobotan Formula tf π€π‘,π = π‘ππ‘,π tf-idf π€π‘,π = π‘ππ‘,π Γ ππππ‘ dengan ππππ‘ = log (π πππ‘ ) Semakin sering suatu kata muncul pada suatu dokumen, diduga semakin penting kata itu untuk dokumen tersebut. Angka kemunculan suatu kata pada suatu dokumen menyatakan tingkat kepentingan kata tersebut. Hal inilah yang menjadi dasar pemikiran dari pembobotan tf. Metode ini tergolong sederhana. Jika dibandingkan dengan pembobotan boolean, yang paling sederhana karena hanya memperhitungkan hadir atau tidaknya suatu kata dalam dokumen, pembobotan tf memberikan nilai bobot yang lebih nyata. Nilai bobot term t pada dokumen d (wt,d) diperoleh dari frekuensi kemunculan term t pada dokumen d (tft,d). Pembobotan ini dapat disebut sebagai pembobotan lokal, karena hanya memerhatikan kemunculan kata pada dokumen tunggal. Menyambung ide dari pembobotan tf, terdapat kata yang memiliki frekuensi kemunculan tinggi pada dokumen tunggal, namun frekuensi kemunculan kata tersebut juga tinggi di setiap dokumen. Artinya, kata tersebut sebenarnya tidak signifikan. Oleh karena itu, pembobotan tf kadang kala menimbulkan persoalan. Metode pembobotan yang sangat populer yang mampu mengatasi persoalan ini yaitu tf-idf. Nilai idf menyatakan ukuran kepentingan suatu kata. Artinya, semakin besar nilai idf suatu kata, semakin penting kata tersebut. Nilai bobot term t pada dokumen d (wt,d) diperoleh dari hasil perkalian frekuensi kemunculan term t pada dokumen d (tft,d) dan nilai idf term t (idft). Nilai ππππ‘ diperoleh dari hasil logaritma perbandingan jumlah keseluruhan dokumen (N) dan frekuensi dokumen yang mengandung term t (πππ‘ ) . Maka, nilai bobotnya cenderung berbanding lurus dengan nilai tf dan berbanding terbalik dengan nilai df. Berbeda dengan pembobotan tf, pembobotan tf-idf memerhatikan aspek lokal yaitu kemunculan kata pada dokumen tunggal dan aspek global kemunculan kata pada keseluruhan dokumen. Penelitian ini mencoba membandingkan kinerja metode pembobotan tf yang sederhana dan diduga cukup untuk memberikan nilai bobot dari setiap fitur terpilih, serta tf-idf sebagai metode pembobotan yang sangat populer dan telah digunakan pada penelitian Putri (2013). Proses pembobotan dilakukan untuk semua kata yang diperoleh dari proses pemilihan fitur. Setiap kata diberi bobot pada setiap dokumen, hal ini berlaku pada semua dokumen latih dan dokumen uji. Dalam hal ini, setiap dokumen akan diwujudkan sebagai sebuah vektor dengan elemen bobot dari setiap fitur terpilih.
Klasifikasi Dokumen Tujuan utama dari klasifikasi dokumen adalah mengelompokkan dokumen ke dalam kelas-kelas yang telah didefinisikan sebelumnya. Klasifikasi dokumen yang dilakukan secara otomatis oleh sistem terdiri atas 2 kategori, yaitu handcoded rule-based systems dan supervised learning (Manning et al. 2008). Handcoded rule-based systems akan memberikan tingkat akurasi yang tinggi jika rule dibuat dengan sangat baik oleh ahli dan sangat kompleks. Selain itu pembuatan
7 rule memerlukan biaya yang mahal. Pada supervised learning, sistem disupervisi untuk bisa belajar (learning) menggunakan data latih. SVM merupakan metode pembelajaran yang tergolong baru, diperkenalkan oleh Vapnik, Boser dan Guyon pada tahun 1992. Dewasa ini SVM telah berhasil diaplikasikan dalam problema dunia nyata (real-world problems), dan secara umum memberikan solusi yang lebih baik dibandingkan metode konvensional. Konsep dasar SVM dapat dijelaskan sebagai usaha mencari hyperplane terbaik yang berfungsi sebagai pemisah 2 kelas pada input space (Joachims 1998). Secara sederhana, SVM mampu menyelesaikan permasalahan klasifikasi 2 kelas. Pembuatan model berdasarkan masukan dari data latih dari masing-masing kelas dilakukan oleh SVM. Model inilah yang kemudian dapat dipakai untuk mengelompokkan data baru. Usaha untuk mencari lokasi hyperplane merupakan inti dari proses pembelajaran pada SVM. Gambar 2 mengilustrasikan bidang pemisah terbaik ialah bidang pemisah yang menghasilkan nilai margin terbesar. Nilai margin merupakan jarak antara bidang pemisah dengan elemen terluar dari kedua kelas.
Support vector Hyperplane alternatif
Margin terbesar Hyperplane terbaik
Gambar 2 SVM berusaha menemukan bidang pemisah terbaik (Manning et al. 2008) Menurut Manning et al. (2008), fungsi pemisah yang dicari adalah fungsi linear sebagai berikut:
π π₯ = π πππ(π€ π π₯ + π)
(4)
dengan π€ adalah bobot yang merepresentasikan posisi hyperplane pada bidang normal, π₯ adalah vektor data masukan, dan π adalah bias yang merepresentasikan posisi bidang relatif terhadap pusat koordinat. Teknik ini berusaha menemukan fungsi pemisah (hyperplane) terbaik di antara fungsi yang tidak terbatas jumlahnya untuk memisahkan 2 macam obyek. Mencari hyperplane terbaik ekuivalen dengan memaksimalkan margin antara 2 kelas yang dapat diperoleh dari formula 2 π€ . Hal ini sama dengan 1 meminimalkan fungsi π€ π π€ dengan memerhatikan pembatas π¦π (π€ π π₯π + π) β₯ 1, 2 dengan π₯π merupakan vektor data, π¦π merupakan label kelas, serta π€ , b adalah parameter-parameter yang dicari nilainya. Selanjutnya, masalah klasifikasi diformulasikan ke dalam quadratic programming (QP) problem yang dapat
8 diselesaikan dengan Lagrange multiplier sehingga fungsi klasifikasinya menjadi seperti pada Persamaan 5.
π π₯ = π πππ
π πΌπ π¦π π₯π
π
π₯+π
(5)
dengan πΌπ adalah Lagrange multiplier yang berkorespondensi dengan π₯π (Manning et al. 2008). Dengan fungsi kernel, data akan ditransformasikan ke ruang vektor berdimensi lebih tinggi. Usaha mencari bidang pemisah antara kedua kelas pada ruang vektor baru adalah langkah selanjutnya. Pada Gambar 3 diilustrasikan modifikasi SVM dengan kernel.
Gambar 3 Penerapan kernel pada SVM dalam transformasi ke dimensi lebih tinggi (Gijbert 2007) Ada beberapa bentuk fungsi kernel, yang paling umum digunakan di antaranya linear, polinomial, radial basis function (RBF), dan sigmoid. Menurut Hsu et al. (2003) fungsi kernel yang direkomendasikan untuk diuji pertama kali ialah fungsi kernel RBF karena memiliki performa yang sama dengan SVM linear pada parameter tertentu, memiliki perilaku seperti fungsi kernel sigmoid dengan parameter tentu dan rentang nilainya kecil [0,1]. Penelitian ini menggunakan kernel RBF. Menurut Manning et al.(2008), fungsi kernel untuk RBF ditunjukkan pada Persamaan 6.
πΎ π₯π , π₯π = exp βπΎ π₯π β π₯π
2
(6)
dengan π₯π adalah vektor data latih dan π₯π adalah vektor data uji. Setelah menerapkan fungsi kernel, fungsi keputusannya (decision surface) ditulis dalam:
π π₯ = π πππ
π πΌπ π¦π πΎ
π₯π , π₯π + π
(7)
dengan πΌπ adalah Lagrange multiplier yang berkorespondensi dengan π₯π (Manning et al. 2008). Chang dan Lin (2001) telah memperkenalkan LIBSVM sebagai library untuk SVM. LIBSVM dewasa ini menjadi salah satu perangkat lunak SVM yang paling banyak digunakan dan mendukung penggunaan support vector
9 classification. LIBSVM tersedia pada http//www.csie.ntu.edu.tw/~cjlin/libsvm. Penggunaan LIBSVM meliputi pemodelan SVM terhadap data latih dan pengujian data uji terhadap model SVM. Penggunaan kernel dalam support vector classification juga telah dikembangkan, serta mendukung penerapan kernel RBF pada SVM. Dengan demikian, LIBSVM dapat diterapkan pada penelitian ini untuk melakukan klasifikasi SVM 2 kelas dengan kernel RBF.
Pengujian Proses pelatihan akan menghasilkan model SVM, lalu data uji yang sudah diketahui kelasnya ini akan diujikan terhadap fungsi klasifikasi SVM. Proses pengujian hasil klasifikasi dokumen tersebut dilakukan untuk mengetahui tingkat akurasi klasifikasi SVM dengan kernel RBF terhadap suatu data uji. Penelitian ini menggunakan metode confusion matrix dalam penghitungan tingkat akurasi. Confusion matrix merupakan matriks yang menyatakan jumlah kasus yang diklasifikasikan dengan benar dan salah (Tan et al. 2006), disajikan pada Tabel 4.
Prediksi Benar Salah
Tabel 4 Confusion matrix Observasi Benar TP FN
Salah FP TN
Dari perhitungan confusion matrix, diperoleh formula untuk menghitung akurasi sebagai berikut:
π΄ππ’πππ π =
ππ+ππ ππ+ππ+πΉπ+πΉπ
(8)
Lingkungan Pengembangan Sistem Lingkungan pengembangan sistem pada penelitian ini meliputi perangkat keras dan perangkat lunak dengan spesifikasi sebagai berikut: 1 Perangkat keras ο· Intel Pentium Core 2 Duo @2.00 GHz ο· Memori 2048 MB RAM ο· Harddisk 250 GB 2 Perangkat Lunak ο· Sistem operasi Microsoft Windows 7 ο· LIBSVM 3.18 ο· Matlab R2008b ο· PHP MySQL sebagai bahasa pemrograman ο· Notepad++ sebagai code editor ο· Microsoft Excel 2007 sebagai aplikasi penghitung
10
HASIL DAN PEMBAHASAN Pengumpulan Dokumen Tahapan awal yang dilakukan dalam penelitian adalah mengolah dokumen XML yang akan menjadi korpus. Terdapat 21578 dokumen berita yang terdiri atas 135 topik. Seluruh dokumen tersimpan dalam 22 file berformat XML dengan rincian terdapat pada Tabel 5. Tabel 5 Deskripsi data penelitian Ukuran file Jumlah Nama file (kB) dokumen reut2-000.xml 1287 1000 reut2-001.xml 1219 1000 1183 reut2-002.xml 1000 1262 reut2-003.xml 1000 1285 reut2-004.xml 1000 1350 reut2-005.xml 1000 1219 reut2-006.xml 1000 1221 reut2-007.xml 1000 1371 reut2-008.xml 1000 1302 reut2-009.xml 1000 1333 reut2-010.xml 1000 1268 reut2-011.xml 1000 1287 reut2-012.xml 1000 1099 reut2-013.xml 1000 1098 reut2-014.xml 1000 1223 reut2-015.xml 1000 1280 reut2-016.xml 1000 1505 reut2-017.xml 1000 1223 reut2-018.xml 1000 1226 reut2-019.xml 1000 1020 reut2-020.xml 1000 604 reut2-021.xml 578
Rata-rata (kB) 1.287 1.219 1.183 1.262 1.285 1.350 1.219 1.221 1.371 1.302 1.333 1.268 1.287 1.099 1.098 1.223 1.280 1.505 1.223 1.226 1.020 1.045
Contoh dokumen Reuters-21578 dapat dilihat pada Lampiran 1. Ada beberapa tag di dalam setiap dokumen, namun beberapa tag yang penting untuk diperhatikan untuk proses selanjutnya yaitu: ο·
, tag ini menunjukkan topik bahasan dari dokumen, yang akan dijadikan nama kelas dari setiap dokumen. ο· <TITLE>, menunjukkan judul dari dokumen berita. ο· , merupakan isi berita dari dokumen. Dokumen yang memiliki topik earn, trade, ship, crude, grain, dan interest berjumlah 4362 dokumen. Seluruh dokumen tersebut dibagi menjadi 2 kelompok, yakni 3110 dokumen latih dan 1252 dokumen uji. Dokumen latih dan dokumen uji yang telah terkumpul disimpan pada basis data yang terdiri atas 2 tabel berbeda, yaitu tabel training dan testing. Proses penyimpanan dokumen ke dalam basis data
11 dilakukan dengan membuat program menggunakan bahasa pemrograman PHP dan MySQL. Secara sederhana, yang dilakukan program ini yaitu membaca setiap file, dan mengambil string yang diapit oleh tag
disimpan sebagai topik dokumen, tag <TITLE> disimpan sebagai judul dokumen, serta tag disimpan sebagai isi dokumen untuk setiap dokumen. Struktur tabel pada basis data disajikan dalam Tabel 6. Tabel 6 Struktur tabel dokumen latih dan dokumen uji Tabel Field Tipe data training id integer topic varchar title varchar body text testing id integer topic varchar title varchar body text
Tokenisasi dan Pembuangan Stopword Tokenisasi dan pembuangan stopword dilakukan dengan membuat program menggunakan bahasa pemrograman PHP dan MySQL. Proses diawali dengan mengambil dokumen latih pada basis data. Lalu dilanjutkan dengan penghapusan tanda baca dan karakter numerik serta pengubahan huruf kapital menjadi huruf kecil. Token yang didefinisikan sebagai suatu kata didapatkan dengan memisahkan dokumen berdasarkan karakter spasi putih (white space) kemudian dihitung frekuensinya. Dalam tahap ini diperoleh 160320 kata hasil tokenisasi terhadap dokumen latih. Seluruh kata tersebut disaring dengan membuang kata-kata tidak penting atau stopword, seperti βtheβ, βandβ, βbutβ, dan lain-lain. Pendefinisian stopword dilakukan berdasarkan kata hasil tokenisasi dengan frekuensi kemunculan sangat tinggi dan sangat rendah, dari sini dipilih kata-kata yang dianggap tidak penting. Stopword berbahasa Inggris yang telah didefinisikan berjumlah 143 kata (Lampiran 2), dan tersimpan dalam basis data. Sampai pada tahap ini, diperoleh 7279 kata unik.
Pemilihan Fitur Ciri Seluruh kata yang diperoleh dari proses sebelumnya kemudian diproses kembali untuk menentukan apakah kata tersebut cocok dijadikan penciri dalam pembuatan model klasifikasi. Pemilihan fitur dilakukan dengan memodifikasi program yang telah dibuat oleh Putri (2013) menggunakan bahasa pemrograman PHP dan MySQL. Modifikasi dilakukan dengan menambahkan fungsi tokenisasi untuk masing-masing kelas. Proses ini menghasilkan 615 kata unik yang dapat dijadikan penciri dokumen kelas earn dan 1101 kata unik untuk kelas Β¬earn
12 (Tabel 7). Hal ini membuktikan proses ini mampu mengurangi jumlah kata yang akan diproses. Selanjutnya hanya kata-kata ini yang akan diproses. Tabel 7 Hasil tahap pemilihan fitur ciri dengan taraf nyata 0.001 Jumlah Kelas kata unik earn 615 Β¬earn 1101 Total 1716
Pembobotan Kata Seluruh kata yang diperoleh dari tahap pemilihan fitur akan dihitung bobotnya pada masing-masing dokumen. Pada tahap ini menghasilkan matriks vektor yang digunakan sebagai data latih dan data uji, yang masing-masing tersimpan pada file berformat CSV. Kedua file ini dibuat dari pembangunan program menggunakan bahasa pemrograman PHP dan MySQL. Matriks data latih berukuran 3110 Γ 1716, jumlah baris menunjukkan jumlah dokumen latih yaitu 3110 dan jumlah kolom menunjukkan jumlah kata penciri yaitu 1716. Matriks data uji berukuran 1252 Γ 1716, jumlah baris menunjukkan jumlah dokumen uji yaitu 1252 dan jumlah kolom menunjukkan jumlah kata penciri yaitu 1716. Penelitian ini akan membandingkan 2 metode pembobotan, yaitu tf dan tf-idf. Penghitungan bobot kata dengan metode pembobotan tf hanya memerhatikan frekuensi kemunculan kata pada masing-masing dokumen, karena adanya asumsi bahwa semakin sering suatu kata muncul dalam suatu dokumen, kata tersebut semakin penting. Nilai bobotnya diperoleh dari jumlah kemunculan kata di dalam sebuah dokumen tertentu. Apabila suatu kata tertentu tidak muncul dalam sebuah dokumen, maka bobotnya bernilai nol. Di samping itu, pada metode pembobotan tfidf selain memerhatikan frekuensi kemunculan sebuah kata di dalam sebuah dokumen tertentu, juga memperhitungkan jumlah dokumen yang mengandung kata tersebut. Keduanya memberikan nilai bobot yang berbeda untuk matriks data latih dan data uji. Artinya, untuk proses klasifikasi selanjutnya juga dihasilkan 2 buah model SVM.
Klasifikasi Dokumen Dalam klasifikasi dokumen, data latih dari proses sebelumnya diperlukan untuk membuat model SVM. Model SVM adalah model klasifikasi berbasis ruang vektor. Seluruh vektor dokumen dipetakan kemudian dicari fungsi pemisah kedua kelas. Proses ini dilakukan menggunakan LIBSVM pada Matlab R2008b. Proses pemodelan SVM oleh Matlab dapat dilihat pada Lampiran 3. Proses diawali dengan pembacaan file data latih berformat CSV, dilakukan dengan fungsi csvread(). Data ini merupakan data matriks, kolom pertama menyatakan label kelas dari dokumen. Kolom kedua dan seterusnya sampai kolom terakhir menyatakan fitur dari masing-masing dokumen. Penggunaan fungsi sparse() dimaksudkan agar hanya nilai fitur yang tidak nol yang disimpan
13 untuk proses selanjutnya. Selanjutnya, proses yang sama dilakukan pada file data uji. Pemodelan SVM memerlukan parameter sesuai dengan fungsi kernel yang digunakan. Menurut Hsu et al. (2003), akurasi model yang dihasikan dari proses pelatihan dengan SVM sangat bergantung pada fungsi kernel serta parameter yang digunakan. Oleh karena itu performansinya dapat dioptimasi dengan mencari (mengestimasi) parameter terbaik. Parameter yang diperlukan untuk kernel RBF yaitu c (cost) dan Ξ³ (gamma). Untuk menentukan nilai terbaik dari kedua parameter ini dilakukan proses grid search. Akurasi diperoleh dari persentase data yang diklasifikasikan dengan benar. Proses grid search pada Matlab dilakukan dengan memanggil fungsi test_grid_rbf(). Proses ini dilakukan untuk mendapatkan nilai c (cost) terbaik pada rentang 2-5 β€ c β€ 215 dan parameter Ξ³ (gamma) terbaik pada rentang 2-15 β€ Ξ³ β€ 23. Parameter dikatakan terbaik jika mencapai nilai akurasi tertinggi dalam proses ini. Tabel 8 menyajikan parameter terbaik untuk masing-masing model SVM.
Metode pembobotan tf tf-idf
Tabel 8 Hasil akurasi parameter terbaik Parameter Ρ (cost) Ξ³ (gamma) 7 2 1.22070 Γ 10-4 7 2 2.44141 Γ 10-4
Akurasi 93.8907% 93.6013%
Selanjutnya, pemodelan SVM dilakukan dengan memanggil fungsi svmtrain ( training_label_vector, training_instance_matrix, '-t 2 -c 128 -g 0.00012207') untuk pembobotan tf. Parameter dalam
fungsi tersebut dijelaskan sebagai berikut: ο· training_label_vector, merupakan vektor label kelas dari data latih. ο· training_instance_matrix, merupakan matriks fitur dari data latih. ο· '-t 2 -c 128 -g 0.00012207', merupakan parameter untuk LIBSVM. Nilai yang mengikuti string -t menyatakan jenis fungsi kernel yang digunakan, 2 berarti kernel RBF. Nilai yang mengikuti string -c menyatakan nilai parameter c (cost) yang digunakan, yaitu 128. Nilai yang mengikuti string -g menyatakan nilai parameter Ξ³ (gamma) yang digunakan, yaitu 0.00012207. Untuk pembobotan tf-idf, fungsi yang dipanggil yaitu svmtrain ( training_label_vector, training_instance_ matrix, '-t 2 -c 128 -g 0.000244141').
Pengujian Pada tahapan sebelumnya, telah dihasilkan 2 buah model SVM yang siap digunakan untuk melakukan proses pengujian. Kedua model ini akan diujikan terhadap dokumen latih yang dimiliki. Matriks data uji yang digunakan berukuran 1252 Γ 1716 (jumlah baris menyatakan banyak dokumen dan jumlah kolom menyatakan jumlah kata hasil pemilihan fitur). Dengan menggunakan confusion matrix, akan dihitung tingkat akurasi dari masing-masing model SVM, dengan
14 cara jumlah dokumen yang diklasifikasikan dengan benar dibagi jumlah keseluruhan dokumen uji. Pada data uji yang menggunakan metode pembobotan tf, jumlah dokumen kelas earn yang diklasifikasikan dengan benar adalah 941 dan yang salah berjumlah 85. Jumlah dokumen kelas Β¬earn yang diklasifikasikan dengan benar adalah 226 dan yang salah berjumlah 0 (Tabel 9). Di samping itu, pada data uji yang menggunakan metode pembobotan tf-idf, jumlah dokumen kelas earn yang diklasifikasikan dengan benar adalah 940 dan yang salah berjumlah 87. Jumlah dokumen kelas Β¬earn yang diklasifikasikan dengan benar adalah 224 dan yang salah berjumlah 1 (Tabel 10). Hasil akurasi dari model SVM dengan metode pembobotan tf dan tf-idf yang dihitung dengan menggunakan rumus pada persamaan 2 berturut-turut sebesar 93.2109% dan 92.9712%. Proses pengujian oleh Matlab dilakukan dengan memanggil fungsi svmpredict (testing_label_vector,
testing_instance_matrix,
modelsvm)
(Lampiran 3). Parameter dalam fungsi tersebut dijelaskan sebagai berikut: ο· testing_label_vector, merupakan vektor label kelas dari data uji. ο· testing_instance_matrix, merupakan matriks fitur dari data uji. ο· modelsvm, merupakan model yang dihasilkan dari proses pemodelan SVM. Tabel 9 Confusion matrix klasifikasi SVM dengan pembobotan tf Observasi Prediksi earn Β¬ earn earn 941 85 Β¬ earn 0 226 Tabel 10 Confusion matrix klasifikasi SVM dengan pembobotan tf-idf Observasi Prediksi earn Β¬ earn earn 940 87 Β¬ earn 1 224 Dilihat dari hasil akurasi klasifikasi dokumen kedua model SVM, terdapat perbedaan tingkat akurasi yang dihasilkan. Model dengan pembobotan tf terbukti lebih baik daripada pembobotan tf-idf yaitu menghasilkan akurasi sebesar 93.2109%. Pembobotan tf-idf melibatkan penghitungan nilai idf yang merupakan ukuran kepentingan suatu kata, sedangkan setiap kata yang terpilih dari proses pemilihan fitur semuanya adalah kata-kata yang penting. Kata-kata yang tidak penting telah terseleksi dan tidak diikutkan pada proses pembobotan. Ditambah lagi dengan telah dibuangnya stopword, yaitu kata-kata tidak penting, yang memiliki frekuensi kemunculan tinggi di hampir keseluruhan dokumen. Hal ini senada dengan apa yang dilakukan pada pembobotan tf-idf, yang memberikan nilai idf semakin kecil untuk kata yang semakin sering muncul di banyak dokumen. Dalam hal ini, pembobotan tf sudah cukup dalam memboboti kata yang terseleksi dari proses pemilihan fitur chi-square, sedangkan penggunaan pembobotan tf-idf dinilai lebih rumit dan terjadi ketimpangan proses yang dilakukan beberapa kali.
15 Hal lain yang mempengaruhi kinerja klasifikasi SVM yaitu pemilihan fitur ciri dari kedua kelas dan pemilihan parameter terbaik dalam pembangunan model SVM. Proses pemilihan fitur terbukti dapat meminimalkan jumlah kata penciri yang akan digunakan pada proses selanjutnya. Proses pemilihan parameter yang menghasilkan akurasi paling tinggi dapat memberikan akurasi yang tinggi juga pada proses pengujian. Ketepatan dalam menggunakan metode-metode tersebut di atas dapat membuat metode SVM semakin baik dalam mengklasifikasikan dokumen ke dalam 2 kelas.
SIMPULAN DAN SARAN Simpulan Setelah melakukan penelitian ini, diperoleh simpulan bahwa metode SVM mampu melakukan klasifikasi dokumen berita berbahasa Inggris dengan jumlah data yang besar (3110 Γ 1716 data latih dan 1252 Γ 1716 data uji). Kernel RBF dapat diterapkan pada SVM untuk melakukan klasifikasi. Metode ini menghasilkan akurasi yang baik yaitu sebesar 93.21% dengan menggunakan chisquare sebagai metode pemilihan fitur serta tf sebagai metode pembobotan. Hasil tersebut menjadi pembanding penggunaan metode pemilihan fitur chi-square dan pembobotan tf-idf yang menghasilkan akurasi sebesar 92.97%. Dengan demikian, pembobotan tf lebih baik daripada pembobotan tf-idf dalam melakukan klasifikasi dokumen.
Saran Pengembangan lebih lanjut dari penelitian ini adalah klasifikasi dokumen multikelas dengan menggunakan dokumen yang sama dengan yang digunakan pada penelitian ini. Dapat pula dicobakan metode pembobotan lain yang memperbaiki pembobotan tf, misalnya dengan menggunakan pembobotan system for the mechanical analysis and retrieval of text (SMART) atau yang lebih sering disebut SMART notation. Dengan demikian, dapat diketahui metode pembobotan mana yang lebih baik dalam melakukan klasifikasi dokumen.
DAFTAR PUSTAKA Borovikov EA. 2005. An Evaluation of Support Vector Machines as a Pattern Recognition Tool. Maryland (US): University of Maryland Pr. Chang CC, Lin CJ. 2001. LIBSVM: a library for support vector machines. ACM Transactions on Intelligent Systems and Technology [Internet]. [diunduh 2014 Apr 1]; 2(3):1-10.doi: 10.1145/1961189.1961199. Tersedia pada: http//www.csie.ntu.edu.tw/~cjlin/libsvm.
16 Gijsberts A. 2007. Evolutionary optimization of kernel [tesis]. Delft (NL): Delft University of Technology. Hsu CW, Chang CC, Lin CJ. 2003. A Practical Guide to Support Vector Classification. Department of Computer Science and Information Engineering (TW): National Taiwan University. Joachims T. 1998. Text categorization with support vector machines: learning with many relevant features. Machine Learning: ECML-98. 1398:137142.doi: 10.1007/BFb0026683. Manning CD, Raghavan P, SchΓΌtze H. 2008. An Introduction to Information Retrieval. Cambridge (GB): Cambridge Univ Pr. Putri AD. 2013. Klasifikasi dokumen teks menggunakan metode support vector machine dengan pemilihan fitur chi-square [skripsi]. Bogor (ID): Institut Pertanian Bogor. Santosa B. 2000. Data Mining Teknik Pemanfaatan Data untuk Keperluan Bisnis. Yogyakarta (ID): Graha Ilmu. Tan P, Steinbach M, Kumar V. 2006. Introduction to Data Mining. Minneapolis (US): Addison Wesley. Walpole RE. 1982. Introduction to Statistics 3rd ed. New York (US): Mc Millan.
17 Lampiran 1 Contoh dokumen Reuter-21578
26-FEB-1987 15:17:11.20 earn usa <EXCHANGES> F f0762reute r f BC-CHAMPION-PRODUCTS- <TITLE>CHAMPION PRODUCTS APPROVES STOCK SPLIT ROCHESTER, N.Y., Feb 26 - Champion Products Inc said its board of directors approved a two-for-one stock split of its common shares for shareholders of record as of April 1, 1987. The company also said its board voted to recommend to shareholders at the annual meeting April 23 an increase in the authorized capital stock from five mln to 25 mln shares. Reuter
18 Lampiran 2 Daftar stopword a about above after again ago all also am among an and another any april are be because been before began begin between but by can could december did dlrs do does eight end even feb
february first five for four friday from going got had has have her here him his how however i into its january july june last later made make many mar march may me more much nine
no not november now now october of on one only other over probably reuter reuters said say says see september seven she should since six some soon started still talks than that the their them then
there these they this those three to told too two until very want was wednesday well were what when where whether which while who will with within would year years yet you your
19 Lampiran 3 Instruksi Matlab pada pemodelan dan pengujian 1. Pembobotan tf datatrain = csvread('training_tf.csv'); labels = datatrain(:,1); features = datatrain(:,2:end); features_sparse = sparse(features); libsvmwrite('datatrainlibsvm_tf.train', labels, features_sparse); [label_vector,instance_matrix]=libsvmread('datatrainlibsvm_tf. train'); test_grid_rbf(label_vector, instance_matrix); %grid search [training_label_vector, training_instance_matrix]=libsvmread('data trainlibsvm_tf.train'); datatest = csvread('testing_tf.csv'); labels = datatest(:,1); features = datatest(:,2:end); features_sparse = sparse(features); libsvmwrite('datatestlibsvm_tf.test', labels, features_sparse); [testing_label_vector, testing_instance_matrix]=libsvmread('data testlibsvm_tf.test'); model_tf = svmtrain(training_label_vector,training_instance_matrix, '-t 2 -c 128 -g 0.00012207'); [predict_label_tf, accuracy_tf, dec_values_tf] = svmpredict (testing_label_vector, testing_instance_matrix, model_tf); Accuracy = 93.2109% (1167/1252) (classification)
2. Pembobotan tf-idf datatrain = csvread('training_tfidf.csv'); labels = datatrain(:,1); features = datatrain(:,2:end); features_sparse = sparse(features); libsvmwrite('datatrainlibsvm_tfidf.train',labels,features_sparse); [label_vector,instance_matrix]=libsvmread('datatrainlibsvm_tfidf. train'); test_grid_rbf(label_vector, instance_matrix); %grid search [training_label_vector, training_instance_matrix]=libsvmread('data trainlibsvm_tfidf.train'); datatest = csvread('testing_tfidf.csv'); labels = datatest(:,1); features = datatest(:,2:end); features_sparse = sparse(features); libsvmwrite('datatestlibsvm_tfidf.test', labels, features_sparse); [testing_label_vector, testing_instance_matrix]=libsvmread('data testlibsvm_tfidf.test'); model_tfidf = svmtrain(training_label_vector, training_instance_ matrix, '-t 2 -c 128 -g 0.000244141'); [predict_label_tfidf, accuracy_tfidf, dec_values_tfidf] = svmpredict(testing_label_vector, testing_instance_matrix, model_tfidf); Accuracy = 92.9712% (1164/1252) (classification)
20
RIWAYAT HIDUP Penulis dilahirkan di Ponorogo pada tanggal 19 Juli 1991. Penulis merupakan anak kedua dari pasangan Markus Katirin dan Sutini. Pada tahun 2010, penulis menamatkan pendidikan di SMA Negeri 1 Ponorogo. Penulis berkesempatan melanjutkan studi di Institut Pertanian Bogor melalui jalur Undangan Seleksi Masuk IPB (USMI) di Program Sarjana Ilmu Komputer Depertemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Penulis aktif di organisasi kemahasiswaan seperti Persekutuan Mahasiswa Kristen dan menjadi koordinator divisi serta anggota berbagai kegiatan seperti KATA (2012), MSP (2013), Retreat (2012, 2014). Penulis juga menjadi asisten praktikum pada Mata Kuliah Rangkaian Digital dan Penerapan Komputer (20122013) dan asisten pengajar responsi Mata Kuliah Pendidikan Agama Kristen Protestan (2011, 2013). Selain itu, penulis melaksanakan kegiatan Praktik Kerja Lapangan di PT PLN (Persero) Udiklat Bogor pada tahun 2013.