貝葉斯模型
樸素貝葉斯的三個常用模型:高斯模型、多項式模型、伯努利模型。
在sklearn中可以使用封裝好的方法直接使用,
使用dataset生成數據
from sklearn import datasets
iris=datasets.load_iris()
x=iris.data
y=iris.target
高斯模型
當特徵是連續變量的時候,運用多項式模型就會導致很多(不做平滑的情況下),此時即使做平滑,所得到的條件概率也難以描述真實情況。所以處理連續的特徵變量,應該採用高斯模型。
用法:
from sklearn.naive_bayes import GaussianNB #高斯分佈,正態分佈
gnb=GaussianNB()
gnb.fit(x,y).score(x,y)
多項式模型
該模型常用於文本分類,特徵是單詞,值是單詞的出現次數。
用法:
from sklearn.naive_bayes import MultinomialNB #二項式分佈
mnb=MultinomialNB()
mnb.fit(x,y).score(x,y)
伯努利模型
在伯努利模型中,每個特徵的取值是布爾型的,即true和false,或者1和0。在文本分類中,就是一個特徵有沒有在一個文檔中出現。
用法:
from sklearn.naive_bayes import BernoulliNB #伯努利分佈
bnb=BernoulliNB()
bnb.fit(x,y).score(x,y)