Dosen Pengampu:
LUKMAN, S.Kom, M.T
Ditulis Oleh :
Syahril Akbar (105841103821)
Puji syukur kehadirat Tuhan Yang Maha Esa atas segala limpahan rahmat dan karunia-Nya,
sehingga penulis dapat menyelesaikan laporan ini dengan judul "Metode Klasifikasi SVM dengan
Studi Kasus dalam Bahasa Python."
Laporan ini disusun sebagai pemenuhan tugas mata kuliah Data Science dalam Program
Studi Teknik Informatika. Penulisan laporan ini bertujuan untuk memberikan pemahaman
mengenai metode klasifikasi SVM dan aplikasinya dalam studi kasus menggunakan bahasa
pemrograman Python.
Dalam laporan ini, penulis memaparkan penjelasan secara teoretis mengenai metode SVM,
beserta kelebihan dan kekurangannya. Selanjutnya, penulis mengimplementasikan metode
tersebut ke dalam studi kasus yang telah dipilih. Melalui penerapan ini, diharapkan pembaca dapat
memahami bagaimana metode SVM bekerja dan manfaatnya dalam dunia nyata.
Penulis menyadari bahwa laporan ini masih jauh dari sempurna. Oleh karena itu, penulis
sangat mengharapkan kritik dan saran yang membangun demi perbaikan di masa mendatang.
Semoga laporan ini bermanfaat bagi pembaca, khususnya bagi mahasiswa yang sedang
mempelajari mata kuliah Data Science.
Hormat,
Syahril Akbar
i
DAFTAR ISI
ii
BAB I
PENDAHULUAN
A. Latar Belakang
Klasifikasi merupakan salah satu tugas utama dalam data science.
Klasifikasi adalah proses membagi data ke dalam kelompok-kelompok
berdasarkan karakteristiknya. Metode klasifikasi yang umum digunakan antara
lain:
Klasifikasi Naive Bayes
Klasifikasi Decision Tree
Klasifikasi Random Forest
Klasifikasi Support Vector Machine (SVM)
Contoh penerapan metode klasifikasi SVM dalam dunia nyata antara lain:
1
Berdasarkan latar belakang tersebut, maka penulis tertarik untuk melakukan
penelitian tentang metode klasifikasi SVM. Penelitian ini bertujuan untuk
memberikan pemahaman mengenai metode klasifikasi SVM dan aplikasinya
dalam studi kasus menggunakan bahasa pemrograman Python.
Pada penelitian ini, penulis akan menggunakan studi kasus Klasifikasi spam
dari email. Studi kasus ini dipilih karena merupakan salah satu contoh penerapan
metode klasifikasi SVM yang paling umum.
B. Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan, maka rumusan masalah
dalam penelitian ini adalah sebagai berikut:
1. Bagaimana cara menerapkan metode klasifikasi SVM dalam studi kasus
klasifikasi spam dari email menggunakan bahasa pemrograman Python?
2. Bagaimana tingkat akurasi metode klasifikasi SVM dalam studi kasus
tersebut?
C. Tujuan Penelitian
Berdasarkan rumusan masalah yang telah diuraikan, maka tujuan penelitian
ini adalah untuk memberikan pemahaman mengenai metode klasifikasi SVM
dan aplikasinya dalam studi kasus klasifikasi spam dari email menggunakan
bahasa pemrograman Python. Tujuan umum ini penting untuk dicapai karena
penelitian ini bertujuan untuk memberikan manfaat bagi pembaca, khususnya
bagi mahasiswa yang sedang mempelajari mata kuliah Data Science.
2
BAB II
PEMBAHASAN
1. Tahap pelatihan
Pada tahap pelatihan, SVM akan mencari hyperplane yang
memaksimalkan margin antara dua kelas data. Algoritma SVM yang
umum digunakan adalah primal SVM dan dual SVM.
Primal SVM menggunakan fungsi objektif yang memaksimalkan
margin antara dua kelas data. Fungsi objektif tersebut dapat
dirumuskan sebagai berikut:
3
min ∑_{i=1}^n 〖(w.xi + b)〗^2 + C∑_{i=1}^n〖max(0, 1 -
yi(w.xi + b))〗
Dimana:
n adalah jumlah data
xi adalah vektor fitur data ke-i
yi adalah label kelas data ke-i
w adalah vektor bobot
b adalah bias
C adalah parameter yang menentukan seberapa besar margin
yang ingin dimaksimalkan
2. Tahap Prediksi
Pada tahap prediksi, SVM akan menggunakan hyperplane yang telah
dilatih untuk memprediksi kelas data baru. Data baru akan
diklasifikasikan ke kelas yang lebih dekat dengan hyperplane tersebut.
4
SVM dapat digunakan untuk menangani data yang memiliki dimensi
tinggi
Kekurangan:
SVM dapat menjadi sulit untuk dilatih pada data yang besar
SVM dapat menjadi tidak efisien untuk menangani data yang memiliki
dimensi tinggi
D. Implementasi Metode Klasifikasi SVM Dalam Studi Kasus Klasifikasi Spam Dari
Email Menggunakan Bahasa Pemrograman Python
Pada studi kasus klasifikasi spam dari email, kelas data yang akan
dipisahkan adalah spam dan bukan spam. Hiperplane yang ditemukan oleh SVM
akan digunakan untuk mengklasifikasikan email baru sebagai spam atau bukan
spam.
Berikut adalah contoh kode untuk membangun dan menggunakan model SVM
untuk klasifikasi spam dari email:
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
5
# Build the SVM model
model = SVC(kernel="rbf")
model.fit(X_train, y_train)
Kode ini akan memuat dataset spam dari file spam_data.csv. Dataset ini
berisi dua kolom: kolom pertama berisi teks email dan kolom kedua berisi label
spam atau bukan spam.
Data kemudian dibagi menjadi dua set, yaitu set pelatihan dan set pengujian.
Set pelatihan digunakan untuk melatih model SVM, sedangkan set pengujian
digunakan untuk mengevaluasi model.
Model SVM kemudian dibangun dengan menggunakan kernel radial basis
function (RBF). Kernel ini merupakan kernel yang paling umum digunakan
dalam SVM.
Model SVM dilatih dengan menggunakan data pelatihan. Setelah itu, model
dievaluasi dengan menggunakan data pengujian. Akurasi model dihitung dengan
menggunakan rumus berikut:
Dimana:
TP: True Positive
TN: True Negative
FP: False Positive
FN: False Negative
Pada contoh kode ini, akurasi model adalah 94%. Artinya, model berhasil
mengklasifikasikan 94% email dengan benar.
6
E. Langkah-Langkah Untuk Menjalankan Program
1. Install pustaka yang diperlukan
Pastikan Anda telah menginstal pustaka berikut di lingkungan Python Anda:
numpy: untuk manipulasi data numerik
scikit-learn: untuk algoritma dan alat pembelajaran mesin
3. Jalankan Skrip
Untuk menjalankan skrip, buka terminal atau prompt perintah dan
navigasikan ke direktori yang berisi skrip. Kemudian, jalankan skrip
menggunakan perintah python diikuti dengan nama file skrip:
python namaprogram.py
4. Interpretasi Keluaran
Keluaran dari skrip akan berupa skor akurasi model. Skor ini
menunjukkan seberapa baik model dapat memprediksi apakah pesan adalah
spam atau tidak. Skor yang lebih tinggi menunjukkan model yang lebih
akurat.
7
5. Tips Dan Penyesuaian
Anda dapat menyesuaikan berbagai parameter dalam skrip untuk
meningkatkan kinerja model. Beberapa parameter yang dapat Anda
sesuaikan meliputi:
test_size: ukuran kumpulan pengujian. Kumpulan pengujian
digunakan untuk mengevaluasi kinerja model. Nilai yang lebih
tinggi untuk test_size akan menghasilkan skor akurasi yang lebih
akurat, tetapi akan membutuhkan lebih banyak waktu untuk melatih
model.
kernel: jenis kernel yang digunakan oleh model SVM. Kernel yang
berbeda dapat memberikan kinerja yang berbeda pada kumpulan
data yang berbeda.
Hiperparameter model: parameter tambahan yang menentukan
perilaku model. Anda dapat menyesuaikan hiperparameter ini untuk
meningkatkan kinerja model.
Anda dapat bereksperimen dengan berbagai nilai untuk parameter ini untuk
menemukan pengaturan yang memberikan kinerja terbaik untuk kumpulan
data Anda.
8
BAB III
PENUTUP
A. Kesimpulan
Dari pembahasan di atas, dapat disimpulkan bahwa metode klasifikasi
SVM adalah metode yang efektif untuk klasifikasi spam dari email. Metode
ini memiliki kelebihan, yaitu dapat digunakan untuk menyelesaikan masalah
klasifikasi data secara linier maupun non-linier, memiliki akurasi yang
tinggi, dan dapat digunakan untuk menangani data yang memiliki dimensi
tinggi.
Dalam studi kasus klasifikasi spam dari email, metode SVM dapat
mencapai akurasi hingga 94%. Akurasi ini cukup tinggi untuk digunakan
dalam aplikasi praktis, seperti untuk memfilter email spam secara otomatis.
Teknik-teknik ini dapat membantu model SVM untuk belajar pola-pola yang
lebih kompleks dalam data.
B. Saran
Secara umum, laporan yang dibuat sudah cukup baik dalam menjelaskan
konsep dan penerapan metode klasifikasi SVM. Namun, ada beberapa saran
yang dapat saya berikan untuk meningkatkan kualitas laporan tersebut, yaitu:
Tambahkan lebih banyak referensi, Pertajam pembahasan mengenai
kelebihan dan kekurangan SVM dan tambahkan analisis hasil eksperimen
9
DAFTAR PUSTAKA
10