DAY6 朴素贝叶斯

朴素贝叶斯基础

基本概念:

条件概率:指事件 A 在另外一个事件 B 已经发生条件下的概率

 

 

贝叶斯定理P(AB)=P(AB)P(B)--->

先验概率:先验概率(Prior Probability)指的是根据以往经验和分析得到的概率。例如以上公式中的 P(A),P(B)P(A),P(B),又例如:X 表示投一枚质地均匀的硬币,正面朝上的概率,显然在我们根据以往的经验下,我们会认为 X的概率 P(X)=0.5P(X)=0.5 。其中 P(X)=0.5P(X)=0.5 就是先验概率。

后验概率:后验概率(Posterior Probability)是事件发生后求的反向条件概率;即基于先验概率通过贝叶斯公式求得的反向条件概率。例如公式中的 P(B∣A) 就是通过先验概率 P(A)P(B)P(B)得到的后验概率,其通俗的讲就是「执果寻因」中的「因」。

朴素贝叶斯

朴素贝叶斯中的「朴素」,即条件独立,表示其假设预测的各个属性都是相互独立的,每个属性独立地对分类结果产生影响,对于预测数据,求解在该预测数据的属性出现时各个类别的出现概率,将概率值大的类别作为预测数据的类别

算法实现:

"""生成示例数据
"""
import pandas as pd


def create_data():
    data = {"x": ['r', 'g', 'r', 'b', 'g', 'g', 'r', 'r', 'b', 'g', 'g', 'r', 'b', 'b', 'g'],
            "y": ['m', 's', 'l', 's', 'm', 's', 'm', 's', 'm', 'l', 'l', 's', 'm', 'm', 'l'],
            "labels": ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B']}
    data = pd.DataFrame(data, columns=["labels", "x", "y"])
    return data
data = create_data()
data

参数估计

根据朴素贝叶斯的原理,最终分类的决策因素是比较 P(1),P(2),,P(m) 各个概率的大小,根据贝叶斯公式得知每一个概率计算的分母 P()P(特征) 都是相同的,只需要比较分子 P()和 P()乘积的大小。

那么如何得到 P(),以及 P()呢?在概率论中,可以应用极大似然估计法以及贝叶斯估计法来估计相应的概率。

极大似然估计

设甲箱中有99个白球,1个黑球;乙箱中有1个白球.99个黑球。现随机取出一箱,再从抽取的一箱中随机取出一球,结果是黑球,这一黑球从乙箱抽取的概率比从甲箱抽取的概率大得多,这时我们自然更多地相信这个黑球是取自乙箱的。一般说来,事件A发生的概率与某一未知参数  有关,  取值不同,则事件A发生的概率  也不同,当我们在一次试验中事件A发生了,则认为此时的 值应是t的一切可能取值中使  达到最大的那一个,极大似然估计法就是要选取这样的t值作为参数t的估计值,使所选取的样本在被选的总体中出现的可能性为最大

目的就是利用已知样本结果,反推最有可能造成这个结果的参数值。

极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:「模型已定,参数未知」。通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。

 

posted @ 2019-07-23 21:33  Apinke  阅读(124)  评论(0编辑  收藏  举报