我想知道是否有任何良好且简洁的面向对象编程 (OOP) 实现的贝叶斯过滤,用于垃圾邮件和文本分类? 这仅仅是为了学习目的。
回答:
我强烈推荐 Weka,它是一个用 Java 编写的开源数据挖掘软件:
Weka 是一个用于数据挖掘任务的机器学习算法集合。 这些算法可以直接应用于数据集,也可以从您自己的 Java 代码中调用。 Weka 包含用于数据预处理、分类、回归、聚类、关联规则和可视化的工具。 它也非常适合开发新的机器学习方案。
如上所述,它附带了一系列不同的分类器,例如 SVM、Winnow、C4.5、朴素贝叶斯(当然)以及更多(请参阅 API 文档)。
请注意,在垃圾邮件检测或文本分类领域,许多分类器都已知具有比朴素贝叶斯更好的性能。
此外,Weka 还为您带来了非常 强大的 GUI…