Anda di halaman 1dari 2

TUGAS PERSONAL 4

Tugas ini akan memungkinkan anda mengalami secara langsung pembentukan model klasifikasi teks menggunakan
aplikasi pemfilteran email spam. Anda akan menggunakan Weka untuk mengonversi data tekstual (email) menjadi
vektor fitur dan membangun model text mining untuk pemfilteran spam secara otomatis. Pesan email yang akan
Anda gunakan dikirim ke suatu server antara 8 April 2007 dan 6 Juli 2007. Variabel target mengkllasifikasikan apakah
suatu email adalah spam atau ham (non-spam). Ikuti petunjuk dan jawab semua pertanyaan berikut ini.

(Peringatan: Bekerja dengan file dengan jumlah kata yang besar (menangani, membangun model dan mengevaluasi
dengan validasi silang membutuhkan banyak memori). Anda perlu menyimpan file data Anda setiap kali Weka
dijalankan).

Di LMS Binusmaya, Anda akan menemukan file bernama spam_data_Text.arf, yang berisi semua email dalam
format yang siap diinput ke Weka. Jika Anda membuka file ini di WordPad atau editor teks lain, Anda akan melihat
bahwa setiap instance hanyalah string teks email (di antara tanda kutip tunggal), dengan variabel target di bagian
akhir. Dengan demikian, file .arff memiliki dua variabel untuk setiap instance: string teks, dan variabel target
(disebut @class@), yang memiliki dua nilai, spam dan ham.
Untuk dapat membangun model prediktif spam, kita perlu mengkonversi teks email menjadi vektor fitur dan
merekayasa fitur. Anda dapat melakukan ini dengan mengikuti langkah-langkah di bawah ini:

1. Load spam_data_Text.arf ke dalam WEKA


2. Lakukan konversi “email text” ke “word features”.
(Dalam Filter: filters-->unsupervised-->attribute-->StringToWordVector). Ganti 2 parameter berikut:
i. Dalam kotak parameter “tokenizer” , ubah “default delimiters” dengan pengaturan di bawah ini.
Anda perlu menyalin semua karakter di bawah ini, termasuk (). Anda dapat melakukan “cut and
paste” string di bawah ini.

(.,:;'"?!@#$%^&*{}|[]\<>/`~1234567890-=_+)

weka.core.tokenizers.WordTokenizer -delimiters " \r \t(.,:;\'\"?!@#$\%^&*{}|[]\\<>/`~1234567890-


=_+)"

ii. Ubah "useStoplist" ke “true”.

Click OK dan “Apply” dan kembali ke page “Preprocess”!

Langkah ini memisahkan string ke dalam “words/terms”, dengan menggunakan delimiters ke “delimit” di
tempat dimana words mulai dan berakhir. Setelah mengkilk “apply”, program akan berjalan beberapa saat,
dan setelahnya anda akan menemukan sejumlah besar “words” pada “Attributes list” .

3. Hilangkan non-word (noise) attributes. Jika anda menemukan kata kata yang ganjil atau campuran antara kata
kata dan simbol, anda mungkin telah memilih delimiter yang salah. Jika anda melakukan proses pemberian
delimiter secara benar, anda akan hanya menemukan fitur yang noise kurang dari 20 pada ujung (dasar) dari
list. Anda bisa menghilangkan noise tersebut secara manual [check kotak di depan Attributes dan click
Remove].

4. Lakukan pembineran features (artinya ubahlah dari numeric features ke 1 untuk “word yang ditemukan
dalam email ini” atau 0 untuk “ word yang absent”). (Dalam menu Filter: filters-->unsupervised-->attribute--
>NumericToBinary) [click Apply!] [jika atribut terakhir, “zip”, artinya tetap berbentuk unbinarized, anda perlu
menghapusnya (remove).]

5. Lakukan pengacakan terhadap instans. (Dalam Filter: filters-->unsupervised-->instance-->Randomize) [click


Apply!]

6. Simpan data yang baru ke dalam file spam_data_ Occurrence.arf dengan mengklik tombol “save” pada sudut
kanan atas.

Anda telah siap untuk membangun model klasifikasi teks. Buka tab "Classify". Pilih @class@ sebagai variabel target
dari daftar pull-down di persegi panjang di bawah tombol "More Options". Kemudian pilih classifier “Naïve Bayes”
(classifiersbayes NaiveBayes). Jika NaïveBayes berwarna abu-abu, pastikan Anda memilih variabel yang tepat
sebagai variabel target (di kotak di bawah "More Options").

Tugas Anda. Laporkan hasil evaluasi model menggunakan 10-fold cross validation. Pandang model ini sebagai model
klasifikasi dan model yang memeringkat kasus berdasarkan kemungkinan keanggotaan kelas.