我正在尝试选择一种过滤垃圾邮件的算法。我找到了两个选择:
为垃圾邮件而不是垃圾邮件数据创建字典。计算每个单词的平均 TF-IDF,并使用余弦相似度进行过滤。
或者使用字典来训练逻辑回归模型。
你能建议什么最适合我的目标吗?也许我应该使用另一种算法。
我正在尝试选择一种过滤垃圾邮件的算法。我找到了两个选择:
为垃圾邮件而不是垃圾邮件数据创建字典。计算每个单词的平均 TF-IDF,并使用余弦相似度进行过滤。
或者使用字典来训练逻辑回归模型。
你能建议什么最适合我的目标吗?也许我应该使用另一种算法。
使用允许学习权重的逻辑回归。通过使用余弦相似度,您可以强制所有特征的权重相同(假设您首先对特征进行归一化)。这对模型施加了不必要的限制。
您必须做出预测(在执行监督学习之后),所以余弦距离无济于事,因为它基本上用于无监督学习(聚类和距离)。Hastie & Tibshirani 在 Springer 教科书中发表了一种流行的垃圾邮件预测方法,该方法是关于统计学习的。您可能会在网上找到有关垃圾邮件预测的论文。
由于使用了散列技巧,逻辑回归非常适合点击率和垃圾邮件过滤(通常是文本数据)。如果您有 GB 的数据,Vowpal Wabbit 对其进行了优化。我猜神经网络在这类任务中也会表现良好。
https://github.com/JohnLangford/vowpal_wabbit
适用于所有其他数据科学问题的一项建议;您可以获得的最大改进来自创建新功能。在您的情况下:TF-IDF、n-gram、POS 标记可用于改进分类器,而不仅仅是选择 A 或 B 算法。
注意:Vowpal Wabbit 可以自动创建 n-gram 和交互。其他类型的预处理应单独编码。