我在文本分类中使用朴素贝叶斯。
假设我的词汇是 ["apple","boy","cup"] 并且类别标签是 "spam" 或 "ham"。每个文档将被覆盖到一个 3 维 0-1 向量。例如,“apple boy apple apple”将转换为 [1,1,0]
现在我已经从训练示例中计算了条件概率 p("apple"|"spam"), p("apple"|"ham"), p("boy"|"spam")...等。
要测试文档是垃圾邮件还是火腿,例如“apple boy”-> [1,1,0],我们需要计算 p(features | classLabel)
使用条件独立,用于测试向量 [1,1,0]
我知道这两个公式
(1) p(特征|"火腿") = p("苹果"|"火腿")p("男孩"|"火腿")
(2) p(特征|"火腿") = p("苹果"|"火腿")p("男孩"|"火腿")(1-p("杯子"|"火腿"))
哪个公式是正确的?
我相信(2)是正确的,因为我们有 3 个特征(实际上是词汇表中的 3 个单词)。但是我看到其他人使用(1)编写的代码。虽然术语 1-p("cup"|"ham") 接近 1 所以它不会有太大的区别,但我想要确切的答案。