基于Spark MLlib的垃圾邮件分类:从数据处理到模型评估
1. 数据分割
在进行垃圾邮件分类之前,我们需要将数据集划分为训练集和测试集。这里使用单一分割方式,将70%的数据用于训练模型,30%的数据用于测试模型。可以使用DataFrame的 .randomSplit 方法来实现这一分割:
val Array(trainDF, testDF) = documentsDF.randomSplit(Array(0.7, 0.3))
.randomSplit 方法接受一个权重数组,并返回一个DataFrame数组,其大小大致由权重指定。需要注意的是,分割后的DataFrame大小并非固定,例如:
trainDF.count / documentsDF.count.toDouble
如果需要固定大小的样本,可以使用DataFrame的 .sample 方法获取训练集,并过滤出不在训练集中的行作为测试集。
| 类别 | 数量 |
|---|---|
| spam | 481 |
| ham | 2412 |
超级会员免费看
订阅专栏 解锁全文
6877

被折叠的 条评论
为什么被折叠?



