从头开始实现朴素贝叶斯分类器的最佳语言是什么?

我想从头开始实现一个用于垃圾邮件过滤的朴素贝叶斯分类器,作为学习练习。以下哪种语言最适合尝试这个项目?

  1. Java
  2. Ruby
  3. C++
  4. C
  5. 其他

请给出理由(这将非常有帮助!)


回答:

我会选择C#来做这个项目,但这只是因为这是我目前最熟悉的语言,而且我知道它在字符串处理方面很强大。也可以用C++的stl::string类、Ruby、Java等来实现。

如果我要构建一个朴素贝叶斯分类器,我会从一个简单的例子开始,比如Russell & Norvig的书中(我很久以前从这本书的第二版中学到的)或Mitchell的书中(我用他的是因为他教这个课程)。让你的学习器以通用的方式生成规则;也就是说,给定输入数据,生成输出规则,并使输入数据成为可泛化的事物(可以是用于垃圾邮件检测的文本块,也可以是用于预测某人是否会打网球的天气报告)。

如果你正在学习贝叶斯分类器,像这样的简单例子比一个完整的垃圾邮件过滤器更适合作为起点。语言解析本身就很困难,然后确定是否存在垃圾语言也同样困难。最好有一个简单的小数据集,你可以从中推导出你的学习器应该如何学习,并确保你的程序符合你的预期。然后,你可以扩展你的数据集,或者修改你的程序以纳入像语言解析这样的功能。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注