训练垃圾短信分类器
SMS 数据已经为构建分类器做好了准备。具体而言,您已经完成了以下工作:
- 移除了数字和标点符号
- 将消息拆分为单词(或"tokens")
- 移除了停用词
- 应用了 hashing trick,并且
- 转换为 TF-IDF 表示。
接下来,您需要将 TF-IDF 数据拆分为训练集和测试集。然后使用训练数据拟合一个 Logistic Regression 模型,最后在测试数据上评估该模型的性能。
数据存储在 sms 中,LogisticRegression 已为您导入。
本练习是课程的一部分
使用 PySpark 进行机器学习
练习说明
- 按 4:1 的比例将数据拆分为训练集和测试集。将随机数种子设为 13 以确保可复现性。
- 创建一个
LogisticRegression对象,并将其拟合到训练数据。 - 在测试数据上生成预测。
- 使用预测结果构建混淆矩阵。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Split the data into training and testing sets
sms_train, sms_test = sms.____(____, ____)
# Fit a Logistic Regression model to the training data
logistic = ____(regParam=0.2).____(____)
# Make predictions on the testing data
prediction = logistic.____(____)
# Create a confusion matrix, comparing predictions to known labels
prediction.groupBy(____, ____).____().____()