Skip to content
INOVATIF, PROFESIONAL, DAN BERKEPRIBADIAN
facebook
youtube
instagram
Pusat Pengelolaan Digitalisasi Penjaminan Mutu Universitas Medan Area
Call Support 0823-6994-9970
Email Support [email protected]
Location Jl. Kolam No. 1 Medan Estate
  • BERANDA
  • TENTANG
    • PROFIL
    • VISI DAN MISI
    • STRUKTUR ORGANISASI
  • BERITA KEGIATAN
  • KERJASAMA
  • LAYANAN & INFORMASI
    • APLIKASI
      • PERPUSTAKAAN UMA
      • ACADEMIC ONLINE CAMPUS (AOC)
      • REPOSITORI UMA
      • TRACER STUDY (ALUMNI)
      • JURNAL
      • E-LEARNING UMA
      • DIREKTORI MAHASISWA
    • ARSIP
      • PERUBAHAN DATA MAHASISWA DI PDDIKTI
      • Buku Pedoman Universitas Medan Area
      • KURIKULUM
        • Kurikulum Teknik
        • Kurikulum Pertanian
        • Kurikulum Ekonomi dan Bisnis
        • Kurikulum Hukum
        • Kurikulum Isipol
        • Kurikulum Psikologi
        • Kurikulum Saintek
        • Kurikulum Agama Islam
      • Kalender Akademik Universitas Medan Area
      • Artikel
    • Helpdesk P2DPM
  • id
    • en
    • id

Algoritma Kecerdasan Buatan & Machine Learning Naïve Bayes

Home > Artikel > Algoritma Kecerdasan Buatan & Machine Learning Naïve Bayes

Algoritma Kecerdasan Buatan & Machine Learning Naïve Bayes

Posted on 10 September 202510 September 2025 by Anisa Rahma Nasution
0

1. Konsep Dasar

Naïve Bayes adalah algoritma klasifikasi berbasis probabilitas yang menggunakan Teorema Bayes untuk menghitung kemungkinan sebuah data termasuk ke dalam kelas tertentu. Disebut “Naïve” (naif) karena algoritma ini mengasumsikan independensi antar fitur — artinya setiap fitur dianggap berdiri sendiri dan tidak saling memengaruhi. Walaupun asumsi ini sering tidak realistis, dalam praktiknya algoritma ini tetap sangat efektif.

2. Teorema Bayes

Teorema Bayes menyatakan:

P(H∣X)=P(X∣H)⋅P(H)P(X)P(H|X) = \frac{P(X|H) \cdot P(H)}{P(X)}P(H∣X)=P(X)P(X∣H)⋅P(H)​

  • HHH = hipotesis (kelas yang ingin diprediksi, misalnya spam atau ham)

  • XXX = bukti (fitur input)

  • P(H)P(H)P(H) = probabilitas awal (prior) hipotesis

  • P(X∣H)P(X|H)P(X∣H) = likelihood (probabilitas fitur muncul jika hipotesis benar)

  • P(H∣X)P(H|X)P(H∣X) = probabilitas posterior (kelas yang diprediksi berdasarkan data)

3. Prinsip Klasifikasi

Untuk suatu data X=(x1,x2,…,xn)X = (x_1, x_2, …, x_n)X=(x1​,x2​,…,xn​), probabilitas bahwa XXX termasuk kelas CCC adalah:

P(C∣X)∝P(C)∏i=1nP(xi∣C)P(C|X) \propto P(C) \prod_{i=1}^n P(x_i | C)P(C∣X)∝P(C)i=1∏n​P(xi​∣C)

  • P(C)P(C)P(C) = prior probability (seberapa sering kelas CCC muncul dalam data)

  • P(xi∣C)P(x_i|C)P(xi​∣C) = likelihood setiap fitur xix_ixi​ terhadap kelas CCC

  • Asumsi independensi fitur membuat perkalian sederhana ini mungkin.

  • Hasil akhir: pilih kelas dengan probabilitas tertinggi (MAP = Maximum A Posteriori).

4. Varian Naïve Bayes

Ada beberapa versi yang digunakan sesuai tipe data:

  1. Gaussian Naïve Bayes

    • Untuk data kontinu (real-valued).

    • Asumsi distribusi normal (Gaussian).

    • Contoh: klasifikasi nilai ujian, data sensor.

  2. Multinomial Naïve Bayes

    • Untuk data berupa frekuensi atau hitungan.

    • Banyak dipakai di text mining / NLP (contoh: spam filtering, sentiment analysis).

  3. Bernoulli Naïve Bayes

    • Untuk data biner (0/1, ada/tidak ada).

    • Contoh: ada/tidaknya kata dalam dokumen.

5. Kelebihan

✅ Cepat & efisien, cocok untuk dataset besar.
✅ Mudah diimplementasikan dan hasilnya cukup baik.
✅ Performa bagus untuk klasifikasi teks (spam detection, analisis sentimen).
✅ Tidak butuh banyak data untuk mulai bekerja.

6. Kekurangan

❌ Asumsi independensi fitur sering tidak realistis.
❌ Tidak selalu akurat untuk data dengan fitur yang saling berkorelasi.
❌ Sulit menangani nilai nol pada probabilitas (bisa diatasi dengan Laplace Smoothing).
❌ Performa bisa kalah dari model kompleks seperti Random Forest atau Gradient Boosting.

7. Contoh Ilustrasi (Sederhana)

Misalkan kita ingin menentukan apakah email adalah Spam atau Ham berdasarkan kata yang muncul.

  • P(Spam)=0.4P(Spam) = 0.4P(Spam)=0.4, P(Ham)=0.6P(Ham) = 0.6P(Ham)=0.6

  • Kata “promo” muncul pada 80% email spam dan 10% email ham

Jika sebuah email berisi kata “promo”, maka:

P(Spam∣promo)∝P(Spam)⋅P(promo∣Spam)=0.4×0.8=0.32P(Spam|promo) \propto P(Spam) \cdot P(promo|Spam) = 0.4 \times 0.8 = 0.32P(Spam∣promo)∝P(Spam)⋅P(promo∣Spam)=0.4×0.8=0.32 P(Ham∣promo)∝P(Ham)⋅P(promo∣Ham)=0.6×0.1=0.06P(Ham|promo) \propto P(Ham) \cdot P(promo|Ham) = 0.6 \times 0.1 = 0.06P(Ham∣promo)∝P(Ham)⋅P(promo∣Ham)=0.6×0.1=0.06

Karena 0.32>0.060.32 > 0.060.32>0.06, email diprediksi sebagai Spam.

Contoh implementasi Naïve Bayes di Python menggunakan scikit-learn untuk kasus sederhana klasifikasi teks (spam filtering).

Contoh: Klasifikasi Email Spam / Ham

# Import library
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score, classification_report

# Dataset sederhana (contoh)
emails = [
“dapatkan promo gratis sekarang”,
“diskon besar belanja online”,
“ayo main bareng besok”,
“makan malam di rumah”,
“pinjaman uang cepat cair”,
“nonton film bareng yuk”
]

labels = [“spam”, “spam”, “ham”, “ham”, “spam”, “ham”] # spam / ham

# 1. Ubah teks menjadi fitur numerik (Bag of Words)
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(emails)

# 2. Split data untuk training & testing
X_train, X_test, y_train, y_test = train_test_split(X, labels, test_size=0.3, random_state=42)

# 3. Buat model Naïve Bayes
model = MultinomialNB()
model.fit(X_train, y_train)

# 4. Prediksi
y_pred = model.predict(X_test)

# 5. Evaluasi
print(“Akurasi:”, accuracy_score(y_test, y_pred))
print(“\nLaporan Klasifikasi:\n”, classification_report(y_test, y_pred))

Penjelasan

  1. CountVectorizer → mengubah teks jadi representasi numerik (frekuensi kata).

  2. MultinomialNB → varian Naïve Bayes yang cocok untuk data teks.

  3. Train-Test Split → pisahkan data untuk melatih & menguji model.

  4. Evaluasi → cek akurasi & laporan klasifikasi.

Contoh visualisasi decision boundary Naïve Bayes dengan dataset sederhana 2D, supaya lebih mudah dipahami bagaimana algoritma ini mengklasifikasikan data.

Contoh: Gaussian Naïve Bayes pada Data 2D

import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import make_classification
from sklearn.naive_bayes import GaussianNB

# 1. Buat dataset 2D sederhana
X, y = make_classification(
n_samples=200, n_features=2, n_classes=2,
n_redundant=0, n_clusters_per_class=1, random_state=42
)

# 2. Latih model Naïve Bayes
model = GaussianNB()
model.fit(X, y)

# 3. Buat grid untuk visualisasi boundary
x_min, x_max = X[:, 0].min() – 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() – 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.linspace(x_min, x_max, 200),
np.linspace(y_min, y_max, 200))

# Prediksi di seluruh grid
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)

# 4. Plot decision boundary
plt.contourf(xx, yy, Z, alpha=0.4, cmap=plt.cm.RdYlBu)
plt.scatter(X[:, 0], X[:, 1], c=y, edgecolor=”k”, cmap=plt.cm.RdYlBu)
plt.title(“Decision Boundary – Gaussian Naïve Bayes”)
plt.xlabel(“Fitur 1”)
plt.ylabel(“Fitur 2”)
plt.show()

Penjelasan

  • make_classification → membuat dataset 2D sederhana dengan 2 kelas.

  • GaussianNB → varian Naïve Bayes untuk data kontinu.

  • Decision boundary digambar dengan contourf, menunjukkan area prediksi tiap kelas.

  • Titik data asli ditampilkan dengan warna sesuai label.

Naïve Bayes adalah salah satu algoritma machine learning yang paling sederhana namun tetap efektif. Dengan memanfaatkan Teorema Bayes dan asumsi independensi antar fitur, algoritma ini mampu melakukan klasifikasi dengan cepat, bahkan pada dataset berukuran besar. Meskipun memiliki keterbatasan (seperti asumsi fitur yang sering tidak realistis), Naïve Bayes tetap menjadi pilihan utama untuk:

  • Klasifikasi teks (spam filtering, analisis sentimen, rekomendasi).

  • Aplikasi real-time karena efisien.

  • Kasus baseline sebelum mencoba model yang lebih kompleks.

Singkatnya:
Naïve Bayes = sederhana, cepat, efektif untuk banyak kasus praktis.

Post Views: 380

p2dpm_uma

Jalan Kolam Nomor 1 Medan Estate

#PRESTASIDOSENUMA Selamat & Sukses Kepada 23 Dosen #PRESTASIDOSENUMA
Selamat & Sukses Kepada 23 Dosen Universitas Medan Area atas Penandatanganan Kontrak Program Penelitian & Pengabdian Kepada Masyarakat DPPM KEMDIKTISAINTEK Tahun Anggaran 2026
.
Informasi dan Pendaftaran Mahasiswa Baru :
➖➖➖➖➖➖➖
https://pmb.uma.ac.id
➖➖➖➖➖➖➖

Call Center UMA :
☎️0811 6013 888

#ptssehat #ptsterbaik #UMAkampusJuara #KampusUnggul
Get @reshare_app • @umabestari #REKORMURI Rektor U Get @reshare_app • @umabestari #REKORMURI
Rektor Universitas Medan Area Menjadi Salah Satu Pemateri Dalam Pemecahan Rekor MURI dalam Seminar 10 Pohon Ilmu dan Peserta Terbanyak yang di selenggarakan oleh Kantor LLDIKTI Wilayah I Sumut
.
Informasi dan Pendaftaran Mahasiswa Baru :
➖➖➖➖➖➖➖
https://pmb.uma.ac.id
➖➖➖➖➖➖➖

Call Center UMA :
☎️0811 6013 888

#ptssehat #PTSterbaik
#UMAkampusJuara #KampusUnggul
Get @reshare_app • @umabestari #KUNJUNGAN Kunjunga Get @reshare_app • @umabestari #KUNJUNGAN
Kunjungan Dr. dr. Delyuzar, M.Ked.(PA), Sp.PA(K), Ketua Umum Pengurus Wilayah (PW) Asosiasi Masjid Kampus
Indonesia (AMKI) Sumatera Utara ke Universitas Medan Area Dalam rangka melihat Pelaksanaan Pemotongan Hewan Qurban.
.
Informasi dan Pendaftaran Mahasiswa Baru :
➖➖➖➖➖➖➖
https://pmb.uma.ac.id
➖➖➖➖➖➖➖

Call Center UMA :
☎️0811 6013 888

#ptssehat #PTSterbaik
#UMAkampusJuara #KampusUnggul
Selamat Hari Raya Idul Adha 1447 H Selamat Hari Raya Idul Adha 1447 H
Yuk, buruan daftar sekarang! Yuk, buruan daftar sekarang!
Get @reshare_app • @umabestari #SOSIALISASI Dinas Get @reshare_app • @umabestari #SOSIALISASI
Dinas Pariwisata Medan dan Universitas Medan Area  berkolaborasi melaksanakan Sosialisasi Kompetisi Desain Logo HUT Kota Medan ke-436 Tahun 2026.
#PMBUMA2026 Yuk.. Join di Kampus Unggul Universi #PMBUMA2026 

Yuk.. Join di Kampus Unggul Universitas Medan Area. Dapatkan Beragam Fasilitas Pendidikan dan Beasiswa Hingga 100%. . 

Informasi dan Pendaftaran Mahasiswa Baru : 

➖➖➖➖➖➖➖
 https://pmb.uma.ac.id 
➖➖➖➖➖➖➖ 

Call Center UMA : 
☎️0811 6013 888 

#ptssehat #ptsterbaik #UMAkampusJuara
Get @reshare_app • @umabestari #JADWALUTSUMA Selam Get @reshare_app • @umabestari #JADWALUTSUMA
Selamat Melaksanakan Ujian Tengah Semester (UTS) Semester Genap Tahun Akademik 2025/2026 yang dilaksanakan tanggal 11 Mei s.d. 25 Mei 2026
.
Informasi dan Pendaftaran Mahasiswa Baru :
➖➖➖➖➖➖➖
https://pmb.uma.ac.id
➖➖➖➖➖➖➖

Call Center UMA :
☎️0811 6013 888

#ptssehat #ptsterbaik #UMAkampusJuara #KampusUnggul
Follow on Instagram

Lokasi P2DPM

url url url url url url url url url url url url

Kategori

  • Berita Terbaru
  • Pengumuman
  • Berita Kegiatan
  • Artikel

POSTINGAN TERPOPULER

  • Memahami Perbedaan Waktu: AM/PM, Zona Waktu, dan Sistem Jam
  • Cara Melihat IP Address di Semua Jenis Perangkat dan Jenis-Jenisnya
  • Dasar-Dasar Desain Grafis: Prinsip yang Harus Diketahui Pemula
  • Manfaat Pengelolaan Sumber Daya Alam Berkelanjutan Untuk Kehidupan
  • Pengertian Gelombang Longitudinal dan Contohnya dalam Kehidupan Sehari-Hari
KAMPUS 1
Jalan Kolam Nomor 1 Medan Estate / Jalan Gedung PBSI, Medan 20223
(061) 7360168, Call Canter : 0811-6013-888
[email protected]
KAMPUS 2
Jalan Sei Serayu Nomor 70 A / Jalan Setia Budi Nomor 79 B, Medan 20122
(061) 42402994, HP : 0811 607 259
[email protected]
© 2026 P2A2I - Universitas Medan Area