Spam Filter Menggunakan Model Klasifikasi Multivariate Bernoulli dan Multinomial Naïve Bayes

SPAM FILTER MENGGUNAKAN MODEL KLASIFIKASI
MULTIVARIATE BERNOULLI DAN MULTINOMIAL
NAÏVE BAYES

DENIS FADILLAH

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 Spam Filter
Menggunakan Model Klasifikasi Multivariate Bernoulli dan Multinomial Naïve
Bayes 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
Denis Fadillah
NIM G64124052

ABSTRAK
DENIS FADILLAH. Spam Filter Menggunakan Model Klasifikasi Multivariate
Bernoulli dan Multinomial Naïve Bayes. Dibimbing oleh JULIO ADISANTOSO.
Pertumbuhan pengguna email memicu peningkatan spam email sehingga
diperlukan teknik spam filter. Model klasifikasi Naïve Bayes (NB) adalah salah
satu metode supervised learning yang dapat digunakan untuk spam filter karena
tingkat akurasi yang tinggi dan mudah diimplementasikan. Multivariat Bernoulli
NB menggunakan atribut Boolean sedangkan Multinomial NB menggunakan
frekuensi term, adalah dua model NB yang sering digunakan untuk fungsi
klasifikasi. Pemilihan fitur ciri yang baik juga berpengaruh pada peningkatan
akurasi klasifikasi. Penelitian ini mencoba memodelkan spam filter menggunakan
model klasifikasi Multivariat Bernoulli dan Multinomial NB kemudian
membandingkan akurasinya. Seleksi fitur chi-square dipilih dengan harapan dapat
menghasilkan fitur ciri yang lebih baik. Model Multinomial NB tanpa seleksi fitur

menghasilkan akurasi tertinggi sebesar 95.31%, sedangkan untuk tingkat akurasi
terendah didapatkan pada model Multivariate Bernoulli tanpa seleksi fitur sebesar
89.69%. Seleksi fitur chi-square meningkatkan akurasi model Multivariate
Bernoulli sebesar 3.31%, sedangkan Multinomial NB mengalami penurunan
akurasi sebesar 1.98%.
Kata kunci: multinomial, multivariat bernoulli, naive bayes, spam filter

ABSTRACT
DENIS FADILLAH. Spam Filter Using Multivariate Bernoulli Classifiers and
Multinomial Naive Bayes Classifiers by JULIO ADISANTOSO.
The growth of email users is triggers an increase in spam email, so that the
required spam filters. Naïve Bayes classification model (NB) is one of the
supervised learning method that can be used for spam filters because of high
accuracy and easy to implement. Multivariate Bernoulli NB that is using Boolean
attribute while Multinomial NB is using term frequency, those are two NB models
which often used for classification function. Selection of good features will also
affects the improvement of classification accuracy. This research is trying to
modelling spam filter by using Multivariate Bernoulli and Multinomial NB
classifiers then to compare both accuracy outputs. Chi-square feature selection
also was chosen to hope producing a better features. Multinomial NB models

without feature selection resulted in the highest accuracy of 95.31%, while the
lowest accuracy rate obtained in the Multivariate Bernoulli models without feature
selection by 89.69%. Chi-square feature selection improve the accuracy of the
model Multivariate Bernoulli at 3.31%, while the accuracy of Multinomial NB
decreased by 1.98%.
Keywords: multinomial, multivariat bernoulli, naive bayes, spam filter

SPAM FILTER MENGGUNAKAN MODEL KLASIFIKASI
MULTIVARIATE BERNOULLI DAN MULTINOMIAL
NAÏVE BAYES

DENIS FADILLAH

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
2

Ahmad Ridha, SKom MS
Dr Imas Sukaesih Sitanggang, SSi MKom

Judul Skripsi : Spam Filter Menggunakan Model Klasifikasi Multivariate
Bernoulli dan Multinomial Naïve Bayes
Nama
: Denis Fadillah
NIM
: G64124052

Disetujui oleh


Ir Julio Adisantoso MKom
Pembimbing

Diketahui oleh

Dr Ir Agus Buono, Msi MKom
Ketua Departemen

Tanggal Lulus:

PRAKATA
Puji syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan
rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi yang
berjudul “Spam Filter Menggunakan Model Klasifikasi Multivariate Bernoulli dan
Multinomial Naïve Bayes”. Skripsi ini disusun sebagai syarat mendapat gelar
Sarjan Komputer (SKomp) pada Program Sarjana Ilmu Komputer di Fakultas
Matematika dan Ilmu Pengetahuan Alam Institut Pertnaian Bogor (IPB).
Penyelsaian skripsi ini juga tidak terlepas dari bantuan berbagai pihak.
Sebagai bentuk rasa syukur kepada Allah SWT, penulis ingin menyampaikan

terimakasih dan penghargaan kepada:
1 Ir. Julio Adisantoso, MKom selaku dosen pembimbing atas bimbingan, arahan,
waktu dan kesabaran yang telah diberikan kepada penulis selama penyusunan
skripsi ini.
2 Papah Mamahku tersayang dan keluarga serta Febriani Dwiprianti atas segala
dukungannya, kasih sayang dan doa yang telah diberikan kepada penulis
dengan tulus serta penuh kesabaran.
3 Teman-teman di Gatotkaca Raya.
4 Teman-teman seperjuang dan teman-teman alihjenis angkatan 7 atas semangat
dan sharing selama penelitian hingga penulisan skripsi, serta seluruh pihak
yang tidak disebutkan satu per satu, terimakasih atas bantuannya.
Akhir kata, penulis mengucapkan terimakasih kepada semua pihak yang
telah banyak membantu dalam menyelsaikan skripsi ini. Semoga skripsi ini dapat
memberikan kontribusi yang bermakna bagi pengembangan wawasan para
pembaca, khususnya mahasiswa dan masyarakat pada umumnya.
Semoga karya ilmiah ini bermanfaat.

Bogor, Desember 2014
Denis Fadillah


DAFTAR ISI
DAFTAR TABEL

vi

DAFTAR GAMBAR

vi

DAFTAR LAMPIRAN

vi

PENDAHULUAN

1

Latar Belakang

1


Perumusan Masalah

1

Tujuan Penelitian

2

Manfaat Penelitian

2

Ruang Lingkup Penelitian

2

METODE

2


Pengumpulan Dokumen Email

3

Ekstraksi Dokumen Email

3

Praproses Data

4

Fungsi Klasifikasi

5

Evaluasi Fungsi Klasifikasi

7


HASIL DAN PEMBAHASAN

8

Pengumpulan Dokumen Email

8

Ekstraksi Dokumen Email

9

Praproses Data

9

Fungsi Klasifikasi Naïve Bayes

10


Evaluasi Fungsi Klasifikasi

11

SIMPULAN DAN SARAN

13

Simpulan

13

Saran

13

DAFTAR PUSTAKA

13

LAMPIRAN

15

RIWAYAT HIDUP

17

DAFTAR TABEL
1
2
3
4
5
6
7
8
9

Struktur dokumen email
Tabel kontingensi
Nilai Kritis �2 untuk taraf nyata α (Walpole et al. 2012)
Confussion Matrix kelas hasil prediksi dan kelas aktualnya
Komposisi korpus email
Jumlah token yang dihasilkan pada setiap langkah praproses
Lima term hasil pendugaan parameter Multivariate Bernoulli
Lima term hasil pendugaan parameter Multinomial NB
Confussion Matrix untuk setiap pengujian model klasifikasi

3
5
5
7
8
9
10
11
11

DAFTAR GAMBAR
1
2
3
4

Diagram alir penelitian
Komposisi jumlah token hasil tahap seleksi fitur
Tingkat akurasi setiap model klasifikasi
Tingkat akurasi ham dan spam setiap model klasifikasi

2
10
12
12

PENDAHULUAN
Latar Belakang
Surat elektronik atau email adalah sarana mengirim surat melalui jaringan
internet. Berbeda dengan surat konvensional, email tidak memerlukan perangko
atau amplop untuk mengirim pesan sehingga mudah dan murah. Selain itu email
dapat dikirim ke banyak orang dalam satu waktu dengan waktu yang cepat.
Pertumbuhan pengguna email yang semakin pesat memicu peningkatan
spam email (email yang tidak diinginkan oleh penerimanya dan dikirimkan secara
massal). Spam biasanya dikirim oleh suatu perusahaan sebagai media promosi
suatu produk. Tahun 2008 diperkirakan terdapat 62 triliun spam yang dikirim di
seluruh dunia (McAfee 2008). Banyaknya spam tersebut mengakibatkan kerugian
seperti memakan banyak sumber daya dan memerlukan waktu untuk
menghapusnya.
Menyaring spam secara manual sulit dilakukan untuk volume dokumen
email yang sangat besar. Oleh karena itu diperlukan suatu metode yang dapat
mengklasifikasikan spam dan bukan spam (ham) secara otomatis. Model
klasifikasi Naïve Bayes (NB) adalah salah satu metode supervised learning yang
banyak digunakan untuk klasifikasi secara otomatis. NB dapat digunakan untuk
berbagai permasalahan klasifikasi dengan error rate sebesar 20% (Manning et al.
2009).
Metode NB terbagi menjadi dua model yaitu Multivariate Bernoulli NB dan
Multinomial NB (Manning et al. 2009). Penelitian Rachman (2013)
membandingkan model Multinomial NB (atribut Boolean) dengan model Graham
menggunakan metode training Train-Everything (TEFT) dan Training On Error
(TOE). Metode TEFT melatih data email ketika ada data email baru, sedangkan
metode TOE melatih data email ketika ada kesalahan klasifikasi. Dari penelitian
tersebut model Multinomial NB untuk spam filter menghasilkan nilai recall yang
tinggi yaitu di atas 96% untuk setiap percobaan.
Schneider (2003) membandingkan kinerja dua model NB dan
menyimpulkan bahwa model Multinomial NB dapat mencapai akurasi yang lebih
tinggi dibandingkan dengan model Multivariat Bernoulli NB dengan
menggunakan seleksi fitur Mutual Information (MI). Schneider (2003) juga
berasumsi bahwa peningkatan fungsi seleksi fitur dapat menghasilkan tingkat
akurasi yang lebih baik. Salah satu metode seleksi fitur yang populer adalah chisquare (Manning et al. 2009). Oleh karena itu, perlu dilakukan penelitian
membandingkan Multivariate Bernoulli NB dan Multinomial NB untuk spam
filter pada dokumen email menggunakan seleksi fitur chi-square. Seleksi fitur chisquare diharapkan dapat menghasilkan tingkat akurasi spam filter yang lebih baik.
Perumusan Masalah
Perumusan masalah penelitian ini adalah:
1 Bagaimana memodelkan klasifikasi Multivariate Bernoulli NB dan
Multinomial NB untuk spam filter?
2 Bagaimana akurasi hasil klasifikasi Multivariate Bernoulli NB dan
Multinomial NB untuk spam filter menggunakan seleksi fitur chi-square?

2
Tujuan Penelitian
Tujuan dari penelitian ini adalah membuat model klasifikasi Multivariate
Bernoulli NB dan Multinomial NB untuk spam filter dengan menggunakan seleksi
fitur chi-square kemudian membandingkan akurasi antara dua model tersebut.
Manfaat Penelitian
Penelitian ini diharapkan dapat menghasilkan model klasifikasi untuk spam
filter menggunakan model klasifikasi NB dan seleksi fitur chi-square dengan
tingkat akurasi yang tinggi.
Ruang Lingkup Penelitian
Ruang lingkup pada penelitian ini antara lain:
1 Korpus yang digunakan adalah dokumen email berbahasa Inggris dengan
standar MIME dalam format raw.
2 Korpus email terbagi ke dalam dua kelas yaitu kelas spam dan ham.
3 Praproses tidak melewati langkah stemming karena stemming dapat
menurunkan kinerja klasifikasi (Manning et al. 2009).

METODE
Tahapan penelitian terdiri atas 5 tahap, yaitu: pengumpulan data email,
ekstraksi dokumen email, praproses, membuat fungsi klasifikasi, dan evaluasi
hasil. Gambar 1 menunjukkan diagram alir penelitian yang dilakukan.

Gambar 1 Diagram alir penelitian

3
Pengumpulan Dokumen Email
Tahapan penelitian yang pertama adalah pengumpulan dokumen email yang
akan digunakan sebagai korpus. Dokumen email berupa public email corpus yang
disediakan oleh Spamassasin dengan kode prefix “20030228” dan diunduh pada
alamat https://spamassassin.apache.org/publiccorpus/. Korpus email dibagi
menjadi 2 kelas yaitu kelas spam dan kelas ham. Korpus tersebut akan digunakan
sebagai data latih dan data uji pada tahap selanjutnya.
Ekstraksi Dokumen Email
Dokumen email yang terdapat dalam korpus masih dengan format standar
email yang terdiri dari header dan body. Oleh karena itu, struktur email tersebut
harus dipecah sesuai dengan bagian-bagiannya. Ekstraksi dokumen email
dilakukan untuk mendapatkan bagian email yang akan dimasukkan dalam proses
tokenisasi. Tabel 1 menampilkan struktur yang terdapat dalam dokumen email.
Bagian header yang digunakan untuk proses tokensisasi adalah subject,
sedangkan pada bagian body adalah plain text dan HTML text.
Tabel 1 Struktur dokumen email
Bagian

Nama Struktur
MIME-version
Form
Received

Date
Delivered-To
Message-ID
Header
Subject
To
X-Mailer
Return - Path
Plain text
Body

HTML text
Attachment

Definisi
Versi MIME yang digunakan
Nama dan alamat pengirim pesan
Daftar semua server / komputer yang
dilaui pesan untuk sampai kepada
penerimanya
Tanggal dan waktu pesan email dibuat
Alamat penerima email
Sebuah string unik yang diberikan oleh
sistem email saat pesan tersebut pertama
kali dibuat
Subjek dari pesan
Alamat
yang
digunakan
untuk
mengirim pesan
Aplikasi
yang digunakan untuk
mengirimkan pesan
Alamat pengembalian pesan jika alamat
penerima tidak ditemukan
Isi pesan dengan format penulisan
dalam teks ASCII biasa
Isi pesan yang mengandung tag HTML
Informasi yang memberikan lampiran
dari sebuah pesan.

4
Praproses Data
Dokumen email yang telah diekstraksi kemudian ditokenisasi yaitu
memotong dokumen teks menjadi bagian-bagian kecil yang disebut token dan
membuang karakter-karakter tertentu seperti tanda baca (Manning et al. 2009).
Whitespace (spasi, tab, newline) digunakan sebagai pemisah antar kata yang akan
dipotong. Selain itu token yang dihasilkan biasanya diubah ke dalam bentuk
lowercase. Proses tokensisasi dilakukan sebagai berikut:
1 Tanda baca diganti menjadi spasi sehingga tanda baca tersebut dianggap
sebagai pemisah token. Tanda baca yang digunakan yaitu ' - ) ( \ / = . , : ; ! ?.
2 Teks dipotong menjadi token-token. Karakter numerik dibuang sehingga token
hanya terdiri dari karakter huruf (string).
3 Token dengan panjang kurang dari 3 karakter dibuang.
4 Semua token diubah ke dalam bentuk lowercase.
Token yang termasuk ke dalam stopword akan dibuang. Stopword adalah
kata yang sangat umum dan sering muncul seperti kata sambung (Manning et al.
2009). Stopword tidak menambah informasi untuk fungsi klasifikasi dan
pembuangan stopword dilakukan untuk mengurangi beban komputasi. Daftar
stopword yang digunakan pada penelitian ini diunduh pada alamat
http://jmlr.org/papers/volume5/lewis04a/a11-smart-stop-list/english.stop
(Lampiran 1).
Seleksi 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. Subset kata unik yang terpilih disebut dengan penciri.
Seleksi fitur memiliki dua tujuan, yaitu mengurangi jumlah kata yang digunakan
dan meningkatkan akurasi hasil klasifikasi (Manning et al. 2009).
Pada penelitian ini, pemilihan fitur dilakukan dengan metode chi-square.
Chi-square digunakan untuk menguji independensi antara 2 kejadian yaitu
kejadian kemunculan kata unik dan kejadian kemunculan kelas (Manning et al.
2009). Nilai chi-square kata t pada kelas c dihitung menggunakan persamaan
(Manning et al. 2009)
2

χ t,c = ∑et∈{0,1} ∑ec∈{0,1}

(Net ec -Eet ec )
Eet ec

2

,

(1)

dengan N adalah frekuensi yang diamati dan E adalah frekuensi yang diharapkan.
Pada persamaan (1), et bernilai 1 jika dokumen mengandung kata t dan e t bernilai
0 jika dokumen tidak mengandung kata t, sedangkan e c bernilai 1 jika dokumen
terdapat dalam kelas c dan ec bernilai 0 jika dokumen tidak terdapat dalam kelas c.
Penghitungan nilai chi-square pada setiap kata t yang muncul pada setiap kelas c
dapat dibantu dengan menggunakan tabel kontingensi (Tabel 2). Nilai yang
terdapat pada Tabel 2 merupakan nilai frekuensi obsevasi dari suatu kata terhadap
kelas yaitu A merupakan banyaknya dokumen pada kelas c yang memuat kata t, B
merupakan banyaknya dokumen yang bukan kelas c namun memuat kata t, C
merupakan banyaknya dokumen yang ada di kelas c namun tidak memiliki kata t,
serta D merupakan banyaknya dokumen yang bukan kelas c dan tidak memuat
kata t.

5
Tabel 2 Tabel kontingensi
Kata
T


Kelas
c
A
C


B
D

Tabel 3 Nilai Kritis � untuk taraf nyata α (Walpole et al. 2012)
α
Nilai kritis
0.050
3.841
0.025
5.024
0.020
5.412
0.010
6.635
0.005
7.879

Berdasarkan Tabel 2, perhitungan chi-square pada persamaan (1) dapat
disederhanakan menjadi (Manning et al. 2009)
2

N(AD-BC)
,
(2)
χ t,c =
(A+C)(A+B)(B+D)(C+D)
dengan t merupakan kata yang diujikan terhadap suatu kelas c dan N merupakan
jumlah dokumen dalam korpus.
Pengambilan keputusan dilakukan berdasarkan nilai � dari masing-masing
kata. Kata yang memiliki nilai � lebih besar dari nilai kritis pada taraf nyata α
adalah kata yang akan dipilih sebagai penciri dokumen. Kata yang dipilih sebagai
penciri merupakan kata yang diduga memiliki pengaruh terhadap kelas c. Nilai
kritis � untuk taraf nyata α ditunjukkan pada Tabel 3.
Penelitian ini menggunakan satu taraf nyata α dengan nilai 0.01 yang
diartikan bahwa kriteria kata yang dipilih sebagai penciri dokumen adalah kata
yang memiliki nilai � lebih besar dari 6.635. Hasil seleksi fitur ini akan
digunakan sebagai vocabulary (daftar penciri yang digunakan untuk proses
klasifikasi).
2

Fungsi Klasifikasi
Ada 2 cara mengelompokkan dokumen ke dalam kategori tertentu, yaitu
manual dan otomatis. Cara pertama yaitu secara manual yang dilakukan oleh para
pakar/ahli. Akan tetapi cara manual sulit dilakukan untuk dokumen dengan skala
besar. Cara kedua adalah klasifikasi dokumen secara otomatis menggunakan
fungsi klasifikasi yang dapat memetakan dokumen ke dalam kategori tertentu
(Manning et al. 2009)
γ:XC
dengan X adalah kumpulan dokumen dan C adalah himpunan kelas atau kategori.
Manning et al. (2009) membagi fungsi klasifikasi menjadi dua metode,
yaitu berbasis vektor dan berbasis peluang. Pada fungsi klasifikasi berbasis vektor,
setiap dokumen direpresentasikan sebagai vektor yang diberi label sesuai dengan

6
kelasnya. Beberapa metode yang sering digunakan untuk klasifikasi berbasis
vektor adalah kNN dan Rocchio classification.
Metode kedua adalah berbasis peluang dimana label kelas akan ditentukan
dari nilai peluang dokumen terhadap kelas. Metode berbasis peluang yang sering
digunakan adalah NB. NB classifier terbagi menjadi 2 model, yaitu Multivariate
Bernoulli dan Multinomial NB (Manning et al. 2009).
Pada Multivariate Bernoulli, dokumen diwakili oleh atribut biner yang
menunjukkan ada atau tidak ada term dalam dokumen. Frekuensi kemunculan
term dalam dokumen tidak ikut diperhitungkan. Ketika menghitung peluang dari
sebuah dokumen, semua nilai atribut dikalikan termasuk kemungkinan ada dan
tidak ada term dalam dokumen. Pada model ini, dokumen akan direpresentasikan
ke dalam angka biner 1 jika terdapat dalam dokumen atau 0 jika tidak terdapat
dalam dokumen seperti yang terdapat pada persamaan (3) (Manning et al. 2009)
d= , ei ∈ {0, 1}.
(3)
Peluang dokumen d dalam kelas c dihitung menggunakan formula (Manning et al.
2009)
P c|d ∝ P̂ c ∏��∈� P̂ Ui =ei |c ,
(4)
dengan P̂ Ui =ei |c adalah rasio dokumen dari kelas c yang mengandung term Ui,
P̂ c adalah peluang dokumen pada kelas c. Pendugaan P̂ c dan P̂ ei |c dihitung
dengan cara
N
P̂ c = c , P̂ ei |c =
N

Nct
Nc

,

(5)

dengan Nc adalah banyaknya dokumen latih pada kelas c, sedangkan N ct adalah
banyaknya dokumen yang mengandung term t dalam dokumen latih kelas c.
Untuk menghilangkan dugaan P̂ ei |c yang bernilai nol pada persamaan (5),
digunakan Laplace smoothing atau Add-One Smoothing sehingga pendugaan
P̂ ei |c menjadi

P̂ ei |c =

Nct +

Nc +B

,

(6)

sedangkan B adalah banyaknya kelas atau kategori (Manning et al. 2009).
Dalam Multinomial NB, dokumen diwakili oleh serangkaian kemunculan n
buah term t dari dokumen seperti yang terdapat pada persamaan (7) (Manning et
al. 2009)
d= , tk ∈ V.
(7)
dengan V adalah himpunan kata unik (vocabulary) dalam korpus. Dalam model
ini jumlah kemunculan dari setiap term dalam dokumen akan diperhitungkan.
Peluang dokumen d dalam kelas c dihitung menggunakan persamaan (Manning et
al. 2009)
P c|d ∝ P̂ c ∏ ≤�