ПочатиПочніть безкоштовно

Завантаження даних про спам і не-спам

Логістична регресія — це популярний метод для прогнозування категоріальної відповіді. Один із найпоширеніших її застосунків — класифікація повідомлень або електронних листів на спам і не-спам. У цій вправі з трьох частин ви створите класифікатор спаму електронної пошти за допомогою логістичної регресії в Spark MLlib. Ось короткі кроки для створення такого класифікатора.

  • Створити RDD рядків, що представляють електронні листи.
  • Запустити алгоритми видобування ознак з MLlib, щоб перетворити текст на RDD векторів.
  • Викликати алгоритм класифікації на RDD векторів, щоб отримати об'єкт моделі для класифікації нових точок.
  • Оцінити модель на тестовому наборі даних, використовуючи одну з функцій оцінювання MLlib.

У першій частині вправи ви завантажите файли «spam» і «ham» (не-спам) у RDD, розіб'єте листи на окремі слова та переглянете перший елемент у кожному з цих RDD.

Пам'ятайте, що у вашому середовищі доступний SparkContext sc. Також змінна file_path_spam (шлях до файла «spam») і file_path_non_spam (шлях до файла «non-spam») уже доступні у вашому середовищі.

Ця вправа є частиною курсу

Основи Big Data з PySpark

Переглянути курс

Інструкції до вправи

  • Створіть два RDD: один для «spam» і один для «non-spam (ham)».
  • Розбийте кожен лист у RDD «spam» і «non-spam» на слова.
  • Виведіть перший елемент у розбитих на слова RDD і для «spam», і для «non-spam».

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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", ____.____())
Редагувати та запускати код