• About
  • Advertise
  • Privacy Policy
  • Contact
Rabu, November 11, 2026
  • Login
No Result
View All Result
YOUTUBE
Kutarajapost - Berita Aceh dan Nasional
  • Home
  • Daerah
    • All
    • Aceh Barat
    • Aceh Besar
    • Aceh Selatan
    • Aceh Singkil
    • Aceh Tengah
    • Aceh Utara
    • Banda Aceh
    • Bener Meriah
    • Gayoe Lues
    • Nagan Raya
    • Sabang
    • Subulussalam
    M Nasir Gagas Penataan Sumur Minyak Rakyat, Bakal Diatur Lewat Ingub Berbasis Koperasi

    M Nasir Gagas Penataan Sumur Minyak Rakyat, Bakal Diatur Lewat Ingub Berbasis Koperasi

    Grand Finalis Duta Siswa Indonesia 2026, Syafiqa Evania Sahla Mohon Dukungan

    Grand Finalis Duta Siswa Indonesia 2026, Syafiqa Evania Sahla Mohon Dukungan

    Wali Nanggroe Serukan Pengusutan Transparan dan Dialog Bermartabat Pascainsiden Tiro, Pidie

    Jumpa Presiden Prabowo, Mualem Bahas Keberlanjutan Dana Otsus dan Sejumlah Isu Strategis Aceh

    Jumpa Presiden Prabowo, Mualem Bahas Keberlanjutan Dana Otsus dan Sejumlah Isu Strategis Aceh

    Wagub Dek Fadh Perkuat Koordinasi Percepatan Penanganan Pascabencana

    Wagub Dek Fadh Perkuat Koordinasi Percepatan Penanganan Pascabencana

    Mualem Silaturahmi dengan Kapolri, Bahas Perdamaian dan Kondusivitas Aceh

    Mualem Silaturahmi dengan Kapolri, Bahas Perdamaian dan Kondusivitas Aceh

    Wagub Aceh Dampingi Mendagri Tinjau Dampak Bencana Banjir di Pidie jaya

    Wagub Aceh Dampingi Mendagri Tinjau Dampak Bencana Banjir di Pidie jaya

    Mualem–Dek Fadh Dorong Pusat Tuntaskan Tiga Persoalan Strategis Aceh: Dana Otsus, Bendera Aceh, dan Lapangan Blang Padang

    Mualem–Dek Fadh Dorong Pusat Tuntaskan Tiga Persoalan Strategis Aceh: Dana Otsus, Bendera Aceh, dan Lapangan Blang Padang

    Australia Dukung Penguatan Demokrasi di Aceh melalui Program Partisipasi

    Australia Dukung Penguatan Demokrasi di Aceh melalui Program Partisipasi

    • 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
  • Ekonomi
  • Olahraga
  • Opini
  • Lainnya
    • Teknologi
    • Pendidikan
    • Hukum
    • Sosial
    • Budaya & Gaya Hidup
  • Home
  • Daerah
    • All
    • Aceh Barat
    • Aceh Besar
    • Aceh Selatan
    • Aceh Singkil
    • Aceh Tengah
    • Aceh Utara
    • Banda Aceh
    • Bener Meriah
    • Gayoe Lues
    • Nagan Raya
    • Sabang
    • Subulussalam
    M Nasir Gagas Penataan Sumur Minyak Rakyat, Bakal Diatur Lewat Ingub Berbasis Koperasi

    M Nasir Gagas Penataan Sumur Minyak Rakyat, Bakal Diatur Lewat Ingub Berbasis Koperasi

    Grand Finalis Duta Siswa Indonesia 2026, Syafiqa Evania Sahla Mohon Dukungan

    Grand Finalis Duta Siswa Indonesia 2026, Syafiqa Evania Sahla Mohon Dukungan

    Wali Nanggroe Serukan Pengusutan Transparan dan Dialog Bermartabat Pascainsiden Tiro, Pidie

    Jumpa Presiden Prabowo, Mualem Bahas Keberlanjutan Dana Otsus dan Sejumlah Isu Strategis Aceh

    Jumpa Presiden Prabowo, Mualem Bahas Keberlanjutan Dana Otsus dan Sejumlah Isu Strategis Aceh

    Wagub Dek Fadh Perkuat Koordinasi Percepatan Penanganan Pascabencana

    Wagub Dek Fadh Perkuat Koordinasi Percepatan Penanganan Pascabencana

    Mualem Silaturahmi dengan Kapolri, Bahas Perdamaian dan Kondusivitas Aceh

    Mualem Silaturahmi dengan Kapolri, Bahas Perdamaian dan Kondusivitas Aceh

    Wagub Aceh Dampingi Mendagri Tinjau Dampak Bencana Banjir di Pidie jaya

    Wagub Aceh Dampingi Mendagri Tinjau Dampak Bencana Banjir di Pidie jaya

    Mualem–Dek Fadh Dorong Pusat Tuntaskan Tiga Persoalan Strategis Aceh: Dana Otsus, Bendera Aceh, dan Lapangan Blang Padang

    Mualem–Dek Fadh Dorong Pusat Tuntaskan Tiga Persoalan Strategis Aceh: Dana Otsus, Bendera Aceh, dan Lapangan Blang Padang

    Australia Dukung Penguatan Demokrasi di Aceh melalui Program Partisipasi

    Australia Dukung Penguatan Demokrasi di Aceh melalui Program Partisipasi

    • 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
  • Ekonomi
  • Olahraga
  • Opini
  • Lainnya
    • Teknologi
    • Pendidikan
    • Hukum
    • Sosial
    • Budaya & Gaya Hidup
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

Jimmy Maulana by Jimmy Maulana
in Internasional
0
160
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.

RelatedPosts

Australia Dukung Penguatan Demokrasi di Aceh melalui Program Partisipasi

Dari AcehX ke Project ATLAS, AI Singapore Jajaki Kolaborasi dengan DSAI-RC USK

Presiden Prabowo Sambut Kunjungan Sekjen PBB António Guterres di Hambalang

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: SahPredicted: Spam
Actual: Sah849 (TN)7 (FP)
Actual: Spam18 (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

Previous Post

Dinsos Aceh: Distribusi Logistik Penanganan Bencana Capai 925.193 Ton

Next Post

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

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

Australia Dukung Penguatan Demokrasi di Aceh melalui Program Partisipasi

Australia Dukung Penguatan Demokrasi di Aceh melalui Program Partisipasi

by Husni Anwar
05/11/2026
0

Banda Aceh – Pemerintah Australia bersama The Asia Foundation dan Gerakan Anti Korupsi (GeRAK) Aceh meluncurkan sosialisasi awal Program Partisipasi (The...

Dari AcehX ke Project ATLAS, AI Singapore Jajaki Kolaborasi dengan DSAI-RC USK

by Cut Husna Elmeira
08/11/2026
0

Kunjungan AI Singapore ke DSAI-RC USK membahas pengembangan AcehX, SEA-LION, dan integrasi dataset bahasa daerah Aceh ke Project ATLAS.

Presiden Prabowo Sambut Kunjungan Sekjen PBB António Guterres di Hambalang

Presiden Prabowo Sambut Kunjungan Sekjen PBB António Guterres di Hambalang

by Husni Anwar
19/10/2026
0

Bogor - Presiden Republik Indonesia Prabowo Subianto menerima kunjungan kerja Sekretaris Jenderal Perserikatan Bangsa-Bangsa (Sekjen PBB) António Guterres di kediaman...

BMKG Operasikan Radar Maritim di Aceh Besar, Pantau Laut hingga 150 Km

BMKG Operasikan Radar Maritim di Aceh Besar, Pantau Laut hingga 150 Km

by Husni Anwar
11/10/2026
0

Aceh Besar - Badan Meteorologi, Klimatologi, dan Geofisika (BMKG) meresmikan pengoperasian High Frequency (HF) Radar Array di Ujong Batee, Kabupaten...

Tiba di Istana untuk Bertemu Presiden Prabowo, Presiden FIFA Puji Indonesia sebagai Tuan Rumah Luar Biasa

Tiba di Istana untuk Bertemu Presiden Prabowo, Presiden FIFA Puji Indonesia sebagai Tuan Rumah Luar Biasa

by Husni Anwar
05/10/2026
0

Jakarta - Presiden Federasi Sepak Bola Internasional (FIFA) Gianni Infantino tiba di Kompleks Istana Kepresidenan, Jakarta, pada Senin, 5 Oktober...

Indonesia Pelajari Infrastruktur Publik Digital India untuk Perkuat Integrasi Layanan

Indonesia Pelajari Infrastruktur Publik Digital India untuk Perkuat Integrasi Layanan

by Husni Anwar
30/09/2026
0

Jakarta - Indonesia menjajaki pembelajaran dari India dalam membangun Digital Public Infrastructure (DPI) atau infrastruktur publik digital yang dapat menghubungkan identitas, data, pembayaran,...

Load More
Next Post

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

Kak Na: Gekrafs harus Kreatif, Inovatif dan tetap Peduli Sesama

Kak Na: Gekrafs harus Kreatif, Inovatif dan tetap Peduli Sesama

Wagub Aceh Buka Puasa Bersama Warga Matang Drien

Wagub Aceh Buka Puasa Bersama Warga Matang Drien

Gubernur Aceh Buka Puasa Bersama dan Santuni Anak Yatim serta Penyandang Disabilitas

Gubernur Aceh Buka Puasa Bersama dan Santuni Anak Yatim serta Penyandang Disabilitas

Recent News

M Nasir Gagas Penataan Sumur Minyak Rakyat, Bakal Diatur Lewat Ingub Berbasis Koperasi

M Nasir Gagas Penataan Sumur Minyak Rakyat, Bakal Diatur Lewat Ingub Berbasis Koperasi

08/11/2026
Grand Finalis Duta Siswa Indonesia 2026, Syafiqa Evania Sahla Mohon Dukungan

Grand Finalis Duta Siswa Indonesia 2026, Syafiqa Evania Sahla Mohon Dukungan

07/11/2026

Wali Nanggroe Serukan Pengusutan Transparan dan Dialog Bermartabat Pascainsiden Tiro, Pidie

07/11/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

    1309 shares
    Share 524 Tweet 327
  • Cara Mengatur Ukuran Logo di Word dengan Mudah

    192 shares
    Share 76 Tweet 48
  • Cara Menghubungi Call Center BSI dengan Mudah

    183 shares
    Share 72 Tweet 45
  • Legenda Tapak Tuan: Misteri Jejak Kaki Raksasa di Aceh Selatan

    184 shares
    Share 72 Tweet 45
  • Daftar Smelter Nikel di Indonesia

    177 shares
    Share 70 Tweet 44
Kutarajapost - Berita Aceh dan Nasional

© 2026 KutarajaPost.com - Media Berita dan Informasi Terkini.

  • About
  • Advertise
  • Privacy Policy
  • Contact

Follow 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
  • Home
  • 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
  • Ekonomi
  • Olahraga
  • Opini
  • Lainnya
    • Teknologi
    • Pendidikan
    • Hukum
    • Sosial
    • Budaya & Gaya Hidup

© 2026 KutarajaPost.com - Media Berita dan Informasi Terkini.