朴素贝叶斯 python 实现
生活随笔
收集整理的這篇文章主要介紹了
朴素贝叶斯 python 实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
百度文庫
文庫2
機器學(xué)習(xí)實戰(zhàn)的樸素貝葉斯的代碼太復(fù)雜
""" Created on Thu Aug 10 15:08:59 2017@author: luogan """#coding=gbk#Naive Bayes#Calculate the Prob. of class:cls def P(data,cls_val,cls_name="class"):cnt = 0.0for e in data:if e[cls_name] == cls_val:cnt += 1return cnt/len(data)#Calculate the Prob(attr|cls) def PT(data,cls_val,attr_name,attr_val,cls_name="class"):cnt1 = 0.0cnt2 = 0.0for e in data:if e[cls_name] == cls_val:cnt1 += 1if e[attr_name] == attr_val:cnt2 += 1return cnt2/cnt1#Calculate the NB def NB(data,test,cls_y,cls_n):PY = P(data,cls_y)PN = P(data,cls_n)for key,val in test.items():print (key,val)PY *= PT(data,cls_y,key,val)PN *= PT(data,cls_n,key,val)return {cls_y:PY,cls_n:PN}if __name__ == "__main__":#datadata = [{"outlook":"sunny", "temp":"hot", "humidity":"high", "wind":"weak", "class":"no" },{"outlook":"sunny", "temp":"hot", "humidity":"high", "wind":"strong", "class":"no" },{"outlook":"overcast", "temp":"hot", "humidity":"high", "wind":"weak", "class":"yes" },{"outlook":"rain", "temp":"mild", "humidity":"high", "wind":"weak", "class":"yes" },{"outlook":"rain", "temp":"cool", "humidity":"normal", "wind":"weak", "class":"yes" },{"outlook":"rain", "temp":"cool", "humidity":"normal", "wind":"strong", "class":"no" },{"outlook":"overcast", "temp":"cool", "humidity":"normal", "wind":"strong", "class":"yes" },{"outlook":"sunny", "temp":"mild", "humidity":"high", "wind":"weak", "class":"no" },{"outlook":"sunny", "temp":"cool", "humidity":"normal", "wind":"weak", "class":"yes" },{"outlook":"rain", "temp":"mild", "humidity":"normal", "wind":"weak", "class":"yes" },{"outlook":"sunny", "temp":"mild", "humidity":"normal", "wind":"strong", "class":"yes" },{"outlook":"overcast", "temp":"mild", "humidity":"high", "wind":"strong", "class":"yes" },{"outlook":"overcast", "temp":"hot", "humidity":"normal", "wind":"weak", "class":"yes" },{"outlook":"rain", "temp":"mild", "humidity":"high", "wind":"strong", "class":"no" },]#calculateprint (NB(data,{"outlook":"sunny","temp":"cool","humidity":"high","wind":"strong"},"yes","no"))總結(jié)
以上是生活随笔為你收集整理的朴素贝叶斯 python 实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bayes python 源代码
- 下一篇: bayes