各位大神,小弟阅读老师代码遇到问题,图二中pw_s=spamDict[word]/spamFilelen pw_n=normDict[word]/normFilelen ps_w=pw_s/(pw_s+pw_n) ,可否用概率知识帮忙解,不是很理解这段代码能实现朴素贝叶斯的概率原理,希望有大神能帮忙解惑!释

图一中for word,prob in wordList.items() :
    print(word+"/"+str(prob))
    ps_w*=(prob)
    ps_n*=(1-prob)
p=ps_w/(ps_w+ps_n)
200.jpg


201.jpg

 

小康康

赞同来自: 秦曾昌

p(w_s)spam 邮件里出现某个word的概率,p(w_n) 正常邮件里出现某个word的概率,ps_w给定某个word的情况下, 是spam的概率。                                                                                                                                              图一中for word,prob in wordList.items() :     print(word+"/"+str(prob))     ps_w*=(prob)     ps_n*=(1-prob) p=ps_w/(ps_w+ps_n),这里就是一句话的每个词属于spam或者normal的概率连乘

要回复问题请先登录注册