朴素贝叶斯决策
贝叶斯决策理论是概率框架下的一种分类方法。当相关概率已知时,贝叶斯决策理论考虑如何利用这些概率和误判损失经济地选择最有标记的。
贝叶斯的主要知识是概率论,包括先验概率,条件概率,全概率(联合概率),后验概率,贝叶斯公式等;如对对上的一个行人的职业判断,行人有背包,发型,衣着,面容等四个特征,判断职业有学生,职场员工。用贝叶斯策略若在四个特征下是学生的概率大于是职场员工概率就是学生否则相反。核心是计算后验概率。
条件概率:在某个限定条件下事件发生的概率。
p ( B ∣ A ) = p ( A B ) p ( A ) p(B|A)=\frac{p(AB)}{p(A)}p(乙∣A)=p(A)p(A乙)
全概率在事件已经发生的结果下,不同条件下出现该结果的所有概率总和
p ( A ) = Σ i = 1 N p ( Bi ) ∗ p ( A ∣ B i ) p(A)=\sum_{i=1}^{N}{p(Bi)*p(A|Bi) )}p(A)=我=1Σ氮p(乙我)*p(A∣乙我)
先验概率:以往经验得到的概率,如一枚银币抛出落下后出现正面的概率为1/2。
后验概率:根据样本特征分析得到的概率。p(某类别|某特征)即贝叶斯原理。
贝叶斯公式:
p ( B ∣ A ) = p ( A ∣ B ) * P ( B ) p ( A ) p(B|A)=\frac{p(A|B)*P(B)}{p(A)}p(乙∣A)=p(A)p(A∣乙)*磷(乙)
p(类别∣特征)=p(特征∣类别)*P(类别)p(特征)p(类别|特征)=\frac{p(特征|类别)*P(类别)}{p(特征)}p(种类不∣特别的征收)=p(特别的征收)p(特别的征收∣种类不)*磷(种类不)
基于西瓜数据集分析贝叶斯算法:
判断测1是好瓜还是坏瓜。计算后验概率时朴素贝叶斯使用了独立性假设,各个特征之间独立,即可使用概率公式计算。
由贝叶斯公式求后验概率p(好瓜|色泽),要知道 先验概率p(好瓜)和条件概率p(色泽|好瓜)/p(色泽)
得到后验概率;
由于好瓜概率大于坏瓜概率,故为好瓜。
实现方法:
1.GaussianNB适用特征为高斯分布的连续量,特征数据符合高斯正态分布。
2.MultinomialNB适用特征为2个以上离散量,特征数据符合多项式分布。
3.BernoulliNB适用特征只有2个状态,特征数据符合伯努利分布。
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.naive_bayes import MultinomialNB
from sklearn.naive_bayes import BernoulliNB
iris=load_iris()
x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.4)
#高斯分布贝叶斯
def function1():
model=GaussianNB().fit(x_train,y_train)
score=model.score(x_test,y_test)
return score
#多项式分布贝叶斯
def function2():
model=MultinomialNB().fit(x_train,y_train)
score=model.score(x_test,y_test)
return score
#伯努利分布贝叶斯
def function3():
model=BernoulliNB().fit(x_train,y_train)
score=model.score(x_test,y_test)
return score
print(function1())
print(function2())
print(function3())
结果:
0.95
0.8833333333333333
0.3