Membangun Pendeteksi Spam
Melatihnya dengan pesan berlabel
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. ✅
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
- Intuisi di Balik Naive Bayes
- Membangun Pendeteksi Spam
- Model Multinomial vs Bernoulli
- Membaca Prediksi Model