python实现贝叶斯分类,Python的文本分析包括

  python实现贝叶斯分类,Python的文本分析包括

  这两天看了一半《贝叶斯思维-统计建模的python学习法》。贝叶斯理论的推导过程是这本书的亮点,看一遍就能记住。虽然案例丰富有趣,但是代码部分很难理解。代码上来就用类,对pythonkkdhmgsjx不太友好。即使丹还有一个蛋疼,也不建议python初学者去拿这本书。但是可以学习理论知识,学习机器学习的时候很方便。

  今天,我们来谈谈贝叶斯原理和朴素贝叶斯文本分类算法。出来好久了。

  概率计算基础(基础的可以跳过))

  条件概率

  在其他事件B已经发生的情况下,事件A发生的概率。概率用p(ab)表示,读作“B条件下A的概率”。

  联合概率

  两件事同时发生的概率。A和B的联合概率表示为p(ab)或p) a,B)或p) ab)。

  现在我们已经掌握了前面的基础知识,下面我们来看一下cookie问题,然后开始贝叶斯定理的推导。

  饼干问题

  如果有两块饼干,

  碗A包含30个香草饼干和10个巧克力饼干。

  碗里有20块这两种饼干。

  现在,假设你看都不看就随机选择一个碗,拿着蛋糕,得到香草饼干。

  问题:用碗A做香草饼干的概率有多大?

  想法

  这是一个条件概率的问题。我们想得到P(碗A香草蛋糕)。现在我们很容易知道p)香草蛋糕碗a )=3/4。把这两者联系起来,p)碗A香草蛋糕)就好算了。可惜P(AB)和p (ba)不一样。但是贝叶斯定理可以用一个概率计算另一个概率。

  贝叶斯定理推导过程(记住表达式的跳过))))))))))))))))))))。

  联合概率是可交换的,即p(aandb )=p) banda)

  联合概率p[aandb]=p[b]p[ab]独立于任何事件A和b。

  交换分两步进行,即p[banda]=p[a]p[ba]

  根据步骤1的等式,存在p(b) p(ab )=p (a) a) p) ba ),其中以下等式成立。

  将最终方程的两端除以p(b)得到p(ab )=p (a) a) p) ba )/p) b)

  这是贝叶斯定理,推导过程比初中简单多了。让我们来计算一下饼干问题。

  P(碗A香草蛋糕)=P(碗a)) p)香草蛋糕碗a )/P)香草蛋糕)。

  P(碗a )=1/2 P)香草蛋糕碗a )=3/4 P)香草蛋糕)=5/8)) 5030 )=5/8,所以最后算出来就是P)碗A香草蛋糕)=3/5。

  先验概率,后验概率,似然性,标准化常数

  对于上述贝叶斯定理的理解,还有一种“历时性解释”的解释思路。“持续时间”是指随时间发生的事情。在这种情况下,假设的概率随着新数据的出现而改变。

  假设假设假设)和d) D(数据),贝叶斯定理的公式可以写成p(hd )=p (h) h) p) dh )/p) d)

  当考虑H和D时,它们各自的含义如下。

  P(h)称为先验概率,是在获得新数据之前一个假设的概率。如果不能得到抛硬币的结果,假设正反概率分别为50%。

  P(hd)称为后验概率,是我们在查看新数据后应该计算的那个假设的概率。

  P(dh)是在这种假设下得到数据的概率,称为似然。

  P(d)是在任何假设下都能得到数据的概率,称为标准化常数。

  我们可以分析每个值的特征。

  先验概率是主观的,对于某个先验概率,每个人的判断都不一样。比如硬币正反面的概率。有人假设硬币是均匀的,里面和外面的概率是50%;还有人假设硬币其实不是完全均匀的,相反的概率应该是接近的,而不是50%。这是先验概率的主观表达。

  这似乎很容易理解,因为饼干问题,我们将计算饼干来自哪个碗,以及那个碗中有香草饼干的概率。

  常数:该数据在所有假设下出现的概率。比如cookie问题,只有两个假设,盆A或者盆B,他们可以用全概率公式计算p(d)。w表示筷子,Wa表示碗A,Wb表示碗b。

  p(d)=p)wa)p(d wa)p(d)WB)p)d)WB)d)WB)p)d)WB)p)d)WB)d)WB)p)d)WB)p)d)WB)p)w)d)w)w)p)w)w)w)p)w)w)d)w)d)w)w)d)w)d)w)d)w)d)w)d)w)w)p)w)p)w)w)p)p)w)p)d)w)d)w)d)w)w)p)p)w)w)p)p)w)p)p)w)p)p)

  Annes贝叶斯分类算法

  准备完前面的知识,我们来简单了解一下朴素贝叶斯分类器算法。算法的描述取自《机器学习实践指南-案例应用解析(第2版)》 (p473-474)。

  算法解释:

  获取样本文本,手动组织和标记样本。机器学习的关键是要有人工标注的数据,而且是大量的标注数据,可以训练模型。)

  把课文分成不同的类别。

  删除文本中的垃圾条目(可以理解为删除停用词。这样可以有效减少字数,降低维度,提高执行效率)。

  将排序后的词条合成为样本文本的特征短语,并计算词条出现的频率。例如,有三种文本,条目I在类别A、B、C中出现的次数分别为counti(a)、counti(a)和counti(a),每个类别的条目总数为字数)A。

  根据词条的频率信息,计算词条对各类文本的先验概率。I的每一项的先验概率的计算公式如下。

  pi(a )=counti(a )/WORDCOUNT(A)())))))))).

  pi(b )=counti(b )/WORDCOUNT(B)()))))))))))).

  pi(c )=counti(c )/WORDCOUNT(C)))))))))).

  读取未知文本数据,分词,去除垃圾词,形成样本特征短语。

  将未知文本的特征词条的先验概率带入贝叶斯公式,计算后验概率,取出后验概率最大的所属类别,即为该文本所属的类别。

  其他指南

  文本分析

  数据分析

  太好了,蟒蛇

  爬行动物

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: