Memuat data spam dan non-spam
Logistic Regression adalah metode populer untuk memprediksi respons kategorikal. Salah satu penerapan paling umum dari logistic regression adalah klasifikasi pesan atau email spam. Dalam latihan 3 bagian ini, Anda akan membuat pengklasifikasi email spam dengan logistic regression menggunakan Spark MLlib. Berikut langkah singkat untuk membuat pengklasifikasi spam.
- Buat RDD berupa string yang merepresentasikan email.
- Jalankan algoritma ekstraksi fitur MLlib untuk mengonversi teks menjadi RDD vektor.
- Panggil algoritma klasifikasi pada RDD vektor untuk menghasilkan objek model guna mengklasifikasikan titik data baru.
- Evaluasi model pada himpunan data uji menggunakan salah satu fungsi evaluasi MLlib.
Pada bagian pertama latihan, Anda akan memuat berkas 'spam' dan 'ham' (non-spam) ke dalam RDD, memecah email menjadi kata-kata individual, dan melihat elemen pertama dari masing-masing RDD.
Ingat, Anda memiliki SparkContext sc yang tersedia di workspace. Variabel file_path_spam (yang merupakan path ke berkas 'spam') dan file_path_non_spam (yang merupakan path ke berkas 'non-spam') juga sudah tersedia di workspace Anda.
Latihan ini adalah bagian dari kursus
Fundamental Big Data dengan PySpark
Petunjuk latihan
- Buat dua RDD, satu untuk 'spam' dan satu untuk 'non-spam (ham)'.
- Pecah setiap email dalam RDD 'spam' dan 'non-spam' menjadi kata-kata.
- Cetak elemen pertama pada RDD hasil pemecahan untuk 'spam' dan 'non-spam'.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Load the datasets into RDDs
spam_rdd = sc.____(file_path_spam)
non_spam_rdd = sc.____(file_path_non_spam)
# Split the email messages into words
spam_words = spam_rdd.____(lambda email: email.split(' '))
non_spam_words = non_spam_rdd.____(lambda email: ____.____(' '))
# Print the first element in the split RDD
print("The first element in spam_words is", spam_words.____())
print("The first element in non_spam_words is", ____.____())