NLP Academy · Pelajaran

Membangun Pendeteksi Spam

Melatihnya dengan pesan berlabel

Pelajaran 2 dari 413 langkah

Membangun Pendeteksi Spam adalah pelajaran NLP Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar NLP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus NLP Academy mencakup 4 pelajaran total.

Model Nyata Pertama Anda

Saatnya membuat sesuatu yang berguna: penyaring spam. Anda akan melatih pengklasifikasi pada pesan berlabel dan membiarkannya menilai pesan yang benar-benar baru.

Mulai dengan Data Berlabel

Setiap model terawasi membutuhkan contoh yang disertai jawaban. Di sini, setiap pesan memiliki label spam atau ham, sebutan ramah untuk pesan yang bukan spam.

messages = ["win cash now", "lunch at noon?", "free prize click"]
labels = ["spam", "ham", "spam"]
print(len(messages), len(labels))

Mengubah Teks Menjadi Angka

Model tidak dapat membaca kata-kata mentah, jadi Anda harus menghitungnya terlebih dahulu. CountVectorizer mengubah setiap pesan menjadi baris berisi hitungan kata.

from sklearn.feature_extraction.text import CountVectorizer
vec = CountVectorizer()
X = vec.fit_transform(messages)

Berkenalan dengan MultinomialNB

Untuk hitungan kata, alat yang tepat adalah MultinomialNB, varian Naive Bayes berbasis hitungan yang tersedia langsung di scikit-learn.

from sklearn.naive_bayes import MultinomialNB
model = MultinomialNB()

Melatih Model

Pelatihan hanya membutuhkan satu baris: berikan fitur dan label Anda kepada model. Pemanggilan fit menghitung kata per kelas dan menyimpan probabilitasnya.

model.fit(X, labels)
print("trained on", X.shape[0], "messages")

Memprediksi Email Baru

Untuk menilai pesan baru, ubah pesan tersebut menjadi vektor dengan cara yang sama, lalu panggil predict. Model mengembalikan tebakan terbaiknya, yaitu spam atau ham.

new = vec.transform(["free cash prize"])
print(model.predict(new))

Gunakan Kembali Pengubah Vektor

Teks baru harus menggunakan kosakata yang sama dengan yang dipelajari model. Selalu panggil transform, jangan pernah melatih ulang, atau kolomnya tidak akan sejajar.

Intip Tingkat Keyakinan

Selain label, model dapat melaporkan seberapa yakin dirinya. Metode predict_proba memberikan probabilitas untuk setiap kelas yang mungkin.

print(model.predict_proba(new))

Sisihkan Kumpulan Pengujian

Jangan pernah menilai model menggunakan data yang dipakainya untuk berlatih. Pisahkan kumpulan pengujian agar Anda dapat mengukur kinerjanya pada pesan yang belum pernah dilihat.

Nilai Penyaring

Jalankan prediksi pada pesan yang disisihkan dan bandingkan dengan kebenarannya. Akurasi tersebut menunjukkan apakah penyaring spam Anda benar-benar berfungsi. 📬

Lakukan Iterasi untuk Meningkatkan Hasil

Lebih banyak data yang bersih dan prapemrosesan yang lebih baik dapat meningkatkan hasil dengan cepat. Perlakukan penyaring ini sebagai tolok ukur awal yang dapat terus Anda sempurnakan, bukan sebagai produk jadi.

Pemeriksaan Singkat

Bagaimana seharusnya Anda menyiapkan pesan baru sebelum melakukan prediksi?

Rangkuman

Anda telah mengubah pesan menjadi vektor, melatih MultinomialNB, dan memprediksi spam pada teks baru. Menggunakan kembali pengubah vektor yang telah dilatih menjaga fitur Anda tetap selaras. ✅

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Membangun Pendeteksi Spam” gratis?

Ya — teks lengkap “Membangun Pendeteksi Spam” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus NLP Academy, upgrade ke CoddyKit PRO. Kursus NLP Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Membangun Pendeteksi Spam”?

Melatihnya dengan pesan berlabel Kamu berlatih NLP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai NLP Academy?

Tidak diperlukan pengalaman sebelumnya. NLP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Membangun Pendeteksi Spam” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran NLP Academy ini?

Ya. Setiap pelajaran NLP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Intuisi di Balik Naive Bayes
  2. Membangun Pendeteksi Spam
  3. Model Multinomial vs Bernoulli
  4. Membaca Prediksi Model
← Kembali ke NLP Academy