dan Analisis Granular Support Vector Machine dengan Repetitive
undersampling (GSVM-RU) untuk E-mail Spam Filtering Implementation
and analysis of Granular Support Vector Machine with Repetitive
Undersampling (GSVM-RU) for E-mail Spam FilteringTugas Akhir
(3.1) (2.10) (2.6) (2.5) (2.2)Implementasi (2.9) (2.8) (2.7)
(2.4)(2.1) (2.3)
Diajukan untuk memenuhi sebagian dari syarat untuk memperoleh
gelar Sarjana Teknik Fakultas Informatika Institut Teknologi
Telkom
Rahma Lestarini Purnama 113070312
Fakultas Informatika Institut Teknologi Telkom Bandung 2012
2
Lembar Pernyataan
Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul
Implementasi dan Analisis Granular Support Vector Machine dengan
Repetitive Undersampling (GSVM-RU) untuk E-mail Spam Filtering
beserta seluruh isinya adalah benar-benar karya saya sendiri dan
saya tidak melakukan penjiplakan atau pengutipan dengan cara-cara
yang tidak sesuai dengan etika keilmuan yang berlaku dalam
masyarakat keilmuan. Atas pernyataan ini, saya siap menanggung
resiko/sanksi yang dijatuhkan kepada saya apabila kemudian
ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya
saya ini, atau ada klaim dari pihak lain terhadap keaslian karya
saya ini. Bandung, Januari 2012 Yang membuat pernyataan,
(Rahma Lestarini Purnama)
2
Lembar Pengesahan Implementasi dan Analisis Granular Support
Vector Machine dengan Repetitive Undersampling (GSVM-RU) untuk
E-mail Spam Filtering Implementation and Analysis of Granular
Support Vector Machine with Repetitive Undersampling (GSVM-RU) for
E-mail Spam Filtering
Rahma Lestarini Purnama 113070312
Tugas Akhir ini telah diterima dan disahkan untuk memenuhi
sebagian dari syarat untuk memperoleh gelar Sarjana Teknik
Departemen Teknik Informatika Sekolah Tinggi Teknologi Telkom
Bandung, Januari 2012
Menyetujui
Pembimbing I
Tribroto Harsono, Ir., MT.
4
NIP: 99740178-1
Pembimbing II
Hetti Hidayati, S.Kom, MT. NIP: 06750343-1
4
1. AbstrakE-mail spam adalah pengiriman pesan yang tidak
diinginkan melalui e-mail dan dikirimkan dalam jumlah besar kepada
siapapun. Para pengguna layanan e-mail terpaksa menerima e-mail
spam tersebut, sehingga banyak pengguna layanan email yang membuang
waktunya dengan percuma untuk memilah e-mail yang masuk ke inbox
mereka. Oleh karena itu, e-mail spam filtering banyak dikembangkan
saat ini. Dalam tugas akhir ini, dibangun sebuah sistem e-mail spam
filtering dengan menggunakan Granular computing, support vector
machine, dan undersampling untuk memecahkan masalah klasifikasi
imbalance. Performansi sistem diukur dengan menggunakan g-mean. Ada
dua metode agregasi yang digunakan dalam penelitian ini, yaitu
combine dan discard. Namun, metode combine memberikan hasil yang
lebih memuaskan dibandingkan metode discard, dengan akurasi sebesar
83,59%. Hal ini disebabkan oleh banyaknya data informatif yang
terekstrak, sehingga meminimalkan efek information loss. Kata
kunci: Granular computing, e-mail spam filtering, undersampling,
klasifikasi, support vector machine, granular support vector
machine.
5
2. AbstractE-mail spam means sending unsolicited messages via
e-mail and sent in bulk to anyone. The e-mail service users are
forced to receive the e-mail, so many users waste their time to
sorting their e-mails that comes into their inboxes. Therefore,
many e-mail spam filtering has been developed at this time. In this
work, we built an e-mail spam filtering system using granilar
computing, support vector machines, and undersampling to solve the
imbalanced classification problem. The system performance is
measured by using the g-mean. There are two methods of agregation
used in this study, combine and discard. However, combine gives
more satisfactory result than discard method, with 83,59% accuracy.
It is because there are many informative data that are extracted,
so it minimize the effect of information loss. Keywords: Granular
computing, e-mail spam filtering, undersampling, klasifikasi,
support vector machine, granular support vector machine.
6
3. Lembar PersembahanBanyak pihak yang telah membantu penulis
dalam mengerjakan tugas akhir ini, baik moril maupun materil. Oleh
karena itu, melalui lembar persembahan ini penulis ingin
mengucapkan rasa terima kasih yang sedalam-dalamnya kepada: 1.
Allah SWT, yang telah memberikan waktu yang tak ternilai,
kesehatan, kemudahan, dan kelancaran sehingga penulis dapat
menyelesaikan Tugas Akhir ini dengan baik. 2. Bapak ir. Djoko
Purnomo, MM. dan juga ibu Esti Preasetianingsih atas dukungan, doa,
kasih sayang, dan juga wejangan yang terus diberikan tanpa henti.
3. Adik-adik (Desy Paramitha A, Vina Tristiana, dan juga Diah
Kusuma D) yang memberikan hiburan berupa drama-drama korea. gomawo
nae dongsaeng :D. 4. Bapak Tribroto Harsono, ir., MT. sebagai
pembimbing I, terima kasih penulis ucapkan atas seluruh waktu dan
ilmu pengetahuannya sehingga Tugas Akhir ini dapat terselesaikan.
5. Ibu Hetti Hidayati, S.Kom., MT. sebagai pembimbing II, yang
telah membantu, mengarahkan, dan meluangkan waktunya demi memberi
saran-saran kepada penulis dalam penyelesaian Tugas Akhir ini. 6.
Ibu Sri Widowati, Ir., MT. sebagai dosen wali penulis yang telah
membimbing penulis semasa kuliah. 7. Mohammad Mahsus, ST., yang
telah membantu dan membimbing penulis dalam menyelesaikan tugas
akhir. terima kasih atas dukungan, doa, dan juga waktunya untuk
menemani penulis. 8. Special thanks to Ririn Zulandra dan Angga
(Tejo) Pratama, yang menemani penulis sejak awal pembuatan tugas
akhir ini. Mulai dari mencari judul, pembuatan proposal, menemui
dosen, bimbingan TA, pengerjaannya dan juga pembuatan bukunya. 9.
Grup GeJe, Anik Nartisih, Dyah Ayu M., Farida Riyani, Ririn
Zulandra, dan Rossy Syahputri. Terima kasih atas kenangan dan
waktunya selama penulis menjalani masa perkuliahan. ayo jalan-jalan
lagiii. 10. Teman-teman IF-31-06, yang telah menemani penulis sejak
awal perkuliahan. 11. Teman-teman kos Palm House, Vidia, Anggie,
Gaidha, dan especially Rini yang telah banyak memberikan saran dan
semangat bagi penulis. 12. Pihak-pihak lain yang tidak dapat
disebutkan namanya satu persatu, yang telah membantu Penulis
menyelesaikan Tugas Akhir ini, terima kasih banyak.
7
4. Kata PengantarAssalamualaykum warrahmatullah wabarakatuh.
Alhamdulillah, atas izin, rahmat, hidayah serta anugerah dari Allah
SWT, penulis dapat menyelesaikan tugas akhir yang berjudul
Implementasi dan Analisis Granular Support Vector Machine dengan
Repetitive Undersampling untuk E-mail Spam Filtering. Tugas akhir
ini dibuat sebagai salah satu syarat kelulusan program sarjana
Fakultas Teknik Informatika Institut Teknologi Telkom. Penulis
berharap agar tugas akhir ini dapat memberi manfaat, baik kepada
Institusi maupun kepada pembaca. Penulis juga berharap agar tugas
akhir ini dapat dikembangkan lagi agar dapat memberikan pengetahuan
yang lebih banyak lagi bagi para pembaca dikemudian hari. Penulis
menyadari adanya banyak kekurangan dalam tugas akhir ini. Oleh
karena itu, penulis memohon maaf kepada semua pihak atas kesalahan
yang penulis buat, baik yang disengaja maupun yang tidak disengaja.
Penulis juga sangat mengharapkan kritik dan saran yang membangun
terhadap tugas akhir ini.
Bandung, Januari 2012
Penulis
8
5. Daftar isi
9
6. Daftar Gambar 7.
10
8. Daftar Tabel
11
Kelas / label
Merupakan representasi output dari data contoh yang digunakan
dalam proses supervised learning. Supervised learning Pendekatan
proses learning menggunakan data latih yang terbentuk dari objek
dan atributnya, serta kelas yang merepresentasikan objek tersebut.
Hasil dari proses ini adalah sebuah fungsi untuk melakukan prediksi
pada data lainnya. Hyperplane Representasi geometrik untuk garis
yang memisahkan data input dalam Support Vector Machines. Netbeans
Sebuah aplikasi IDE yang dapat digunakan untuk membangun aplikasi
berbasis Java. Linear SVM SVM yang biasa digunakan untuk
klasifikasi data yang linearly separable. Negative Local support
Support vector dari information granule negatif yang vector (NLSV)
merupakan hasil dari SVM yang berisi SV data negatif. Curse of
dimensionality Waktu komputasi proses mining menjadi terlalu lama
akibat terlalu banyaknya atribut data.
12
10.
Pendahuluan
1. Latar belakang masalahSpam adalah penyalahgunaan sistem pesan
elektronik (termasuk sebagian besar media penyiaran, sistem
pengiriman digital) untuk mengirim pesan massal yang tidak diminta
oleh penerimanya. E-mail spam adalah salah satu jenis spam berupa
pesan-pesan identik yang dikirim secara massal ke sejumlah penerima
dengan menggunakan e-mail. E-mail spam menyebabkan banyak pengguna
e-mail menjadi bingung, kesal dan terganggu. Oleh karena itu,
e-mail filtering banyak digunakan oleh para pengguna e-mail. E-mail
filtering adalah sebuah proses untuk melakukan pengelompokan e-mail
berdasarkan kriteria tertentu. Untuk memisahkan antara e-mail yang
merupakan spam dan yang bukan yang disebut dengan e-mail spam
filtering. Salah satu teknik yang digunakan dalam e-mail spam
filtering adalah klasifikasi. Klasifikasi adalah teknik memetakan
(mengklasifikasikan) data ke dalam satu atau beberapa kelas yang
sudah didefinisikan sebelumnya. Ada banyak teknik klasifikasi yang
dapat digunakan untuk pembangunan email spam filtering, diantaranya
adalah Nave Bayes, Support Vector Machines, k-Nearest Neighbor dan
Artificial Neural Network. Support Vector Machines adalah salah
satu metode supervised learning yang digunakan untuk klasifikasi
data. Untuk menambah efektifitas dan efisiensi pada SVM, maka
banyak dilakukan modifikasi. Support Vector Machine (SVM) adalah
suatu metode supervised learning yang digunakan untuk melakukan
klasifikasi data. Support vector machine (SVM) memiliki hasil yang
bagus dalam klasifikasi data. Performansi SVM turun jika dalam
suatu dataset jumlah class yang satu dengan class yang lain sangat
berbeda jauh atau disebut imbalance class [12]. Imbalance class
adalah kondisi dataset dimana sampel negatif jauh lebih besar
dibandingkan dengan sampel positif [12,13]. Kondisi tersebut
menyebabkan class yang sedikit tersebut dianggap sebagai pencilan
(outlier) atau bahkan tidak dianggap [12,13]. Strategi sampling,
seperti oversampling dan undersampling dikenal sangat baik untuk
menghadapi masalah imbalance class [13]. Salah satu penerapan
modifikasi pada SVM adalah dengan menggunakan granular computing
dan teori statistik [12]. Gabungan dari kedua cara tersebut disebut
Granular Support Vector Machines (GSVM). Terdapat beberapa metode
yang ditambahkan pada GSVM sesuai dengan tujuan pembangunan SVM.
Salah satunya adalah metode Repetitive Undersampling yang berfungsi
untuk meminimalkan dampak negatif dari hilangnya informasi
sekaligus memaksimalkan dampak positif dari data cleaning dalam
proses undersampling [13]. GSVM-RU dapat meningkatkan performansi
klasifikasi dengan cara mengekstraksi informative sample yang
penting untuk klasifikasi dan menghilangkan sejumlah besar sampel
yang redundant dan bersifat noise [12]. Pada tugas akhir ini akan
dibangun sebuah sistem e-mail spam filtering menggunakan Granular
Support Vector Machine dengan Repetitive Undersampling yang
diharapkan akan memiliki akurasi yang tinggi.
2. Perumusan masalahBerdasarkan latar belakang tersebut, maka
dapat dirumuskan permasalahan sebagai berikut: 1. Bagaimana
melakukan penanganan terhadap e-mail spam dengan Granular Support
Vector Machine with Repetitive Undersampling? 2. Bagaimana pengaruh
penanganan e-mail spam dengan GSVM-RU terhadap proses klasifikasi
berdasarkan parameter sensitivity, specificity, dan G-Mean?
Terdapat beberapa batasan masalah dalam penelitian tugas akhir ini,
antara lain : 1. Data yang digunakan adalah data yang tidak
mengandung gambar. 2. sistem yang dibangun adalah aplikasi yang
berdiri sendiri (stand alone application) dan tidak
diimplementasikan dalam e-mail server.
3. TujuanTujuan dari penelitian tugas akhir ini adalah: 1.
Mengimplementasikan metode Granular Support Vector Machine with
Repetitive Undersampling untuk mengklasifikasikan email spam atau
bukan spam. 2. Melakukan analisa akurasi pada sistem yang telah
dibangun dengan parameter sensitivity, specitifity, dan G-Mean.
4. Metodologi penyelesaian masalahMetode yang digunakan untuk
menyelesaikan tugas akhir ini adalah: 1. Studi Literatur, yakni
mempelajari referensi dan literatur, baik berupa makalah, jurnal,
maupun buku yang relevan yang membahas tentang Granular Support
Vector Machine with Repetitive Undersampling. 2. Mempersiapkan
dataset yang akan digunakan untuk testing dan training dengan
melakukan parser dan preprocessing terhadap dataset tersebut. 3.
Pembuatan desain sistem e-mail spam filtering dengan Granular
Support Vector Machine with Repetitive Undersampling. 4.
Implementasi (Coding), yaitu mengimplementasikan perancangan
menjadi sistem email spam filtering dengan menerapkan Granular
Support Vector Machine with Repetitive Undersampling. 5. Training
dan testing sistem, melakukan pelatihan dan pengujian pada sistem
dengan menggunakan data training, data testing dan data e-mail. 6.
Analisa hasil, melakukan analisa hasil dari sistem dengan cara
membandingkan hasil klasifikasi data testing dengan data jawaban
sebenarnya. 7. Pembuatan laporan, mendokumentasikan semua tahap
metodologi penyelesaian masalah menjadi suatu laporan yang nantinya
dapat dikembangkan sesuai perkembangan jaman dan dapat dimanfaatkan
sebagaimana mestinya.
11.
Dasar Teori
1. E-mail Spam FilteringSpam adalah penyalahgunaan sistem pesan
elektronik untuk mengirim iklan, berita atau keperluan lainnya
secara massal. Biasanya, spam dikirimkan secara bertubi-tubi, tanpa
diminta, dan sering kali tidak dikehendaki oleh penerimanya. Bentuk
spam yang secara umum beredar di masyarakat meliputi spam surat
elektronik (e-mail spam), spam pesan instan (instant messaging
spam), spam blog, spam jejaring sosial, dan lain-lain [9]. E-mail
spam adalah pengiriman pesan melalui e-mail yang tidak diinginkan,
sering kali bersifat komersial, dan dikirimkan dalam jumlah yang
besar kepada siapapun [9]. Karena sifatnya yang tidak diinginkan,
banyak penerima email spam yang mau tidak mau harus memilah dan
menyingkirkan e-mail spam tersebut dari inbox mereka. Para penyedia
layanan e-mail sering sekali mendapatkan komplain mengenai e-mail
spam. Oleh karena itu, saat ini hampir semua penyedia layanan
e-mail menggunakan e-mail spam filtering untuk memisahkan e-mail
pelanggan mereka dan memindahkan e-mail spam ke dalam sebuah folder
tersendiri. E-mail spam filtering adalah proses mengatur e-mail
sesuai dengan kriteria yang ditetapkan. Sebuah e-mail spam
filtering yang sempurna mengatur e-mail yang masuk berdasarkan isi
pesan, karakteristik pengirim dan target, pengetahuan mengenai
kemiripan e-mail yang masuk dengan e-mail yang dikategorikan spam,
dan lain-lain. Namun e-mail spam filtering yang sempurna tidak ada.
Oleh karena itu, diperlukan pembatasan filter untuk menggunakan
sumber informasi yang didefinisikan dengan baik, seperti isi pesan
itu sendiri, informasi statistik yang diperoleh dari umpan balik ke
repositori filter atau dari pihak ketiga [3]. Banyak teknik yang
dpat digunakan untuk e-mail spam filtering, salah satunya adalah
klasifikasi.
2. KlasifikasiKlasifikasi adalah teknik dalam data mining untuk
menargetkan atau memprediksi kategori atau kelas dari setiap
instance data. Tujuan dari klasifikasi adalah memprediksi kelas
secara akurat untuk setiap kasus dalam data [9]. dalam
penerapannya, data untuk klasifikasi terbagi menjadi dua, yaitu
data training dan data testing. Data training digunakan untuk
membuat model dari klasifikasi, dimana kelas dari data tersebut
telah diketahui sebelumnya. Data testing adalah data data yang
digunakan untuk mengetes model klasifikasi yang telah dibuat,
dimana kelas dari data tersebut tidak diketahui. Ada bermacam-macam
teknik klasifikasi, beberapa diantaranya adalah nave bayes, KNN,
SVM, dan lain-lain. Dari beberapa teknik tersebut, yang saat ini
yang paling sering digunakan untuk klasifikasi data adalah SVM,
karena SVM memiliki performansi yang bagus dalam klasifikasi
data.
3. Stop WordStop word adalah proses penyaringan kata yang
terlalu sering muncul dan tidak mempunyai informasi yang mendukung
proses klasifikasi [8]. Daftar kata-
kata yang termasuk kedalam stop word ditentukan sendiri secara
manual. Tidak ada daftar kata-kata stop word yang pasti. Tujuan
dari penggunaan stop word adalah untuk menghilangkan kata-kata yang
tidak penting dalam sebuah dokumen.
4. StemmingStemming adalah proses penghapusan semua imbuhan dari
sebuah kata untuk mendapatkan kata dasarnya. Tujuan dari stemming
adalah untuk mengelompokkan kata yang memiliki kata dasar yang
sama. Stemming dapat mengurangi jumlah atribut [8]. Saat ini, sudah
banyak algoritma stemming yang diciptakan. Sebagian besar dari
algoritma tersebut fokus pada penghilangan akhiran kata. Algoritma
stemming untuk bahasa Inggris yang terkenal dan terbukti efektif
adalah algoritma porter [2].
5. Support Vector MachineSupport Vector Machines (SVM) adalah
sebuah metode Supervised Learning untuk klasifikasi data dalam data
mining. SVM bekerja dengan membangun hyperplane dengan jarak yang
paling maksimal dengan menggunakan support vector (SV) dalam
mengklasifikasikan data. Support vectors adalah seluruh vektor data
yang berjarak paling dekat dengan hyperplane. SVM sangat akurat
dalam menangani data yang persebarannya merata. Hal ini disebabkan
karena hanya support vector (SV) yang digunakan dalam klasifikasi,
dan sampel lainnya bisa dihilangkan atau dihiraukan tanpa
mempengaruhi proses klasifikasi [13]. SVM bekerja sangat baik untuk
permasalahan klasifikasi biner, yaitu klasifikasi yang hanya
memiliki dua kelas [12]. SVM bisa sangat sensitif terhadap data
yang persebarannya tidak merata (imbalance). Akibatnya, hasil
performansi terhadap kelas positif jadi menurun. Ada beberapa
penelitian yang mencoba untuk memperbaiki performansi klasifikasi
SVM untuk data yang imbalance, namun waktu yang dibutuhkan untuk
proses klasifikasi menjadi lebih buruk daripada SVM yang standar.
Performansi SVM juga bisa menurun jika dihadapkan pada dataset yang
sangat besar. Oleh karena itu, salah satu cara untuk memperbaiki
kecepatan klasifikasi SVM adalah dengan cara mengurangi jumlah SV
yang digunakan [13]. Data pada SVM diberikan dalam bentuk : D
adalah input space dengan x adalah vektor atribut data dan y adalah
class dari data. Hyperplane dibangun untuk memisahkan kedua kelas,
-1 dan +1, secara sempurna. Persamaan hyperplane didefinisikan
sebagai : Apabila hal ini terpenuhi, maka input space dapat
dikatakan linearly separable.Gambar 2 Support Vector Machine
Fungsi sign(x) yang dihasilkan dari perhitungan SVM adalah:
1.5.1
Optimasi SVM
Optimasi SVM dilakukan untuk mencari hyperplane terbaik.
Hyperplane terbaik adalah hyperplane yang memiliki margin terbesar.
Margin terbesar dapat diperoleh dengan memaksimalkan jarak antara
hyperplane dengan titik terdekatnya.
Optimasi tersebut dinamakan primal form. Persamaan primal form
diatas sulit dilakukan, karena ada dua variable yang masih belum
ada nilainya yaitu w dan bias. Karena itu, dilakukan optimasi
selanjutnya yang disebut dual form untuk mengatasi permasalahan
tersebut dengan menggunakan pendekatan lagrange (lagrange
multiplier).
adalah lagrange multipliers yang bernilai nol atau positif [7].
Konstanta digunakan untuk memberikan tanda apakah suatu data
tersebut support vector atau bukan support vector . Semakin besar
nilai , maka semakin mirip dengan primal form SVM [1]. 1.5.2 Soft
Margin
Biasanya, dua buah kelas pada data input tidak dapat terpisah
sepenuhnya secara sempurna. Hal ini menyebabkan constraint pada
persamaan (2.4) tidak dapat dipenuhi dan optimasi tidak dapat
dilakukan. Oleh karena itu, ditambahkan parameter C dalam
pembangunan SVM menggunakan dual form untuk membatasi nilai Hal ini
dilakukan agar didapatkan bagi data yang linearly non-separable
[4]. hyperplane yang dapat menolelir ketika terdapat data yang
terletak pada daerah hyperplane yang salah. Parameter C, atau yang
disebut soft margin ditambahkan dalam konstrain pada dual form SVM,
sehingga persamaan (2.5) berubah menjadi persamaan (2.6)
6. Granular ComputingGranular computing merepresentasikan
informasi atau data kedalam bentuk yang lebih kecil (aggregates),
yang biasa disebut sebagai information granules, lalu menyelesaikan
masalah yang ada pada masing-masing information granules tersebut.
Untuk permasalahan yang rumit dan besar, granular computing
menerapkan dua prinsip, yaitu divide-and-conquer yang membagi
masalah yang besar menjadi masalah yang kecil-kecil dan manageable,
dan data cleaning yang menentukan ukuran yang cocok bagi satu
granule untuk memahami masalah yang dihadapi tanpa diusik oleh
sejumlah detail yang tidak perlu [12]. Salah satu modifikasi yang
digunakan pada SVM adalah dengan menerapkan paradigma granular
computing. Penerapan granular computing pada SVM biasa disebut
sebagai Granular Support Vetor Machines (GSVM). Tujuan
utama dari GSVM adalah memungkinkan data linearly non-separable
menjadi linearly separable dan meningkatkan akurasi SVM [7]. GSVM
dapat bekerja dengan dua cara, yaitu membagi data yang besar
menjadi sejumlah information granule (granule split) dan/atau
menyusutkan sejumlah besar data menjadi sebuah information granule
(granule shrink) [13]. Ada tiga tahap utama dalam GSVM, yaitu
ekstraksi information granules (granulation), penggunaan
classifiers untuk penyelesaian masalah dengan menggunakan
klasifikasi pada setiap information granules, dan penggabungan
kembali information granules yang telah terselesaikan masalahnya
[12].Gambar 2 Granular Support Vector Machine
7.
Granular Support Vector Undersampling (GSVM-RU)1.7.1 Imbalanced
class
Machine
with
Repetitive
imbalanced class terjadi ketika distribusi pada dataset sangat
tidak merata. Hal ini terjadi apabila ada kelas yang memiliki
jumlah sampel yang jauh lebih banyak dibandingkan kelas lainnya
dalam masalah klasifikasi biner [13]. Biasanya, kelas/sampel
negatif yang jumlahnya lebih banyak daripada kelas/sampel positif.
Sudah banyak metode yang telah diusulkan untuk imbalanced
classification dan memiliki hasil yang bagus. Metode-metode
tersebut dapat dikategorikan ke dalam tiga kelas yang berbeda,
yaitu cost sensitive learning, sampling, dan boundary alignment.
Sampling sendiri dapat dikategorikan kedalam dua macam, yaitu
undersampling kelas mayoritas dan oversampling kelas minoritas.
7.1.GSVM-RU SVM sangat baik dalam mengatasi data yang jumlahnya
seimbang. Hal ini dikarenakan hanya SV yang digunakan dalam proses
klasifikasi dan data lainnya dapat dihilangkan. Dalam permasalahan
imbalanced class, sebagian besar data yang tergolong kedalam kelas
negatif (mayoritas data) dapat dihilangkan tanpa mempengeruhi
proses klasifikasi. Ide utama dalam GSVM-RU adalah mengekstrak SV
sebagai dataset baru dan menghilangkan data non-SV dalam proses
undersampling [12]. Namun, information loss dapat terjadi apabila
mengekstrak SV dilakukan sekali saja. Oleh karena itu, GSVM-RU
mengekstrak SV beberapa kali untuk membuat beberapa information
granule dan menyatukannya kembali untuk membuat dataset baru.
GSVM-RU dapat mendistribusikan data lebih baik dengan jumlah
dataset baru yang lebih sedikit dibandingkan dengan dataset awal,
sehingga performansi klasifikasi dapat meningkat, baik dari sisi
keefektifan maupun efisiensi waktu [12]. Tujuan dari GSVM-RU adalah
untuk meminimalkan efek negatif dari information loss dan
memaksimalkan efek positif dari data cleaning [12]. Cara kerja dari
GSVM-RU ada tiga tahap. Tahap pertama adalah memisahkan data
positif dan negatif. Semua data positif diasumsikan sebagai data
yang informatif untuk proses klasifikasi dan membentuk sebuah
information granule positif. Tahap kedua adalah melakukan proses
undersampling untuk semua data negatif, dimana data tersebut akan
disaring oleh SVM untuk mendapatkan SV dan membentuk information
granule negatif yang disebut Negative Local Support Vector
(NLSV).
Data yang tidak termasuk sebagai SV akan disaring lagi oleh SVM
dan membentuk NLSV lainnya sebagai information granule. Proses
undersampling ini akan terus berulang beberapa kali untuk membuat
beberapa information granule negatif. Proses ini berhenti jika
performansi klasifikasi tidak bisa meningkat. Tahap ketiga adalah
proses agregrasi untuk menggabungkan information granule positif
dan information granule negatif. Ada dua metode agregasi yang dapat
dilakukan, yaitu Discard dan Combine. Discard bekerja dengan cara
hanya menggunakan NLSV dari information granule negatif yang
terakhir dibuat / information granule negatif terbaru, kemudian
menggabungkannya dengan information granule positif. NLSV lainnya
yang telah terbentuk sebelumnya tidak digunakan dalam proses
selanjutnya / dapat diabaikan. Proses pencarian NLSV terbaik /
pembuatan information granule negatif berhenti ketika information
granule negatif yang baru terbentuk tidak dapat meningkatkan
performansi klasifikasi. Combine bekerja dengan cara menggabungkan
semua NLSV yang terbentuk dari pembuatan information granule
negatif dengan information granule positif. Metode ini diharapkan
dapat mengurangi efek information loss dengan mengekstraksi NLSV
beberapa kali. Proses tersebut berhenti apabila penggabungan NLSV
baru dengan NLSv sebelumnya dan information granule positif tidak
dapat meningkatkan performansi klasifikasi. Hasil dari tahap ketiga
adalah sebuah dataset baru. setelah mendapatkan dataset baru,
sebuah SVM dibangun untuk memodelkan dataset tersebut dalam proses
klasifikasi [12].
8. Evaluasi Performansi1.8.1 Confusion Matrix Banyak metrik yang
digunakan untuk mengukur keefektivitasan dalam klasifikasi
imbalance. Semua perhitungan pengukuran tersebut didasarkan pada
confusion matrix [13]. Confusion matrik merupakan suatu alat yang
biasa digunakan untuk memvisualisasikan yang biasa digunakan dalam
supervised learning [12].Tabel 2 Confusion Matrix
Baris dari confusion matrik merepresentasikan sebagai hasil
prediksi, sedangkan kolomnya adalah jumlah pada class sebenarnya.
Confusion matrik biasanya terbentuk dari tabel 2x2 dimana baris
pertama adalah nilai true positives(TP) dan false positives(FP),
kemudian baris berikutnya berisi false negatives(FN) dan true
negatives(TN). True Positive adalah jumlah prediksi dimana sistem
menghasilkan nilai positif, dan kelas sebenarnya juga bernilai
positif. False Positive adalah jumlah prediksi dimana sistem
menghasilkan nilai positif, namun kelas sebenarnya bernilai
negatif. False Negative adalah jumlah prediksi dimana sistem
menghasilkan nilai negatif, namun kelas sebenarnya bernilai
positif. Sedangkan True Negative adalah jumlah prediksi dimana
sistem menghasilkan nilai negatif, dan kelas sebenarnya juga
bernilai negatif. Banyak pengukuran akurasi yang menggunakan
confusion matrix. Perhitungan Accuracy diatas adalah salah satu
contoh penggunaan confusion matrix yang paling sering digunakan.
Beberapa metode pengukuran akurasi dengan
menggunakan confusion matrix, yaitu Geometric Mean (G-Mean),
F-Measure, Area Under ROC Curve (AUC-ROC), dan lainnya. 1.8.2
Geometric Mean (G-Mean)
Untuk imbalanced dataset, perhitungan akurasi dengan menggunakan
perhitungan Accuracy diatas hampir tidak berguna untuk mengevaluasi
kinerja klasifikasi. Geometric Mean adalah rata-rata geometrik dari
akurasi klasifikasi pada sampel negatif dan sampel positif. Metrik
ini telah banyak digunakan oleh para peneliti untuk mengevaluasi
kinerja klasifikasi pada imbalanced dataset [12]. Gmean mencoba
untuk memaksimalkan akurasi pada kedua kelas sekaligus menjaganya
tetap seimbang [6]. Untuk mendapatkan kemampuan yang optimal untuk
klasifikasi yang seimbang, sensitivity dan specificity digunakani
untuk memantau kinerja kedua kelas secara terpisah. Sensitivity
biasanya disebut sebagai true positive rate atau akurasi kelas
positif, sedangkan specitivity biasanya disebut sebagai true
negative rate atau akurasi kelas negatif. G-Mean merupakan
rata-rata geometrik dari sensitivity dan specificity [13].
12.
Analisis dan Perancangan Sistem
1. Deskripsi SistemDalam tugas akhir ini akan dibangun sebuah
sistem yang ditujukan untuk menangani kelas imbalance pada e-mail
spam filtering. Sistem tersebut menggunakan modifikasi SVM untuk
proses klasifikasi e-mail. Modifikasi yang dimaksud adalah dengan
menambahkan paradigma granular computing dan juga proses
undersampling pada SVM. Paradigma granular computing yang
diterapkan dalam sistem ini adalah membagi data input menjadi
beberapa information granule melalui proses undersampling.
Undersampling adalah proses pemilihan data yang informatif bagi
sistem, dan hanya data yang informatif saja yang akan digunakan
oleh sistem. Undersampling adalah salah satu cara untuk mengatasi
masalah klasifikasi imbalance. Proses undersampling akan dijalankan
beberapa kali (repetitive), hal ini ditujukan untuk mencegah
hilangnya data informatif dan juga untuk menghilangkan noise pada
data. Proses undersampling tersebut dilakukan dengan menggunakan
linear SVM sebagai alat saring data. Beberapa hal yang penting
dalam pembangunan sistem adalah: Proses pembagian data input
menjadi information granule melalui proses undersampling. Proses
agregasi data positif dengan data negatif hasil undersampling untuk
dijadikan data training baru. Pemodelan sistem dengan menggunakan
linear SVM. Parameter yang digunakan dalam proses diatas adalah
nilai konstanta C pada linear SVM yang merupakan parameter untuk
toleransi kesalahan klasifikasi.
2. Perancangan SistemAlur proses yang terjadi dalam merancang
sistem secara umum adalah sebagai berikut: 1. Perancangan data,
yakni menyediakan file-file sebagai data training dan testing. 2.
Pembangunan parser data, meliputi pengubahan format data dari .eml
menjadi .txt, penghilangan tag HTML, dan penghilangan tanda-tanda
baca pada data. 3. Preprocessing data, meliputi penerapan stopword,
stemming, dan normalisasi data dengan menggunakan TF. 4. Proses
Undersampling data negatif dengan menggunakan linear SVM dengan
nilai 1 untuk parameter C, yang menghasilkan beberapa NLSV. 5.
Proses agregasi NLSV dengan data positif menggunakan metode discard
dan combine. 6. Pembangunan model training data dengan GSVMRU untuk
menemukan hyperplane terbaik dengan menggunakan linear SVM yang
dibangun dari toolbox libsvm. 7. Proses observasi, yakni mencari
nilai parameterparameter yang optimal dari sistem.
Proses testing, yakni membangun model testing data dengan
menggunakan hyperplane yang dibangun dari hasil training untuk
mengklasifikasikan dokumen yang belum diketahui tergolong spam atau
nonspam. 9. Proses testing dengan menggunakan e-mail yang diambil
dari account e-mail [email protected], yakni menggunakan
model dari hasil training untuk mengklasifikasi e-mail tersebut
sebagai spam atau non-spam. Testing ini dilakukan untuk mengetahui
apakah sistem yang dibangun dapat menangani kasus yang biasa
ditangani oleh penyedia layanan email. Secara umum, skema kerja
sistem yang dibangun adalah sebagai berikut:8.Obj100
Gambar 3 Skema Kerja Sistem
3.2.1. Data
Parser
Obj101
Gambar 3 Parser Data
Parser data yang dilakukan dalam system adalah penerapan proses
extract body e-mail, penghilangan tag HTML, dan juga penghapusan
tanda baca yang ada pada data. proses parser data dilakukan sesuai
dengan alur seperti gambar diatas. 3 .2 .1 . Extract Body E-mail
Tahap pertama dari parsing data adalah dengan mengambil body dari
dataset yang berupa e-mail. Selain itu, bentuk awal data yang
berbentuk .eml akan diubah menjadi .txt untuk memudahkan
proses-proses yang akan dilakukan selanjutnya.Gambar 3 Data asli
Gambar 3 Data hasil parser
Gambar diatas hanyalah salah satu contoh dari data yang ada.
Selain data yang seperti contoh, ada juga data yang hanya berupa
teks. Hasil parser dari data yang berupa teks tidak ada tag-tag
HTML nya, hanya murni berisi teks juga seperti data aslinya. 3 .2
.2 . Penghapusan Tag HTML Tahap kedua adalah penghapusan tag HTML
yang masih ada pada data hasil extract body e-mail. Penghapusan tag
tersebut dilakukan dengan menggunakan library jsoup.Gambar 3 Data
hasil penghapusan tag HTML
Gambar 3-5 adalah contoh data hasil penghapusan tag HTML dari
gambar 3-4. 3 .2 .3 . Penghapusan Tanda Baca Tahap terakhir dari
proses parsing data adalah penghapusan tanda baca yang ada pada
data. Dalam tahap ini, sistem akan mengganti semua tanda baca yang
ada pada data dengan spasi.Gambar 3 Data sebelum dihilangkan tanda
bacanya Gambar 3 Data setelah dihilangkan tanda bacanya
3.2.2. angan Preprocessing Data
Peranc
Obj102
Gambar 3 Preprocessing data
Proses yang dilakukan dalam text mining adalah mengindekskan
semua kata yang ditemukan dalam dokumen, kemudian menghitungnya.
Untuk lebih menyederhanakan proses tersebut, dilakukan stemming dan
mengecualikan katakata yang umum digunakan (stopword) [11].
Preprocessing yang dilakukan dalam sistem ini adalah penerapan
stopword, stemming, dan normalisasi menggunakan TF. Preprocessing
dilakukan sesuai dengan alur seperti gambar diatas. 3 .2 .1 .
Stopword Tahap pertama dari preprocessing adalah menerapkan
stopword pada dataset. Dalam tahap ini, kata-kata yang terlalu
sering muncul dan tidak mempunyai informasi penting dihilangkan.
Kata-kata yang ada pada body e-mail dataset akan dicocokkan dengan
daftar kata-kata yang tergolong sebagai stopword. Kemudian,
kata-kata pada body e-mail dataset yang tergolong sebagai stopword
akan dihilangkan dari body e-mail tersebut. Daftar kata-kata
stopword tidak ada yang pasti, karena sebagian besar ditentukan
sendiri.Gambar 3 Data hasil stopword
3 .2 .2 . Stemming Tahap kedua adalah penggunaan stemming pada
dataset. Kata-kata yang ada pada body e-mail akan diubah menjadi
kata dasar. Hal ini dilakukan untuk mengurangi kata-kata pada body
e-mail. Karena kata-kata tersebut nantinya akan dijadikan sebagai
atribut dalam proses selanjutnya. Algoritma stemming yang digunakan
dalam sistem ini adalah algoritma porter. Ada 6 langkah yang
diterapkan dalam algoritma ini, yaitu: a. menghilangkan plural
(bentuk jamak), akhiran ed dan ing. b. mengganti akhiran y menjadi
i bila didahului oleh huruf vokal. c. mengubah kata yang memiliki
akhiran ganda menjadi satu. Contohnya adalah mengubah playfulness
menjadi playful.
Menghilangkan akhiran, -full, dan ness.contohnya adalah dengan
mengubah playful menjadi play. e. Menghilangkan ant, -ence, dan
lain-lain. Salah satu contohnya adalah dengan mengubah controllable
menjadi controll. f. Menghilangkan akhiran e. contohnya adalah
mengubah parable menjadi parabl.d. Gambar 3 Data hasil stemming
3 .2 .3 . Normalisasi TF Tahap ketiga adalah menerapkan
normalisasi TF pada dataset. Normalisasi tersebut bertujuan untuk
memudahkan penentuan variabel C pada SVM dengan cara
menyederhanakan skala nilai dari data dalam batas [01]. Normalisasi
yang digunakan adalah normalisasi dengan menggunakan TF (Term
Frequency). Persamaan dari TF adalah : Dengan : - f(t,D) adalah
frekuensi kata t dalam dokumen D. - maxFreq(D) adalah frekuensi
terbesar dari semua kata yang ada di dokumen D. Normalisasi ini
dilakukan sebelum data masuk kedalam SVM. Selain digunakan untuk
normalisasi, TF sendiri juga digunakan untuk memberi bobot pada
kata-kata dalam dataset.Gambar 3 Data hasil normalisasi TF
3 .2 .4 . Indexing Tahap terakhir dari preprocessing yang
dilakukan adalah proses indexing, yaitu membuat index dari tiap
kata dari dataset. Pembuatan index dilakukan dengan mendaftar
kata-kata yang ada pada dataset, kemudian membuat index dari daftar
kata tersebut. Setelah itu mengubah kata-kata yang ada pada dataset
sesuai dengan index-nya. Berikut adalah contoh representasi dataset
sebelum dan sesudah indexing.Gambar 3 Data hasil indexing
Dari gambar diatas dapat dilihat bahwa kata stoolmail pada
dataset terdaftar sebagai kata ke-12609, send terdaftar sebagai
kata ke-27581, dan seterusnya. Katakata yang ada pada dataset
adalah atribut yang akan digunakan untuk proses klasifikasi. Hasil
dari indexing, terdapat 29.196 kata/atribut pada data training dan
testing. 3.2.3. angan Modul Training Peranc
Modul training data yang dibangun terdiri dari beberapa tahap,
yaitu: 1. Pembuatan information granule melalui proses
undersampling dengan menggunakan linear SVM. 2. Pembuatan dataset
baru melalui proses agregasi yang menggabungkan data hasil
undersampling dengan data spam.
Pembangunan hyperplane dan mencari nilai dari parameter terbaik
dengan menggunakan linear SVM.3.
3 .2 .1 . UndersamplingObj103
Gambar 3 Proses Undersampling
Undersampling adalah proses pemilihan data yang informatif bagi
sistem, dan hanya data yang informatif saja yang akan digunakan
oleh sistem. Secara garis besar, hal-hal yang dilakukan oleh sistem
pada saat undersampling adalah: 1. Data negatif (non-spam) masuk ke
linear SVM. 2. Hasil dari SVM (proses no.1) adalah Negative Local
Support Vector (NLSV). 3. Sistem mengeluarkan NLSV dari dataset,
untuk kemudian dimasukkan kembali kedalam linear SVM. Undersampling
akan dilakukan beberapa kali hingga NLSV yang baru dihasilkan tidak
dapat meningkatkan performansi klasifikasi. Nilai parameter C yang
digunakan dalam linear SVM untuk proses undersampling adalah 1.
Pada saat undersampling menggunakan nilai C = 1, jumlah SV yang
dihasilkan adalah yang paling banyak, sehingga hal ini dapat
meminimalkan efek information loss, dan granule yang dihasilkan
bisa lebih efektif bagi sistem yang dibangun. 3 .2 .2 .
AgregasiObj104
Gambar 3 Proses Agregasi
Pada tahap ini, NLSV hasil dari proses undersampling akan
digabungkan dengan data training positif (data spam) untuk
membentuk sebuah dataset baru yang akan digunakan dalam proses
klasifikasi menggunakan linear SVM. Ada dua metode yang dapat
digunakan dalam proses agregasi, yaitu combine atau discard. Metode
combine bekerja dengan cara menggabungkan semua NLSV hasil
undersampling dengan data positif untuk membentuk dataset baru.
Sedangkan metode discard bekerja dengan menggabungkan data positif
dengan NLSV hasil undersampling yang terakhir. Dalam metode
discard, hanya satu grup NLSV yang digunakan, NLSV dari proses
undersampling sebelum-sebelumnya akan dihiraukan. 3.2.4. angan
Modul Testing Peranc
Modul ini merupakan hasil implementasi dari model yang di bangun
pada modul training. Proses yang dilakukan oleh modul ini adalah
dengan menggunakan model yang telah dibangun, maka data yang di
prediksi akan diprediksi berdasarkan model tersebut apakah suatu
e-mail tersebut spam atau bukan spam.
2.3Analisis SistemSistem yang dibangun adalah sistem yang
ditujukan untuk pengujian. Gambaran umum mengenai sistem yang
dibangun dapat dilihat pada diagramdiagram dibawah ini. 3.3.11 m
Use CaseGambar 3 Use Case
Diagra
Skenario Use Case : Nomor :1 Nama use case : Training Aktor :
User Deskripsi : Menjalankan proses training untuk training dataset
yang meliputi, parser data, preprocessing dan training data.
Skenario : Aktor Respon Sistem User memilih menu browse dokumen.
Menampilkan jendela direktori aktif User memilih folder yang berisi
data training. User memilih menu run untuk menjalankan parser data.
Sistem melakukan pembacaan data kemudian mengambil isi body tiap
e-mail yang ada dalam folder tersebut dan mengkonversi formatnya
dari eml menjadi format txt. Sistem membuat sebuah folder yang
berisi data training baru berupa isi body e-mail dengan format txt.
Sistem membaca setiap data yang ada dalam folder data hasil
pengambilan isi body e-mail. Kemudian menghapus semua tag HTML yang
ada dan mengubahnya menjadi satu baris untuk tiap data. Sistem
membuat sebuah folder yang berisi data baru berupa dataset yang
tidak mengandung tag HTML. Sistem membaca setiap data yang ada
dalam folder hasil penghilangan tag HTML. Setelah itu, mengganti
semua tanda baca yang ada pada data tersebut dengan sebuah spasi.
Sistem membuat sebuah folder yang berisi data
baru berupa dataset training yang tidak mengandung tanda baca.
User memilih menu browse dokumen. Menampilkan jendela direktori
aktif User memilih folder yang berisi data akhir hasil parser data.
User memilih menu run untuk menjalankan preprocessing data. Sistem
melakukan pembacaan data dan melakukan penyaringan stopword yang
ada pada data. proses ini akan dilakukan pada semua data yang ada
dalam folder. Sistem membuat sebuah folder yang berisi data baru
berupa data yang sudah melalui proses penyaringan stopword. Sistem
melakukan pembacaan data dari folder, kemudian melakukan stemming.
Sistem membuat sebuah dokumen berformat txt dan menggabungkan
setiap baris data hasil stemming menjadi satu dokumen. Sistem
melakukan pembacaan data dari dokumen hasil stemming, kemudian
melakukan normalisasi dan pembobotan atribut setiap data yang ada
pada dokumen txt dengan menggunakan normalisasi TF. Sistem membuat
sebuah dokumen berformat txt yang berisi data hasil normalisasi TF.
Sistem melakukan pembacaan data dari dokumen hasil normalisasi TF,
selain itu juga membaca dokumen yang berisi kelas untuk dataset.
Kemudian menambahkan kelas pada data. Sistem membuat sebuah dokumen
berformat txt yang berisi data hasil input kelas. Sistem melakukan
pembacaan data dari dokumen hasil input kelas, kemudian membuat
index untuk atribut (kata) yang ada di dalamnya. Sistem membuat
sebuah dokumen data training.txt berisi atribut yang berupa index
dan juga sebuah dokumen txt yang berisi daftar dari index tersebut.
User memilih menu browse dokumen. Menampilkan jendela direktori
aktif. User memilih dokumen data training.txt.
User memasukkan nilai parameter C. User memilih menu run untuk
menjalankan train SVM. Sistem melakukan pembacaan data training.
Sistem memecah data training menjadi dua, data training yang berisi
data positif (non-spam) dan negatif (spam). Sistem melakukan
undersampling terhadap data positif dengan menggunakan linear SVM.
Sistem mengeluarkan SV hasil undersampling dari dataset, kemudian
menggunakan dataset tersebut untuk proses undersampling
selanjutnya. Sistem melakukan agregasi data hasil undersampling
dengan data negatif dan membentuk sebuah dataset baru. Sistem akan
mengklasifikasi dataset baru tersebut dengan menggunakan linear SVM
dengan menggunakan nilai parameter C yang telah diinputkan oleh
user. Sistem membuat dokumen berisi model hasil training
menggunakan linear SVM berupa model testing.txt. Skenario Use Case
: Nomor :2 Nama use case : Testing Aktor : User Deskripsi :
Menjalankan proses testing pada data testing yang meliputi, parser
data, preprocessing data dan prediksi data testing. Skenario :
Aktor Respon Sistem User memilih menu browse dokumen. Menampilkan
jendela direktori aktif User memilih folder yang berisi data
testing. User memilih menu run untuk menjalankan parser data.
Sistem melakukan pembacaan data kemudian mengambil isi body tiap
e-mail yang ada dalam folder tersebut dan mengkonversi formatnya
dari eml menjadi format txt. Sistem membuat sebuah folder yang
berisi data testing baru berupa isi body e-mail dengan format
txt.
Sistem membaca setiap data yang ada dalam folder data hasil
pengambilan isi body e-mail. Kemudian menghapus semua tag HTML yang
ada dan mengubahnya menjadi satu baris untuk tiap data. Sistem
membuat sebuah folder yang berisi data baru berupa dataset yang
tidak mengandung tag HTML. Sistem membaca setiap data yang ada
dalam folder hasil penghilangan tag HTML. Setelah itu, mengganti
semua tanda baca yang ada pada data tersebut dengan sebuah spasi.
Sistem membuat sebuah folder yang berisi data baru berupa dataset
testing yang tidak mengandung tanda baca. User memilih menu browse
dokumen. Menampilkan jendela direktori aktif User memilih folder
yang berisi data akhir hasil parser data. User memilih menu run
untuk menjalankan preprocessing data. Sistem melakukan pembacaan
data dan melakukan penyaringan stopword yang ada pada data. proses
ini akan dilakukan pada semua data yang ada dalam folder. Sistem
membuat sebuah folder yang berisi data baru berupa data yang sudah
melalui proses penyaringan stopword. Sistem melakukan pembacaan
data dari folder, kemudian melakukan stemming. Sistem membuat
sebuah dokumen berformat txt dan menggabungkan setiap baris data
hasil stemming menjadi satu dokumen. Sistem melakukan pembacaan
data dari dokumen hasil stemming, kemudian melakukan normalisasi
dan pembobotan atribut setiap data yang ada pada dokumen txt dengan
menggunakan normalisasi TF. Sistem membuat sebuah dokumen berformat
txt yang berisi data hasil normalisasi TF. Sistem melakukan
pembacaan data dari dokumen hasil normalisasi TF, selain itu juga
membaca dokumen yang berisi kelas untuk dataset. Kemudian
menambahkan kelas pada data. Sistem membuat sebuah dokumen
berformat txt
yang berisi data hasil input kelas. Sistem melakukan pembacaan
data dari dokumen hasil input kelas, kemudian membuat index untuk
atribut (kata) yang ada di dalamnya. Sistem membuat sebuah dokumen
data testing.txt berisi atribut yang berupa index. User memilih
menu browse dokumen Menampilkan jendela direktori aktif User
memilih dokumen yang akan di prediksi (data testing) User memilih
menu run untuk menjalankan proses prediksi Sistem melakukan
prediksi apakah dokumen email yang di diproses spam atau bukan spam
dengan menggunakan model yang telah di buat pada proses sebelumnya.
Sistem membuat dokumen baru dari hasil prediksi dengan format txt.
Nomor :3 Nama use case : Testing E-mail Aktor : User Deskripsi :
Menjalankan proses testing e-mail yang meliputi parser data,
preprocessing dan prediksi data testing e-mail. Skenario : Aktor
Respon sistem User memilih menu browse dokumen. Menampilkan jendela
direktori aktif User memilih folder yang berisi data testing
e-mail. User memilih menu run untuk menjalankan parser data. Sistem
melakukan pembacaan data kemudian mengambil isi body tiap e-mail
yang ada dalam folder tersebut dan mengkonversi formatnya dari eml
menjadi format txt. Sistem membuat sebuah folder yang berisi data
testing e-mail baru berupa isi body e-mail dengan format txt.
Sistem membaca setiap data yang ada dalam folder data hasil
pengambilan isi body e-mail. Kemudian menghapus semua tag HTML yang
ada dan mengubahnya menjadi satu baris untuk
tiap data. Sistem membuat sebuah folder yang berisi data baru
berupa dataset yang tidak mengandung tag HTML. Sistem membaca
setiap data yang ada dalam folder hasil penghilangan tag HTML.
Setelah itu, mengganti semua tanda baca yang ada pada data tersebut
dengan sebuah spasi. Sistem membuat sebuah folder yang berisi data
baru berupa dataset testing e-mail yang tidak mengandung tanda
baca. User memilih menu browse dokumen. Menampilkan jendela
direktori aktif User memilih folder yang berisi data akhir hasil
parser data. User memilih menu run untuk menjalankan preprocessing
data. Sistem melakukan pembacaan data dan melakukan penyaringan
stopword yang ada pada data. proses ini akan dilakukan pada semua
data yang ada dalam folder. Sistem membuat sebuah folder yang
berisi data baru berupa data yang sudah melalui proses penyaringan
stopword. Sistem melakukan pembacaan data dari folder, kemudian
melakukan stemming. Sistem membuat sebuah dokumen berformat txt dan
menggabungkan setiap baris data hasil stemming menjadi satu
dokumen. Sistem melakukan pembacaan data dari dokumen hasil
stemming, kemudian melakukan normalisasi dan pembobotan atribut
setiap data yang ada pada dokumen txt dengan menggunakan
normalisasi TF. Sistem membuat sebuah dokumen berformat txt yang
berisi data hasil normalisasi TF. Sistem melakukan pembacaan data
dari dokumen hasil normalisasi TF, kemudian membuat index untuk
atribut (kata) yang ada di dalamnya. Sistem membuat sebuah dokumen
data gmail.txt berisi atribut yang berupa index. User memilih menu
browse dokumen Menampilkan jendela direktori aktif User memilih
dokumen yang
akan di prediksi (data testing e-mail) User memilih menu run
untuk menjalankan proses prediksi Sistem melakukan prediksi apakah
dokumen email yang di diproses spam atau bukan spam dengan
menggunakan model yang telah di buat pada proses sebelumnya. Sistem
membuat dokumen baru dari hasil prediksi dengan format txt.
3.3.12 m Sequence a. Diagram Sequence Parser DataGambar 3
Diagram Sequence Parser Data
Diagra
b. Diagram Sequence Preprocessing DataGambar 3 Diagram Sequence
Preprocessing Data
c. Diagram Sequence Train SVMGambar 3 Diagram Sequence Train
SVM
d. Diagram Sequence Predict SVMGambar 3 Diagram Sequence Predict
SVM
1.3.3. Diagram KelasGambar 3 Diagram Kelas
13.4.1.
Pengujian dan Implementasi
Lingkungan Implementasi14.1.1 kasi Hardware Sistem ini dibangun
dengan menggunakan perangkat keras, dengan spesifikasi : 1. Intel
Mobile Core 2 Duo P8600 2.4GHz 2. Memory DDR2 4GB PC 6400 3.
Graphic card NVIDEA GeForce G 105M 4. Harddisk 320GB 1.1.2 kasi
Software Sistem ini dibangun dengan spesifikasi perangkat lunak :
1. Sistem Operasi Windows 7 2. NetBeans 6.9.1 Spesifi Spesifi
4.2.
Tujuan PengujianTujuan dilakukannya pengujian adalah: 1. Mencari
nilai parameter C terbaik untuk menganalisa pengaruh nilai
parameter C dengan metode-metode agregasi terhadap akurasi
klasifikasi. 2. Menguji sistem dengan data e-mail yang diambil dari
account GMail, apakah e-mail tersebut tergolong spam atau non-spam.
3. Menganalisia performansi sistem e-mail spam filtering yang telah
dibangun.
4.3.
Data yang DigunakanData input yang digunakan diperoleh dari
CSMining Group 2010
(http://csmining.org/index.php/spam-email-datasets-.html). Data
input tersebut memiliki format awal berupa .eml dan berisi e-mail
yang tergolong sebagai e-mail spam dan e-mail non-spam. Data input
akan dipisah menjadi dua golongan, yaitu data training dan data
testing. Data training yang digunakan sebanyak 2778 e-mail. 278
diantaranya berupa e-mail spam dan 2500 e-mail sisanya berupa
e-mail nonspam. Data testing yang digunakan sebanyak 695 e-mail. 70
diantaranya berupa email spam dan 625 sisanya merupakan e-mail
non-spam. Selain itu, ada 10 data berupa e-mail yang berasal dari
account e-mail [email protected] yang juga akan digunakan
untuk proses testing.
4.4.
Skenario Pengujianbeberapa skenario pengujian akan dilakukan
terhadap sistem yang telah dibangun. Rincian dari skenario yang
akan dilakukan adalah:
1. Pengujian pengaruh nilai parameter C dengan metode agregasi
combine terhadap akurasi klasifikasi. Pengujian dilakukan untuk
mengetahui pengaruh nilai parameter C yang merupakan parameter
input bagi SVM metode agregasi combine yang dilakukan terhadap data
terhadap akurasi klasifikasi yang dilakukan. Pencarian nilai C
dilakukan 10 kali, mulai dari nilai 0.1 hingga 1 dengan interval
sebesar 0.1 setiap kali running sistem. 2. Pengujian pengaruh nilai
parameter C dengan metode agregasi discard terhadap akurasi
klasfikasi. Pengujian dilakukan untuk mengetahui pengaruh nilai
parameter C yang merupakan parameter input bagi SVM metode agregasi
discard yang dilakukan terhadap data terhadap akurasi klasifikasi
yang dilakukan. Pencarian nilai C dilakukan 10 kali, mulai dari
nilai 0.1 hingga 1 dengan interval sebesar 0.1 setiap kali running
sistem. 3. Pengujian sistem dengan menggunakan data testing berupa
e-mail yang diambil dari account GMail dan model terbaik hasil
training sistem. Pengujian dilakukan dengan menggunakan model hasil
training untuk menentukan apakah e-mail tersebut spam atau
non-spam.
4.5.
Analisis dan Hasil PengujianPengujian dilakukan sebanyak 10 kali
untuk masing-masing metode agregasi yang berbeda. Pengujian
dilakukan dengan mengubah nilai parameter C dengan range 0-1,
interval sebesar 0.1, dan threshold kenaikan akurasi sebesar 0.5.
1. Pengujian pengaruh nilai parameter C dengan metode agregasi
combine terhadap akurasi klasifikasi. Dari hasil observasi yang
dilakukan terhadap sistem dengan menggunakan metode combine,
diperoleh data seperti yang diperlihatkan pada tabel dibawah
ini.Tabel 4 Tabel Hasil Uji dengan Metode Agregasi Combine
Dari hasil uji pada tabel 4-1 dapat dilihat bahwa hanya ada dua
granule yang terbentuk dalam setiap percobaan yang dilakukan. Hal
ini disebabkan oleh kenaikan akurasi kurang dari threshold yang
telah ditentukan, sehingga sistem berhenti dan tidak membuat
granule lagi. Pada saat sistem berhenti membuat granule, sistem
menganggap bahwa SV yang terbentuk dari granule ke-dua tersebut lah
yang efektif bagi sistem untuk proses klasifikasi data. Semakin
besar nilai C, akurasi yang dihasilkan pun semakin tinggi. Hal ini
terlihat dari tabel 4-1 hasil uji. Nilai C optimal adalah pada saat
C = 0.8, karena nilai sensitivity dan specificity yang dihasilkan
juga sangat tinggi, sehingga akurasi training dan testing yang
dihasilkan pun juga yang terbaik. Dari nilai sensitivity yang
dihasilkan, baik dari training maupun testing, dapat dilihat bahwa
sistem yang dibangun dapat mengenali data e-mail non-spam dengan
sangat baik. Sedangkan dari nilai specificity yang dihasilkan, pada
saat training, sistem masih dapat mengenali data spam dengan baik,
namun pada saat testing, sistem kurang bisa mengenali data spam
dengan baik. Hal ini dapat disebabkan oleh data training yang
kurang bisa mewakili data testing.
2. Pengujian pengaruh nilai parameter C dengan metode agregasi
discard terhadap akurasi klasfikasi. Dari hasil observasi yang
dilakukan terhadap sistem dengan menggunakan metode discard,
diperoleh data seperti yang diperlihatkan pada tabel dibawah
ini.Tabel 4 Tabel Hasil Uji dengan Metode Agregasi Discard
Dari hasil uji pada tabel 4-2 dapat dilihat bahwa semakin banyak
granule yang terbentuk tidak membuat akurasi sistem membaik. Tujuan
dari metode discard adalah sebagai data cleaning, agar data yang
tidak relevan, redundant dan juga yang tergolong sebagai noise
tidak akan digunakan dalam proses klasifikasi. Akurasi terbaik
diperoleh pada saat hanya dua granule yang terbentuk. Pada saat
hanya dua granule yang terbentuk, sistem menganggap bahwa SV yang
terbentuk dari granule ke-dua tersebut lah yang sangat efektif bagi
sistem untuk proses klasifikasi data. Pada tabel 4-2 juga terlihat
bahwa semakin banyak granule yang terbentuk, semakin lama waktu
yang dibutuhkan untuk proses training sistem. Hal ini disebabkan
oleh banyaknya waktu yang dibutuhkan sistem untuk pembentukan
granule. Karena pembentukan granule akan melalui proses
undersampling dan juga agregasi. Semakin besar nilai C, akurasi
yang dihasilkan pun semakin tinggi. Hal ini terlihat dari table 4-2
hasil uji. Nilai C terbaik adalah pada saat C = 0.5, karena nilai
sensitivity dan specificity yang dihasilkan juga sangat tinggi,
sehingga akurasi training dan testing yang dihasilkan pun juga yang
terbaik. Dari nilai sensitivity yang dihasilkan pada saat training,
dapat dilihat bahwa sistem yang dibangun dapat mengenali data
e-mail non-spam dengan sangat baik. Namun, pada saat testing, nilai
sensitivity yang dihasilkan tidak cukup bagus dalam mengenali data
e-mail non-spam. Hal ini dapat disebabkan oleh banyaknya data yang
terbuang dalam pemilihan SV, sehingga model yang dihasilkan pada
saat training tidak dapat mewakili data testing. Sedangkan dari
nilai specificity yang dihasilkan, baik pada saat training dan
testing, sangat bagus, sehingga sistem dapat mengenali data spam
dengan sangat baik.
Gambar 4 Grafik pengaruh nilai C terhadap jumlah SV
Berdasarkan gambar 4-1, semakin besar nilai parameter C yang
digunakan, jumlah SV yang dihasilkan juga akan semakin banyak.
Parameter C adalah parameter untuk toleransi kesalahan klasifikasi.
Hal ini berarti seberapa besar suatu data boleh melewati batas
(hyperplane) dan masih dianggap sebagai kelasnya/tidak tergolong ke
kelas lainnya. jadi, semakin besar nilai C, semakin jauh pula suatu
data dapat melewati batasnya. Oleh karena itu, nilai C yang diambil
sebagai yang terbaik dalam dua pengujian diatas adalah yang
memiliki akurasi training dan testing yang terbaik dan juga nilai C
yang paling kecil, agar jumlah SV yang dihasilkan tidak terlalu
banyak karena dikhawatirkan SV yang dihasilkan justru akan membuat
akurasi yang dihasilkan akan tidak akurat karena toleransi yang
terlalu besar.
Berdasarkan hasil kedua pengujian menggunakan metode agregasi
combine dan discard, dapat dilihat bahwa, pada saat metode combine
diterapkan, sistem dapat mengenali data non-spam dengan sangat baik
sebesar 99,8% dari data testing dan juga data spam data testing
dengan baik sebesar 70%, sehingga dihasilkan akurasi testing yang
tinggi yaitu 83,59%. Pada saat metode discard diterapkan, sistem
dapat mengenali data testing non-spam dengan cukup baik dengan
persentase sebesar 53,9% dan juga dapat mengenali data spam dengan
sangat baik sebesar 95,7%, sehingga akurasi testing yang dihasilkan
cukup tinggi yaitu 71,83%. Dari hasil diatas, dapat disimpulkan
bahwa dataset yang digunakan memiliki akurasi yang tinggi pada saat
metode agregasi combine digunakan, yaitu 99,81% untuk data training
dan 83,59% untuk data testing. Hal ini dapat terjadi karena, ketika
lebih banyak sampel informatif yang digabungkan menjadi dataset
baru, information loss akan semakin sedikit sehingga akurasi yang
lebih baik dapat dicapai. 3. Pengujian sistem dengan menggunakan
data testing berupa e-mail yang diambil dari account GMail dan
model terbaik hasil training sistem. Pengujian sistem dengan data
e-mail real yang diambil dari account GMail menggunakan model hasil
training dataset dengan nilai C dan metode terbaik yang sesuai
dengan dataset. Berdasarkan pengujian sebelumnya, nilai C terbaik
adalah 0.8 dan metode agregasi yang digunakan adalah combine. Oleh
karena itu, data email tersebut akan diprediksi dengan menggunakan
model terpilih.
Tabel 4 Hasil uji dengan C = 0.8 dan metode agregasi combine
Dari tabel diatas, dapat dilihat bahwa metode GSVM-RU hanya
dapat menebak satu e-mail yang benar (diklasifikasikan sebagai
spam). Hasil prediksi yang diperoleh tidak sama dengan prediksi
dari GMail. Hal ini dapat disebabkan oleh kemampuan sistem dalam
mengenali data spam kurang baik, sehingga hanya ada satu e-mail
saja yang dapat dikenali sebagai spam. Selain itu, teknologi yang
dipakai oleh GMail untuk memprediksi spam berbeda dengan yang
penulis lakukan. Sebagai penyedia layanan e-mail, tentu saja GMail
menggunakan teknologi terbaik dan juga perlindungan yang berlapis
dari spam. Ada beberapa teknik yang digunakan oleh GMail untuk
mengatasi spam, yaitu: 1. Community click GMail memperbolehkan
penggunanya untuk menentukan sendiri e-mail seperti apa yang
tergolong spam bagi mereka. Hanya dengan mengklik tombol Report
Spam, pengguna akan memberi tahu sistem spam filtering yang
dimiliki GMail untuk memblok e-mail yang serupa dikemudian hari
[5]. 2. Quick adaptation
Infrastruktur komputasi canggih yang digunakan dalam pencarian
Google juga digunakan dalam spam filtering GMail. Pada saat ada
data spam baru, skala jaringan computer Google memodifikasi
algoritma spam filtering GMail [5]. 3. Powered by google Selain
kedua cara diatas, cara lainnya adalah dengan menggunakan Optical
Character Recoqnition (OCR) yang dikembangkan oleh para tim
pencarian buku Google untuk proteksi dari spam yang berisi gambar
[5]. 4. Authentication for everyone GMail memiliki beberapa sistem
autentifikasi, seperti SPF (Sender Policy Framework), DomainKeys,
dan DKIM (DomainKeys Identified Mail), sehingga pengirim e-mail
dapat dipastikan [5]. Sender Policy Framework (SPF) adalah sistem
validasi e-mail yang dirancang untuk mencegah spam dengan
mendeteksi e-mail spoofing, kerentanan umum, dengan memverifikasi
alamat IP pengirim. DomainKeys adalah system otentikasi e-mail yang
dirancang untuk memverifikasi domain DNS dari pengirim e-mail dan
integritas pesan. Setiap pesan yang keluar dari aplikasi Google
akan disertai dengan DKIM sehingga pesan yang dikirim tersebut akan
memiliki kemungkinan yang kecil untuk dihentikan oleh spam filter
penerima [10].
14. Kesimpulan dan Saran1. KesimpulanBerdasarkan hasil pengujian
dan analisis yang telah dilakukan, dapat diambil beberapa
kesimpulan sebagai berikut: 1. Metode agregasi yang paling efektif
untuk dataset yang digunakan adalah combine. Metode combine dapat
menghindari terjadinya information loss pada dataset. 2. Metode
GSVM-RU dapat mengklasifikasikan dataset yang digunakan dengan
akurasi yang tinggi, yaitu 99,81% untuk data testing dan 83,59%
untuk data testing, dengan nilai parameter SVM (C) sebesar 0,8. 3.
Dataset yang digunakan masih belum bisa menebak dengan benar data
spam yang diambil dari account GMail. Hal ini dikarenakan sistem
yang digunakan oleh GMail berbeda dengan yang digunakan dalam
penellitian ini. Selain itu, data training yang dijadikan model
dalam klasifikasi masih belum mewakili data GMail yang
digunakan.
2. Saranbeberapa saran yang diberikan antara lain: 1. Penggunaan
kernel lain pada SVM yang digunakan untuk klasifikasi data mungkin
akan memberikan hasil yang berbeda. Namun perlu diperhatikan apakah
jumlah atribut yang digunakan akan menimbulkan curse of
dimensionality atau tidak. 2. Penggunaan metode GSVM-RU untuk
menangani berbagai macam data spam lainnya, misalnya data spam yang
mengandung gambar didalamnya.
15.
Daftar Pustaka
[1] B. Steve, 2003, Support Vector Machines, Department of
Computer Science and Artificial Intelligence, University of Malta.
[2] Cambridge University Press, 2008, Stemming and Lemmatization.
http://nlp.stanford.edu/IR-book/html/htmledition/stemming-andlemmatization-1.html
diakses pada tanggal 23 Januari 2012. [3] C. Gordon V., 2006, Email
Spam Filtering: A Systematic Review, University of Waterloo. [4] C.
Nello, S. John, 2009, An Introduction to Support Vector Machines
and Other Kernel-based Learning Methods. [5] Google, Gmail uses
Googles innovative technology to keep spam out of your inbox,
http://www.google.com/mail/help/fightspam/spamexplained.html
diakses pada tanggal 29 november 2011. [6] L. Qingliang, W. Yanli,
B. Stephen H., 2009, A novel method for mining highly imbalanced
high-throughput screening data in PubChem. National Institute of
Health, Bethesda, USA. [7] N. Anto S., W. Arief B., H. Dwi, 2003,
Support Vector Machine, Teori dan Aplikasinya dalam Bioinformatika.
[8] N. Mathias, 2005, An Experiment System for Text Classification.
[9] Oracle, 2008, Classification.
http://download.oracle.com/docs/cd/B28359_01/datamine.111/b28129/class
ify.htm diakses pada tanggal 14 juni 2011. [10] Prince, Brian,
2011, Google adds DKIM for Google Apps to Adress Spam.
http://www.eweek.com/c/a/Security/Google-Adds-DKIM-forGoogle-Apps-to-Address-Spam-243360/
diakses pada tanggal 29 november 2011. [11] Statsoft, Text Mining.
http://www.statsoft.com/textbook/textmining/ diakses pada tanggal
23 Januari 2012. [12] Tang, Yuchun, 2006, Granular Support Vector
Machines Based on Granular Computing, Soft Computing and
Statistical Learning, Georgia State University,. [13] T. Yuchun, Z.
Yan-Qing, C. Nitesh V., K. Sven, 2002, SVMs Modeling for Highly
Imbalanced Classification. Journal of latex class files.