• Tidak ada hasil yang ditemukan

BAB III METODOLOGI. Support Vector Machines (SVM) merupakan salah satu metode machine

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III METODOLOGI. Support Vector Machines (SVM) merupakan salah satu metode machine"

Copied!
21
0
0

Teks penuh

(1)

BAB III

METODOLOGI

3.1 Hipotesis

Support Vector Machines (SVM) merupakan salah satu metode machine learning yang dapat melakukan klasifikasi data dengan sangat baik. Metode ini

bertujuan untuk mendapatkan bidang pemisah (hyperplane) terbaik yang tidak hanya memiliki prinsip Empirical Risk Minimization (ERM) yaitu meminimalkan rata-rata

error pada data pelatihan, tetapi juga memiliki generalisasi yang baik. Untuk

menjamin generalisasi ini, SVM bekerja berdasarkan prinsip Strucutural Risk

Minimization (SRM). Pemisahan data yang baik dicapai oleh hyperplane yang

memiliki margin terbesar karena pada umumnya semakin besar margin semakin rendah kesalahan generalisasi classifier (Rakse & Shukla, 2010).

Keunggulan SVM lainnya adalah dalam melakukan klasifikasi SVM tidak hanya dapat digunakan terhadap data yang bersifat linear, tetapi juga dapat digunakan pada data berdimensi tinggi atau non-linear (Rakse & Shukla, 2010).

Selain itu dalam penerapannya SVM memiliki beberapa fungsi kernel yang dapat disesuaikan dengan karakteristik data yang berbeda. Beberapa kernel tersebut adalah linear kernelfunction, polynomial kernel function, radial basis function dan

(2)

Berdasarkan paparan di atas, metode Support Vector Machines (SVM) diperkirakan dapat membagi data menjadi bentuk klasifikasi yang optimum, sehingga akan menghasilkan kinerja yang lebih baik dari metode k Nearest Neighbor (kNN) dan Naïve Bayes Classifier (NBC) dalam pengenalan email spam berbahasa Indonesia.

 

3.2 Desain Penelitian

Dalam pelaksanaannya, eksperimen ini dibagi ke dalam beberapa tahapan sebagai berikut:

1. Pre processing (persiapan dan pemrosesan data awal) 2. Ekstraksi ciri dan pembobotan

3. Pengenalan email 4. Analisis data

Adapun skema dari eksperimen ini secara keseluruhan digambarkan seperti berikut :

Gambar 7 Skema Eksperimen Testing Set Pre Processing Training Set Ekstraksi Ciri dan Pembobotan Analisis Data Pengenalan Email

(3)

3.3 Data dan Sumber Data

Data yang akan menjadi bahan penelitian dalah 2000 email yang bersumber dari email yahoo dan gmail. Jumlah training dan testing set masing-masing adalah 1000 email. Adapun rincian data yang digunakan dalam penelitian ini adalah sebagai berikut :

Tabel 2 Rincian Data yang Digunakan Dalam Penelitian

Email Jumlah Training set Spam 500 Ham 500 Testing set Spam 500 Ham 500 Total email 2000

Kriteria email yang disebut sebagai spam pada penelitian ini adalah sebagai berikut :

1. Email promosi yang menawarkan produk, software, e-book dan lain sebagainya yang tidak diinginkan pemilik email

2. Email dengan muatan pornografi

3. Email yang meminta pengguna untuk mengklik suatu link tertentu, tanpa ada kepentingan dari pihak pengguna atas link tersebut

(4)

4. Email yang menawarkan sesuatu yang menggiurkan seperti ajakan bisnis MLM, undian, uang kaget dan lain sebagainya

5. Email dengan muatan yang tidak sesuai dengan hukum yang berlaku seperti menawarkan join situs judi dan lain sebagainya

 

3.4 Pre - Processing

Pre-processing adalah pengolahan data asli sebelum diolah. Tujuan

dilakukannya pre-processing, diantaranya: - Menghilangkan noise

- Memperjelas features data - Memperkecil ukuran data

- Mengkonversi data asli agar diperoleh data yg sesuai kebutuhan

Pada penelitian ini, proses pre-processing dilakukan dengan langkah-langkah sebagai berikut :

- Menghilangkan semua tag HTML yang ada

- Menghilangkan stopwords, yaitu kata-kata yang tidak deskriptif yang dapat dibuang dalam pendekatan bag-of-words, contohnya adalah “yang”, “dan”, “di”, “dari” dan seterusnya.

- Case folding, yaitu mengubah semua huruf dalam dokumen menjadi huruf kecil. Hanya huruf ‘a’ sampai dengan ‘z’ yang diterima. Karakter selain huruf dihilangkan dan dianggap delimiter

(5)

- Melakukan word stemming, yaitu menghilangkan imbuhan pada kata sehingga didapat kata dasarnya saja.

Contoh email spam yang digunakan pada penelitian ini ditunjukkan pada gambar berikut :

  Gambar 8 Email Spam Sebelum Pre-Processing

  Gambar 9 Email Spam Hasil Pre-Processing

(6)

 

3.5 Ekstraksi Ciri dan Pembobotan

Email memiliki bagian terstruktur, diantaranya adalah sender, judul, konten,

dan attachment. Oleh karena penelitian ini adalah klasifikasi email spam berbahasa Indonesia yang berbasis konten, maka feature akan diekstrak dari bagian email berikut :

- Judul email

Judul email dapat merepresentasikan isi dari email. Selain itu, judul email biasanya mengandung kata-kata penting yang menunjukkan tema dari konten

email

- Konten email

Konten email merupakan bagian inti yang memuat materi penting dalam sebuah email.

Selain ekstraksi ciri, data akan melalui proses pembobotan untuk mengubah representasi data teks menjadi numerik dalam matriks. Teknik pembobotan yang digunakan adalah Tf-Idf Weighting. Metode ini digunakan karena paling baik dalam perolehan informasi (Basnur & Sensuse, 2011).

Proses ekstraksi ciri dan pembobotan pada eksperimen ini menggunakan matlab toolbox TMG GUI (Text to Term-Document Matrix Generator) berbasis

(7)

Panjang kata yang diproses diatur dengan minimal 3 huruf, sedangkan metode pembobotan yang digunakan adalah Term Frequency - Inverse Document Frequency (Tf-Idf).

  Gambar 10 Pengaturan Matlab Toolbox TMG GUI untuk Ekstraksi Ciri dan Pembobotan

Proses ekstraksi ciri menghasilkan data ciri berupa kamus data (wordlist) yang tersimpan pada variable dictionary. Ciri yang dihasilkan berjumlah 3537. Berikut

(8)

adalah tampilan hasil ekstraksi ciri, sedangkan rincian kamus data disertakan pada lampiran 3.

  Gambar 11 Kamus Data Hasil Ekstraksi Ciri

 

Proses pembobotan dengan tf-idf menghasilkan matriks A berukuran 3537 x 2000. Format matriks tersebut adalah berikut ini :

Di mana :

X11 X12 X13 X14 … X1z

X21 X22 X23 X24 … X2z

(9)

z = jumlah email yang diproses y = jumlah feature

Tampilan matriks A sebagai hasil dari pembobotan dengan tf-idf adalah sebagai berikut :

  Gambar 12 Hasil Pembobotan dengan Tf-Idf

(10)

3.7 Pengenalan Email

Proses selanjutnya di mana merupakan proses inti dari penelitian ini adalah pengenalan email. Tahap ini dibagi dua, yaitu fase training dan fase testing. Pada fase training, metode Support Vector Machines (SVM) k-Nearest Neighbor (kNN) dan Naïve Bayes Classifier (NBC) akan mempelajari pola-pola email spam dan ham dengan menggunakan 1000 data training set.

Sebelum masuk ke proses training dan testing, data pada matriks A perlu distandarisasi terlebih dahulu dengan cara mengatur nilai mean dan menyeragamkan deviasi standarnya. Pengaturan nilai mean dilakukan dengan perintah berikut ini :

>>All=full(A); >>mAll = mean(All);

Perintah tersebut menghasilkan nilai mean yang tersimpan dalam variable mAll berupa matriks berukuran 1x2000.

  Gambar 13 Matriks Nilai Mean

(11)

Sebelum menghitung deviasi standar, perlu dipastikan bahwa matriks All bertipe single atau double karena perintah std pada matlab hanya dapat memproses data dengan tipe tersebut. Standar deviasi dapat ditentukan dengan perintah berikut ini :

>>All = double (All); >>stdAll = std(All);

Variable stdAll merupakan deviasi standar yang berupa matriks berukuran 1x2000. Berikut adalah tampilannya :

  Gambar 14 Matriks Standar Deviasi

Standarisasi dapat dilakukan dengan mengurangi setiap data pada matriks ‘All’ dengan meannya, kemudian membagi hasilnya dengan deviasi standar-nya. Pada matlab dapat dilakukan dengan perintah seperti berikut :

(12)

Matriks pada variable All2 adalah hasil standarisasi yang berukuran 3537x2000. Adapun tampilannya adalah sebagai berikut :

  Gambar 15 Matriks hasil Standarisasi

Selanjutnya adalah proses pemisahan data. Data awal yang diekstrak adalah berjumlah 2000 email, sedangkan proses training menggunakan 1000 data sebagai

training set. 1000 data sisanya digunakan sebagai testing set. Oleh karena itu, perlu

dilakukan pemisahan data.

Training set yang digunakan diambil dari data ke-1 sampai data ke-1000.

Sedangkan testing set diambil dari data ke1001 sampai data ke-2000. Berikut adalah proses pemisahan data di mana variable “data2” yang dihasilkan merupakan data

(13)

>>b=full(All2);

>>data = b(1:end, 1:1000); >>test = b(1:end, 1001:end); >>data2 = full(data)';

>>test2 = full(test)';

Berikut adalah matriks “data2” sebagai data training yang berukuran 1000 x 3537 :

  Gambar 16 Representasi Data Training Dalam Matriks

 

Sedangkan matriks “test2” yang merupakan data testing berukuran 1000 x 3537 adalah sebagai berikut :

(14)

  Gambar 17 Representasi Data Testing Dalam Matriks

 

Proses training memerlukan kelas data sebagai acuan training. Pada eksperimen ini kelas data dibuat dalam variable “cat” yang merupakan matriks berukuran 1000x1. Baris ke-1 sampai baris ke-500 pada training set merupakan email

spam, sehingga bernilai 1, sedangkan baris ke-51 sampai baris ke 1000 merupakan email ham sehingga bernilai 0. Berikut adalah matriks “cat” :

(15)

  Gambar 18 Kelas Data Training

 

Proses training dan testing untuk metode Support Vector Machines (SVM) akan diselesaikan dengan Quadratic Programming yang merupakan linear kernel. Linear kernel pada SVM memiliki prinsip kerja yang sederhana dan lebih efektif dalam hal kecepatan pemrosesan baik untuk training maupun testing dibandingkan dengan kernel non-linear (Maji, Berg, & Malik, 2008).

Pola-pola hasil pembelajaran SVM tersimpan pada “svmStructs”, sedangkan hasil proses training yang merupakan kelas prediksi tersimpan dalam variable

“classes”. Berikut adalah perintah training dan testing untuk SVM :

>>options = optimset('maxiter', 100000);

>>svmStructs=svmtrain(data2,cat,'quadprog_opts' , options); >>classes = svmclassify(svmStructs,test2);

(16)

Hasil pengenalan SVM selengkapnya disertakan dalam lampiran 4. Berikut adalah tampilan matriks “classes” pada matlab variable editor yang merupakan hasil pengenalan SVM.

  Gambar 19 Kelas Prediksi SVM

 

Proses training dan testing untuk metode k Nearest Neighbor (kNN) diselesaikan dengan pengaturan K=1. Berikut adalah perintah untuk proses training dan testing KNN :

(17)

Hasil training kNN tersimpan pada variable “class”. Hasil selengkapnya

disertakan pada lampiran 5. Berikut adalah tampilan matriks ”class” yang merupakan kelas prediksi kNN :

  Gambar 20 Kelas Prediksi kNN

Metode terakhir pada eksperimen ini adalah Naïve Bayes Classifier (NBC). Pola hasil training dengan metode ini tersimpan pada “model” sedangkan kelas prediksi haril proses testing tersimpan pada “class_predict”. Berikut adalah perintah

training dan testing dengan NBC :

>> model=NaiveBayes.fit(data2,cat); >>class_predict=model.predict(test2);

(18)

Berikut adalah tampilan matriks “class_predict” yang merupakan kelas prediksi hasil training dengan NBC pada variable editor matlab, sementara data lengkapnya disertakan pada lampiran 6.

  Gambar 21 Kelas Prediksi NBC

 

3.8 Metode Analisis Data

Efektif adalah bisa membawa hasil atau ada efeknya. Sedangkan optimal dapat diartikan sebagai yang paling menguntungkan, ideal atau terbagus (Untara, 2013).

Untuk mengukur efektifitas kinerja Classifier, digunakan tiga proses perhitungan sebagai evaluasi, yaitu recall, precision, dan f-measure. Tiga parameter tersebut selanjutnya akan menjadi bahan perbandingan metode Support Vector

(19)

sehingga dapat disimpulkan metode mana yang paling optimal dalam mengenali

email spam maupun email ham. Untuk menghitung ketiga parameter tersebut,

diperlukan data sebagai berikut :

ns : jumlah spam nh : jumlah ham

ns→s : jumlah spam yang benar dikenali sebagai spam ns→h : jumlah spam yang dikenali sebagai ham

nh→h : jumlah ham yang benar dikenali sebagaiham nh→s : jumlah ham yang dikenali sebagai spam

1. Recall

Recall adalah rasio jumlah dokumen relevan yang ditemukan kembali dengan

total jumlah dokumen dalam kumpulan dokumen yang dianggap relevan. Pada penelitian ini penghitungan recall akan dibagi menjadi 2 yaitu recall spam dan recall

ham. Recall spam adalah presentasi spam yang benar dikenali sebagai spam

dibanding total spam sebenarnya. Sedangkan recall ham adalah presentasi ham yang benar dikenali sebagai ham dibanding total ham sebenarnya.

(20)

2. Precision

Precision mengindikasikan kualitas himpunan jawaban, tetapi tidak

memandang total jumlah dokumen yang relevan dalam kumpulan dokumen. Pada penelitian ini penghitungan precision akan dibagi menjadi 2 yaitu precision spam dan

precision ham. Precision spam adalah presentase spam yang benar dikenali sebagai spam dari seluruh dokumen yang dikenali sebagai spam. Sedangkan precision ham

adalah presentase ham yang benar dikenali sebagai ham dari seluruh dokumen yang dikenali sebagai ham.

Rumus perhitungan precision spam dan precision ham adalah sebagai berikut :

3. F-measure

F-measure adalah harmonic mean dari precision dan recall. Pada penelitian

(21)

ham. Persamaan perhitungan f-measure spam dan f-measure ham adalah sebagai berikut : 2 x x Precion 2 x x Precion    

3.9 Lingkungan Penelitian

Rincian untuk lingkungan penelitian ini adalah sebagai berikut : 1. Hardware, Personal Computer dengan spesifikasi :

Hardisk 320 GB, processor Intel LGA775 Core 2 Duo 2.93 Ghz, RAM 2 GB,

Monitor dengan resoluri 1280 x 800 px, Mouse, Keyboard

2. Software :

MATLAB versi 7.8  

Gambar

Gambar 7 Skema Eksperimen
Tabel 2 Rincian Data yang Digunakan Dalam Penelitian

Referensi

Dokumen terkait

Rajah 1 menunjukkan pengumuman PKP secara keseluruhannya telah memberi kesan yang signifikan terhadap sektor penjagaan kesihatan bermula hari ke-10 sebelum pengumuman sehingga

1 Setiap bangunan harus dilengkapi dengan sarana jalan ke luar dan kelengkapan lainnya untuk menjamin penyelamatan segera dari penghuni atau sarana lain yang menjamin tingkat

Dalam rangka meningkatkan kualitas hidup dan kehidupan masyarakat, pemerintah daerah berupaya untuk meningkatkan kualitas penduduk, perlindungan dan kesejahteraan

Atas PPh final Masa Pajak Januari 2021 tersebut Tuan N berhak memperoleh insentif PPh final ditanggung Pemerintah dengan cara menyampaikan laporan realisasi PPh

Komunikasi antara karyawan dengan atasan penting untuk diperhatikan. Hal ini kaitannya dengan situasi kenyamanan dalam bekerja, apabila karyawan merasa tertekan dalam bekerja

Prinsip kerja percobaan ini yaitu merangkai rangkaian kombina- sional dan komparator dari gerbang logika dasar dengan menggunakan IC 7408, IC 7432, dan IC 7485 dengan keluaran

Percobaan lapangan perlakuan mulsa sisa tanaman (batang jagung) dan strip penguat teras telah dilakukan pada usaha tani lahan kering di Sub DAS Solo Hulu dan

disusun draft deskripsi kerja yang baru, sesuai dengan struktur organisasi yang baru pula. Oleh karena itu, proses ini baru dapat dimulai ketika