贝叶斯模型
朴素贝叶斯的三个常用模型:高斯模型、多项式模型、伯努利模型。
在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)