开始使用免费开始使用

短信垃圾分类流水线

您已经有一段时间没有查看短信数据了。上次我们完成了以下步骤:

  • 将文本切分为词元(tokens)
  • 移除停用词
  • 应用哈希技巧(hashing trick)
  • 将计数转换为 IDF,并且
  • 训练了一个逻辑回归模型。

这些步骤都是分别完成的。这正是使用流水线(pipeline)的好场景!

PipelineLogisticRegression 类已经导入,您无需再处理导入问题!

本练习是课程的一部分

使用 PySpark 进行机器学习

查看课程

练习说明

  • 创建一个对象用于将文本切分为词元。
  • 创建一个对象用于移除停用词。无需显式提供输入列名,直接对上一个对象调用 getOutputCol() 方法。
  • 创建对象以应用哈希技巧并将数据转换为 TF-IDF。这里同样使用 getOutputCol() 方法串联。
  • 创建一个流水线,将以上所有步骤与用于构建逻辑回归模型的对象一起封装起来。

交互式实操练习

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

from pyspark.ml.feature import Tokenizer, StopWordsRemover, HashingTF, IDF

# Break text into tokens at non-word characters
tokenizer = ____(inputCol='text', outputCol='words')

# Remove stop words
remover = ____(inputCol=____, outputCol='terms')

# Apply the hashing trick and transform to TF-IDF
hasher = ____(inputCol=____, outputCol="hash")
idf = ____(inputCol=____, outputCol="features")

# Create a logistic regression object and add everything to a pipeline
logistic = LogisticRegression()
pipeline = Pipeline(stages=[____, ____, ____, ____, logistic])
编辑并运行代码