开始使用免费开始使用

加载垃圾邮件与非垃圾邮件数据

逻辑回归是用于预测分类响应的常用方法。其中一个最常见的应用就是短信或电子邮件的垃圾邮件分类。在这个包含 3 个部分的练习中,您将使用 Spark MLlib 的逻辑回归来创建一个电子邮件垃圾邮件分类器。构建垃圾邮件分类器的大致步骤如下:

  • 创建表示电子邮件的字符串 RDD。
  • 运行 MLlib 的特征提取算法,将文本转换为向量 RDD。
  • 在向量 RDD 上调用分类算法,返回一个模型对象,用于对新样本进行分类。
  • 使用 MLlib 的评估函数之一在测试数据集上评估模型。

在练习的第一部分,您将把"spam"(垃圾邮件)和"ham"(非垃圾邮件)文件加载到 RDD 中,将每封邮件拆分成独立的单词,并查看每个 RDD 的第一个元素。

请记住,您的工作区中已提供 SparkContext sc。变量 file_path_spam("spam" 文件的路径)和 file_path_non_spam("non-spam" 文件的路径)也已可用。

本练习是课程的一部分

使用 PySpark 的大数据基础

查看课程

练习说明

  • 创建两个 RDD,分别用于"spam"和"non-spam(ham)"。
  • 将"spam"和"non-spam"这两个 RDD 中的每封邮件拆分为单词。
  • 打印"spam"和"non-spam"这两个拆分后 RDD 的第一个元素。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# 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", ____.____())
编辑并运行代码