MulaiMulai sekarang secara gratis

Feature hashing dan LabelPoint

Setelah membagi email menjadi kata-kata, himpunan data mentah kita 'spam' dan 'non-spam' saat ini berupa pesan satu baris. Untuk mengklasifikasikan pesan-pesan ini, kita perlu mengonversi teks menjadi fitur.

Pada bagian kedua latihan, Anda akan terlebih dahulu membuat instance HashingTF() untuk memetakan teks ke vektor berisi 200 fitur. Lalu untuk setiap pesan dalam berkas 'spam' dan 'non-spam' Anda akan membaginya menjadi kata-kata, dan memetakan setiap kata ke satu fitur. Fitur-fitur inilah yang akan digunakan untuk menentukan apakah sebuah pesan 'spam' atau 'non-spam'. Selanjutnya, Anda akan membuat label untuk fitur. Untuk pesan valid, labelnya 0 (artinya pesan bukan spam) dan untuk pesan 'spam', labelnya 1 (artinya pesan spam). Terakhir, Anda akan menggabungkan kedua himpunan data berlabel tersebut.

Ingat, Anda memiliki SparkContext sc yang tersedia di ruang kerja Anda. Variabel spam_words dan non_spam_words juga sudah tersedia di ruang kerja Anda.

Latihan ini adalah bagian dari kursus

Fundamental Big Data dengan PySpark

Lihat Kursus

Petunjuk latihan

  • Buat instance HashingTF() untuk memetakan teks email ke vektor berisi 200 fitur.
  • Setiap pesan dalam himpunan data 'spam' dan 'non-spam' dibagi menjadi kata-kata, dan setiap kata dipetakan ke satu fitur.
  • Beri label pada fitur: 1 untuk spam, 0 untuk non-spam.
  • Gabungkan sampel spam dan non-spam menjadi satu himpunan data.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create a HashingTF instance with 200 features
tf = ____(numFeatures=200)

# Map each word to one feature
spam_features = tf.____(spam_words)
non_spam_features = tf.____(____)

# Label the features: 1 for spam, 0 for non-spam
spam_samples = spam_features.map(lambda features:LabeledPoint(____, features))
non_spam_samples = non_spam_features.map(lambda features:_____(____, features))

# Combine the two datasets
samples = spam_samples.____(non_spam_samples)
Edit dan Jalankan Kode