Lompat ke konten utama
←

Mengolah Teks dengan Python

Pelajaran 15 dari 16

TF-IDF, kemiripan, dan klasifikasi teks

Klasifikasi teks dengan MultinomialNB

Setelah pelajaran ini kamu bisa melatih pengklasifikasi MultinomialNB dalam pipeline dan mengukur akurasinya.

±14 menitDiperiksa 27 Sep 2026

Materi

Klasifikasi teks memberi label kepada dokumen, misalnya kategori pengaduan atau topik berita, berdasarkan contoh yang sudah berlabel. Dokumentasi scikit-learn menyebut MultinomialNB sebagai salah satu dari dua varian Naive Bayes klasik untuk klasifikasi teks, dengan data yang direpresentasikan sebagai vektor hitungan kata, dan mencatat bahwa vektor TF-IDF juga dikenal bekerja dalam praktik.

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import make_pipeline

teks = ["hujan deras sore ini", "tim menang tipis", "angin kencang dan hujan", "pelatih tim baru"]
label = ["cuaca", "olahraga", "cuaca", "olahraga"]
model = make_pipeline(CountVectorizer(), MultinomialNB())
model.fit(teks, label)
print(model.predict(["hujan sepanjang hari"]))   # ['cuaca']

Alurnya tiga langkah: fit pada data latih, predict pada data baru, lalu bandingkan dengan label sebenarnya. make_pipeline(CountVectorizer(), MultinomialNB()) merangkai vectorizer dan model, sehingga fit dan predict menerima teks mentah; pipeline menjalankan fit_transform pada data latih dan transform pada data baru. predict_proba memberi peluang setiap kelas, urut sesuai atribut classes_.

Parameter alpha (bawaan 1.0) adalah penghalusan aditif; alpha = 1 disebut penghalusan Laplace. Setiap hitungan kata ditambah alpha, sehingga kata yang tidak pernah terlihat di satu kelas tidak membuat peluang kelas itu nol. Kata yang sama sekali tidak ada di kosakata latih diabaikan saat predict.

Akurasi adalah proporsi prediksi yang benar: accuracy_score(y_benar, y_prediksi). Data kecil karangan di kelas ini cukup untuk melihat cara kerjanya, bukan untuk menilai mutu model; angka akurasi baru bermakna bila dihitung dari data uji yang tidak ikut dipakai saat fit.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke