优点:在数据较少的情况下仍然有效,可以处理多类别问题。
缺点:对于输入数据的准备方式较为敏感。
适用数据类型:标称型数据。
贝叶斯公式
P(c/x) =P(x,c)/P(x)= P(x/c)P(c)/P(x)
公式含义:
左边P(c/x)表示在已知x条件下,c事件发生的概率。
右边P(x,c)表示事件x,c同时成立的概率。
贝叶斯公式分类的基本思想
假设数据图上有个点(x,y),我们定义P1(x,y)为数据点(x,y)属于1类的概率,P2(x,y)为数据点(x,y)属于2类的概率,我们可以用下列规则来判断它们的类别:
如果P1(x,y) > P2(x,y),那么我们认为点(x,y)属于1类。
如果P2(x,y) > P1(x,y),那么我们认为点(x,y)属于2类。
根据贝叶斯公司,我们知道数据点(x,y)属于1类的概率为P(C1/x,y)=P(x,y/C1)P(C1)/P(x,y),属于2类的概率为P(C2/x,y)=P(x,y/C2)P(C2)/P(x,y),然后比较P(C1/x,y)与(C2/x,y)的大小来判断(x,y)是属于C1还是C2。
贝叶斯与文本分类
以下这几个函数用于比较两个向量中相同的词条
基于上面三个函数,我们能够知道一个词是否出现在一篇文档中,也知道该文档属性的类别了。我们现在要重写贝叶斯准则,将之前的x、y替换为w。
P(ci|w) = P(w|ci)P(ci)/P(w)
我们将使用以上公式对每个类计算,然后比较概率值的大小。首先通过类别i中文档数除以总的文档数来计算概率P(ci)。接着计算P(w|ci),这里假设w展开为一个个独立特征,那么就可以将上述概率写作P(w0,w1,w2,w3...wn|ci),由于各特征独立,也可以写作P(w0|ci)P(w1|ci)P(w2|ci)P(w3|ci)...P(wn|ci)来计算上述概率,这就极大的简化来计算过程。
我们在来写一个朴素贝叶斯分类器训练函数
这个函数基于以上三个函数的结果进行进一步计算,前提是认为类别只有1和0,计算得出P(w0|c0)和P(w1|c1)