• About
  • advertise
  • Privacy & Policy
  • Contact Us
Minggu, Maret 15, 2026
  • Login
  • Berita
  • Daerah
    • All
    • Aceh Barat
    • Aceh Besar
    • Aceh Selatan
    • Aceh Singkil
    • Aceh Tengah
    • Aceh Utara
    • Banda Aceh
    • Gayoe Lues
    • Nagan Raya
    • Sabang

    Dari Tempat Suluk Hingga Disabilitas Berat, Yahdi Hasan Salurkan Bantuan Gubernur Aceh

    Bank Aceh Salurkan Zakat Karyawan Rp1,43 Miliar Melalui Baitul Mal

    Bank Aceh Salurkan Zakat Karyawan Rp1,43 Miliar Melalui Baitul Mal

    THR 41.410 ASN Pemerintah Aceh Mulai Dicairkan, Total Capai Rp205,7 Miliar

    THR 41.410 ASN Pemerintah Aceh Mulai Dicairkan, Total Capai Rp205,7 Miliar

    Wagub Aceh Buka Puasa Bersama Masyarakat Teupin Raya

    Wagub Aceh Buka Puasa Bersama Masyarakat Teupin Raya

    Buka Puasa di Rumah Dinas Sekda Aceh Berlangsung Hangat, Gubernur Mualem dan Wakapolda Turut Hadir

    Buka Puasa di Rumah Dinas Sekda Aceh Berlangsung Hangat, Gubernur Mualem dan Wakapolda Turut Hadir

    Sekda Aceh Didampingi Bupati Aceh Barat Tinjau Gedung RS Regional Meulaboh

    Sekda Aceh Didampingi Bupati Aceh Barat Tinjau Gedung RS Regional Meulaboh

    Sekda Aceh Tinjau Gerakan Pangan Murah di Meulaboh, Pastikan Stabilitas Harga Pangan Selama Ramadan

    Sekda Aceh Tinjau Gerakan Pangan Murah di Meulaboh, Pastikan Stabilitas Harga Pangan Selama Ramadan

    Kepemimpinan Mualem Di KONI Jadi Titik Balik Prestasi Olahraga Aceh

    Kepemimpinan Mualem Di KONI Jadi Titik Balik Prestasi Olahraga Aceh

    Mendagri, Mensos, Gubernur, Wagub serta Forkopimda Aceh Buka Puasa Bersama di Masjid Raya Baiturrahman

    Mendagri, Mensos, Gubernur, Wagub serta Forkopimda Aceh Buka Puasa Bersama di Masjid Raya Baiturrahman

    • Banda Aceh
    • Aceh Barat
    • Aceh Barat Daya
    • Aceh Besar
    • Aceh Jaya
    • Aceh Selatan
    • Aceh Singkil
    • Aceh Tamiang
    • Aceh Tengah
    • Aceh Utara
    • Pidie
    • Sabang
    • Simeulue
    • Subulussalam
  • Nasional
  • Internasional
  • Teknologi
  • Pendidikan
  • Hukum
  • Sosial Kemanusian
    Mendagri, Mensos, Gubernur, Wagub serta Forkopimda Aceh Buka Puasa Bersama di Masjid Raya Baiturrahman

    Mendagri, Mensos, Gubernur, Wagub serta Forkopimda Aceh Buka Puasa Bersama di Masjid Raya Baiturrahman

    Wagub Aceh Dampingi Mendagri dan Mensos Tinjau Huntara serta Serahkan Bantuan Korban Bencana di Pidie Jaya

    Wagub Aceh Dampingi Mendagri dan Mensos Tinjau Huntara serta Serahkan Bantuan Korban Bencana di Pidie Jaya

    Wagub Fadhlullah : TPID harus Perkuat Sinergi Jaga Stabilitas Harga

    Wagub Fadhlullah : TPID harus Perkuat Sinergi Jaga Stabilitas Harga

    Wagub Aceh : Bantuan Rumah Rusak Bukti Nyata Negara Hadir untuk Rakyat

    Wagub Aceh : Bantuan Rumah Rusak Bukti Nyata Negara Hadir untuk Rakyat

    Tak Kenal Lelah, Bunda Salma Hadir di Huntara Aceh Utara: Menyulam Harapan dan Berbagi Kasih di Tengah Luka Bencana

    Tak Kenal Lelah, Bunda Salma Hadir di Huntara Aceh Utara: Menyulam Harapan dan Berbagi Kasih di Tengah Luka Bencana

    Hadiri Rapat Satgas, Wagub Fadhlullah Tekankan Efektivitas Rehab-Rekon

    Hadiri Rapat Satgas, Wagub Fadhlullah Tekankan Efektivitas Rehab-Rekon

    Pemerintah Aceh Luncurkan Dashboard Peta Aksi dan Partisipasi Masyarakat untuk Penanggulangan Bencana

    Pemerintah Aceh Luncurkan Dashboard Peta Aksi dan Partisipasi Masyarakat untuk Penanggulangan Bencana

    Pemerintah Aceh Lepas Tim Safari Ramadhan, Fokus Pemulihan Psikososial di Wilayah Terdampak Bencana

    Pemerintah Aceh Lepas Tim Safari Ramadhan, Fokus Pemulihan Psikososial di Wilayah Terdampak Bencana

    Wagub Fadhlullah Hadiri Rakor Kemendagri, Pastikan Aceh Siap Sukseskan Program 3 Juta Rumah

    Wagub Fadhlullah Hadiri Rakor Kemendagri, Pastikan Aceh Siap Sukseskan Program 3 Juta Rumah

  • Ekonomi
No Result
View All Result
Kutarajapost - Berita Aceh dan Nasional
Advertisement
  • Berita
  • Daerah
    • All
    • Aceh Barat
    • Aceh Besar
    • Aceh Selatan
    • Aceh Singkil
    • Aceh Tengah
    • Aceh Utara
    • Banda Aceh
    • Gayoe Lues
    • Nagan Raya
    • Sabang

    Dari Tempat Suluk Hingga Disabilitas Berat, Yahdi Hasan Salurkan Bantuan Gubernur Aceh

    Bank Aceh Salurkan Zakat Karyawan Rp1,43 Miliar Melalui Baitul Mal

    Bank Aceh Salurkan Zakat Karyawan Rp1,43 Miliar Melalui Baitul Mal

    THR 41.410 ASN Pemerintah Aceh Mulai Dicairkan, Total Capai Rp205,7 Miliar

    THR 41.410 ASN Pemerintah Aceh Mulai Dicairkan, Total Capai Rp205,7 Miliar

    Wagub Aceh Buka Puasa Bersama Masyarakat Teupin Raya

    Wagub Aceh Buka Puasa Bersama Masyarakat Teupin Raya

    Buka Puasa di Rumah Dinas Sekda Aceh Berlangsung Hangat, Gubernur Mualem dan Wakapolda Turut Hadir

    Buka Puasa di Rumah Dinas Sekda Aceh Berlangsung Hangat, Gubernur Mualem dan Wakapolda Turut Hadir

    Sekda Aceh Didampingi Bupati Aceh Barat Tinjau Gedung RS Regional Meulaboh

    Sekda Aceh Didampingi Bupati Aceh Barat Tinjau Gedung RS Regional Meulaboh

    Sekda Aceh Tinjau Gerakan Pangan Murah di Meulaboh, Pastikan Stabilitas Harga Pangan Selama Ramadan

    Sekda Aceh Tinjau Gerakan Pangan Murah di Meulaboh, Pastikan Stabilitas Harga Pangan Selama Ramadan

    Kepemimpinan Mualem Di KONI Jadi Titik Balik Prestasi Olahraga Aceh

    Kepemimpinan Mualem Di KONI Jadi Titik Balik Prestasi Olahraga Aceh

    Mendagri, Mensos, Gubernur, Wagub serta Forkopimda Aceh Buka Puasa Bersama di Masjid Raya Baiturrahman

    Mendagri, Mensos, Gubernur, Wagub serta Forkopimda Aceh Buka Puasa Bersama di Masjid Raya Baiturrahman

    • Banda Aceh
    • Aceh Barat
    • Aceh Barat Daya
    • Aceh Besar
    • Aceh Jaya
    • Aceh Selatan
    • Aceh Singkil
    • Aceh Tamiang
    • Aceh Tengah
    • Aceh Utara
    • Pidie
    • Sabang
    • Simeulue
    • Subulussalam
  • Nasional
  • Internasional
  • Teknologi
  • Pendidikan
  • Hukum
  • Sosial Kemanusian
    Mendagri, Mensos, Gubernur, Wagub serta Forkopimda Aceh Buka Puasa Bersama di Masjid Raya Baiturrahman

    Mendagri, Mensos, Gubernur, Wagub serta Forkopimda Aceh Buka Puasa Bersama di Masjid Raya Baiturrahman

    Wagub Aceh Dampingi Mendagri dan Mensos Tinjau Huntara serta Serahkan Bantuan Korban Bencana di Pidie Jaya

    Wagub Aceh Dampingi Mendagri dan Mensos Tinjau Huntara serta Serahkan Bantuan Korban Bencana di Pidie Jaya

    Wagub Fadhlullah : TPID harus Perkuat Sinergi Jaga Stabilitas Harga

    Wagub Fadhlullah : TPID harus Perkuat Sinergi Jaga Stabilitas Harga

    Wagub Aceh : Bantuan Rumah Rusak Bukti Nyata Negara Hadir untuk Rakyat

    Wagub Aceh : Bantuan Rumah Rusak Bukti Nyata Negara Hadir untuk Rakyat

    Tak Kenal Lelah, Bunda Salma Hadir di Huntara Aceh Utara: Menyulam Harapan dan Berbagi Kasih di Tengah Luka Bencana

    Tak Kenal Lelah, Bunda Salma Hadir di Huntara Aceh Utara: Menyulam Harapan dan Berbagi Kasih di Tengah Luka Bencana

    Hadiri Rapat Satgas, Wagub Fadhlullah Tekankan Efektivitas Rehab-Rekon

    Hadiri Rapat Satgas, Wagub Fadhlullah Tekankan Efektivitas Rehab-Rekon

    Pemerintah Aceh Luncurkan Dashboard Peta Aksi dan Partisipasi Masyarakat untuk Penanggulangan Bencana

    Pemerintah Aceh Luncurkan Dashboard Peta Aksi dan Partisipasi Masyarakat untuk Penanggulangan Bencana

    Pemerintah Aceh Lepas Tim Safari Ramadhan, Fokus Pemulihan Psikososial di Wilayah Terdampak Bencana

    Pemerintah Aceh Lepas Tim Safari Ramadhan, Fokus Pemulihan Psikososial di Wilayah Terdampak Bencana

    Wagub Fadhlullah Hadiri Rakor Kemendagri, Pastikan Aceh Siap Sukseskan Program 3 Juta Rumah

    Wagub Fadhlullah Hadiri Rakor Kemendagri, Pastikan Aceh Siap Sukseskan Program 3 Juta Rumah

  • Ekonomi
No Result
View All Result
Kutarajapost - Berita Aceh dan Nasional
No Result
View All Result
Home Internasional

Cara Membuat Detektor Email Spam dengan Python dan Naive Bayes Classifier

by Jimmy Maulana
14/03/2026
in Internasional
0
153
SHARES
1.9k
VIEWS
Share on FacebookShare on Twitterkutarajapost.com

Cara Membuat Detektor Email Spam

Pernahkah Anda bertanya-tanya bagaimana Gmail tahu bahwa email yang menjanjikan $10 juta adalah spam? Atau bagaimana cara menangkap pesan “Anda memenangkan iPhone gratis!” sebelum mencapai inbox Anda?

Dalam tutorial ini, Anda akan membuat classifier email spam sendiri dari awal menggunakan algoritma Naive Bayes. Pada akhirnya, Anda akan memiliki model yang berfungsi dengan akurasi lebih dari 97%—dan Anda akan memahami dengan tepat bagaimana cara kerjanya.

Apa yang Akan Anda Pelajari

  • Bagaimana filter spam email sebenarnya bekerja
  • Intuisi di balik algoritma Naïve Bayes
  • Teknik preprocessing teks untuk machine learning
  • Cara mengevaluasi model klasifikasi
  • Membangun pipeline deteksi spam lengkap dengan Python

Prasyarat

Anda harus memiliki pemahaman dasar tentang Python dan beberapa pemahaman tentang konsep fundamental machine learning. Jangan khawatir jika Anda masih belajar—saya akan menjelaskan semuanya seiring berjalannya waktu.

Mengapa Naive Bayes untuk Deteksi Spam?

Sebelum kita menyelami kode, mari pahami mengapa Naive Bayes sangat cocok untuk tugas ini.

Bayangkan Anda menerima email yang berisi kata-kata seperti “gratis,” “pemenang,” “klik di sini,” dan “penawaran waktu terbatas.” Otak Anda langsung menandai ini sebagai mencurigakan. Algoritma Naive Bayes melakukan sesuatu yang serupa—algoritma ini menghitung probabilitas bahwa sebuah email adalah spam berdasarkan kata-kata yang dikandungnya.

Algoritma ini disebut “naive” (naif) karena membuat asumsi penyederhanaan: memperlakukan setiap kata sebagai independen dari kata lainnya. Pada kenyataannya, kombinasi kata penting (pikirkan “uji coba gratis” vs “uang gratis”), tetapi penyederhanaan ini bekerja dengan sangat baik dalam praktik.

Mengapa Memilih Naive Bayes?

  • Kecepatan: Melatih dengan sangat cepat, bahkan pada dataset besar
  • Efisiensi: Membutuhkan data pelatihan minimal untuk menghasilkan hasil yang andal
  • Kesederhanaan: Mudah diimplementasikan dan diinterpretasikan
  • Performa: Meskipun sederhana, sering mengungguli algoritma yang lebih kompleks untuk klasifikasi teks

Menyiapkan Lingkungan

Pertama, instal library yang diperlukan:

%pip install regex wordcloud numpy pandas seaborn matplotlib scikit-learn

Berikut ringkasan singkat tentang apa yang dilakukan setiap library:

  • regex / re — untuk membersihkan teks menggunakan pencocokan pola
  • wordcloud — untuk memvisualisasikan kata-kata yang paling sering muncul
  • numpy & pandas — untuk pemuatan dan manipulasi data
  • seaborn & matplotlib — untuk bagan dan visualisasi
  • scikit-learn — menyediakan classifier Naive Bayes, vectorizer, dan alat evaluasi

Setelah instalasi selesai, impor semua library:

# Manipulasi dan analisis data
import pandas as pd
import numpy as np

# Visualisasi data
import seaborn as sns
import matplotlib.pyplot as plt

# Pemrosesan bahasa alami
import nltk
import re
from nltk.corpus import stopwords

# Machine learning
from sklearn.naive_bayes import MultinomialNB
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics import classification_report, confusion_matrix, accuracy_score

# Visualisasi word cloud
from wordcloud import WordCloud

Memuat dan Menjelajahi Dataset

Kami akan menggunakan dataset email yang berlabel. Anda dapat mengunduhnya dari Kaggle.

message_dataset = pd.read_csv('emails.csv')
message_dataset.head()

Dataset berisi 5.728 email dengan dua kolom: text (konten email) dan spam (1 untuk spam, 0 untuk email yang sah).

Memvisualisasikan Distribusi Data

plt.rcParams["figure.figsize"] = [8, 10]
message_dataset.spam.value_counts().plot(kind="pie", autopct="%1.0f%%")

Distribusi Data Spam

Sekitar 24% email dalam dataset adalah spam, sementara 76% adalah email sah.

Menganalisis Pola Kata dengan Word Clouds

stop = stopwords.words("english")

message_dataset["text_without_sw"] = message_dataset["text"].apply(
    lambda x: " ".join([item for item in x.split() if item not in stop])
)

Word Cloud Email Spam:

Word Cloud Email Spam

Word Cloud Email Sah:

Word Cloud Email Sah

Observasi Utama:

  • Email spam: “free,” “money,” “offer,” “click,” “please”
  • Email sah: “company,” “time,” “thanks”

Preprocessing Data Teks

def clean_text(doc):
    document = re.sub('[^a-zA-Z]', ' ', doc)
    document = re.sub(r'\s+[a-zA-Z]\s+', ' ', document)
    document = re.sub(r'\s+', ' ', document)
    return document

Mengonversi Teks ke Fitur Numerik

Kita menggunakan TF-IDF (Term Frequency-Inverse Document Frequency):

vectorizer = TfidfVectorizer(
    max_features=2500,
    min_df=5,
    max_df=0.7,
    stop_words=stopwords.words('english')
)

X = vectorizer.fit_transform(X_sentences).toarray()

Melatih Classifier Naive Bayes

X_train, X_test, y_train, y_test = train_test_split(
    X, y,
    test_size=0.20,
    random_state=42
)

spam_detector = MultinomialNB()
spam_detector.fit(X_train, y_train)

Evaluasi Performa Model

y_pred = spam_detector.predict(X_test)

print(confusion_matrix(y_test, y_pred))
print(classification_report(y_test, y_pred))
print(accuracy_score(y_test, y_pred))

Hasil:

Akurasi Model: 97.82%

Predicted: Sah Predicted: Spam
Actual: Sah 849 (TN) 7 (FP)
Actual: Spam 18 (FN) 272 (TP)

Menguji Email Individual

print(spam_detector.predict(vectorizer.transform([X_sentences[56]])))

Output: [1] ✅ Model dengan benar mengidentifikasi email promosi sebagai SPAM!

Kesimpulan

Anda telah membangun classifier email spam yang mencapai lebih dari 97% akurasi menggunakan algoritma Naïve Bayes. Di sepanjang jalan, Anda belajar tentang:

  • ✅ Preprocessing teks
  • ✅ Ekstraksi fitur dengan TF-IDF
  • ✅ Teknik evaluasi model

Langkah Selanjutnya

  • Bereksperimen dengan vectorizer berbeda: Coba CountVectorizer atau word embeddings (Word2Vec, GloVe)
  • Tangani ketidakseimbangan kelas: Gunakan teknik seperti SMOTE atau sesuaikan class weights
  • Feature engineering: Tambahkan fitur seperti panjang email, jumlah link, atau domain pengirim
  • Coba algoritma lain: Bandingkan dengan SVM, Random Forest, atau gradient boosting
  • Deploy model: Bangun API sederhana menggunakan Flask atau FastAPI

Sumber: freeCodeCamp – Diterjemahkan ke Bahasa Indonesia

Jimmy Maulana

Jimmy Maulana

Penulis dan wartawan yang konsisten mengangkat isu sosial, pembangunan daerah, dan dinamika kebijakan publik dengan pendekatan naratif yang kuat serta berbasis data.Bagi saya Menulis adalah medium tanggung jawab sosial sebuah ruang untuk membangun kesadaran publik dan mendorong perbaikan sistem secara konstruktif.

Related Posts

Pemimpin Tertinggi Baru Iran Terluka di Awal Perang, Kata Pejabat Iran dan Israel

by Jimmy Maulana
2 hari ago
0
1.9k

Sebuah unjuk rasa dukungan untuk pemimpin baru Iran, Mojtaba Khamenei, di Teheran pada hari Senin. (Kredit: Arash Khamooshi untuk The...

Eksklusif: Arab Saudi Siapkan Kesepakatan Besar untuk Senjata Ukraina di Tengah Ancaman Drone Iran

by Jimmy Maulana
2 hari ago
0
1.9k

Sebuah truk pick-up Zamyad membawa drone Shahed 136 buatan Iran selama parade di pusat kota Teheran, Iran, pada 10 Januari...

Perang Iran Dongkrak Pendapatan Minyak Rusia, Mengaburkan Pembicaraan Damai Ukraina

by Jimmy Maulana
1 minggu ago
0
1.9k

Kutarajapost.com — Penutupan efektif Selat Hormuz oleh Iran, yang menangani sekitar 20% konsumsi minyak dunia, telah mendorong harga energi melonjak...

Cara Berbicara dengan Anak-anak tentang Konflik dan Perang Setelah Serangan Iran

by Jimmy Maulana
2 minggu ago
0
1.9k

JAKARTA - Mengikuti pengumuman Presiden Donald Trump tentang "operasi tempur besar" terhadap Iran pada hari Sabtu, serangan terus berlanjut di...

Iran Bersumpah Balas Dendam dan Saling Serang dengan Israel Saat Perang Meluas

by Jimmy Maulana
2 minggu ago
0
1.9k

TEHERAN - Iran bersumpah untuk membalas dendam dan terus saling melancarkan serangan dengan Israel saat konflik di Timur Tengah semakin...

Tiga Kapal Diserang di Dekat Selat Hormuz, Harga Minyak Global Menguat

by Jimmy Maulana
2 minggu ago
0
1.9k

TEHERAN - Sedikitnya tiga kapal telah diserang di dekat Selat Hormuz, saat Iran terus melancarkan serangan di seluruh Timur Tengah...

Next Post

Dari Tempat Suluk Hingga Disabilitas Berat, Yahdi Hasan Salurkan Bantuan Gubernur Aceh

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

I agree to the Terms & Conditions and Privacy Policy.

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses

Recent News

Dari Tempat Suluk Hingga Disabilitas Berat, Yahdi Hasan Salurkan Bantuan Gubernur Aceh

14/03/2026

Cara Membuat Detektor Email Spam dengan Python dan Naive Bayes Classifier

14/03/2026

Dinsos Aceh: Distribusi Logistik Penanganan Bencana Capai 925.193 Ton

14/03/2026
  • Pembukaan-Rekrutmen-SDM-Berpengalaman-Special-Hire-dan-Tenaga-Kerja-PKWT-Bank-Indonesia-2024-2025

    Lowongan Rekrutmen Bank Indonesia 2024: Special Hire dan PKWT Terbaru

    842 shares
    Share 337 Tweet 211
  • Cara Mengatur Ukuran Logo di Word dengan Mudah

    177 shares
    Share 70 Tweet 44
  • Daftar Smelter Nikel di Indonesia

    169 shares
    Share 67 Tweet 42
  • Cara Menghubungi Call Center BSI dengan Mudah

    169 shares
    Share 67 Tweet 42
  • UMMAH Gandeng BrainScience Academy Malaysia Riset Keterlambatan Bicara Anak

    167 shares
    Share 66 Tweet 41
Kutarajapost - Berita Aceh dan Nasional

  • About
  • advertise
  • Privacy & Policy
  • Contact Us

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • Berita
  • Daerah
    • Banda Aceh
    • Aceh Barat
    • Aceh Barat Daya
    • Aceh Besar
    • Aceh Jaya
    • Aceh Selatan
    • Aceh Singkil
    • Aceh Tamiang
    • Aceh Tengah
    • Aceh Utara
    • Pidie
    • Sabang
    • Simeulue
    • Subulussalam
  • Nasional
  • Internasional
  • Teknologi
  • Pendidikan
  • Hukum
  • Sosial Kemanusian
  • Ekonomi

This website uses cookies. By continuing to use this website you are giving consent to cookies being used. Visit our Privacy and Cookie Policy.