整合一下学习NB的思路与代码,仅代表个人思想。

目录

  • 算法思想
  • 公式推导
    • 1.问题陈述
    • 2.先验概率分布
    • 3.条件概率分布
    • 4.输入为x的概率
    • 5.用贝叶斯定理求后验概率
    • 7.得到答案
    • 8.简化计算
    • 9.Laplace平滑
  • 用NB分类iris(python实现)

算法思想

我们先来看一下这名字的来由。朴素贝叶斯,“贝叶斯”即基于贝叶斯定理,“朴素”即作了特征条件独立假设,这两个是它最突出的特点。朴素贝叶斯是一种概率模型,同时也是参数化模型,经常用于监督学习的分类应用中,例如垃圾邮件分类。对于训练集,首先学习输入输出的联合概率分布模型,然后基于此模型,对给出的输入x,利用贝叶斯定理求出后验概率最大的类别y作为输出。

公式推导

先来看看朴素贝叶斯分类器长什么样子:
y = a r g m a x c k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) y = argmax_{c_k}P(Y=c_k)\prod_{j}P(X^{(j)}=x^{(j)}|Y=c_k) y=argmaxck​​P(Y=ck​)j∏​P(X(j)=x(j)∣Y=ck​)
看不懂很正常,下面结合例子来一步步推出这个公式。

1.问题陈述

设输入空间X为n维向量x的集合,X = {x1,x2,x3…};
每个x由n个特征来描述,xi = {xi(1),xi(2),…,xi(n)};每个特征 x(j) 有 Sj 个取值。
输出空间Y为类标记集合,有k个取值,Y = {c1,c2,…,ck}。
输入训练数据集T = {(x1,y1),(x2,y2),…,(xn,yn)},我们要做的就是用训练集T学习一个模型,然后用该模型计算后验概率分布 P ( Y = c k ∣ X = x ) P(Y=c_k|X=x) P(Y=ck​∣X=x),将后验概率最大的类y作为x的类输出。

结合一个例子来讲:

天气x(1) 刮风x(2) 温度x(3) 是否出去玩ck
下雨 不去
不刮 不去
下雨 不刮

用朴素贝叶斯分类器求当输入x = (下雨,不刮,低温)时,是否会出去玩。
在该例子中,输入空间X为3维向量x的集合,X = {x1,x2,x3,x4};
每个x由3个特征来描述,x1 = {x1(1)下雨,x1(2)刮,x1(3)低};x2 = {x2(1)晴,x2(2)不刮,x2(3)高}。
特征x(1)有S1=(下雨,晴)2个取值;特征x(2)有S2=(刮,不刮)2个取值;特征x(3)有S3=(低,中,高)3个取值。
输出空间Y有2个取值,Y = {c1去,c2不去}。
输入训练数据集T = {(x1,y1),(x2,y2),(x3,y3),(x4,y4)}

2.先验概率分布

先验概率分布是得到类ck的概率,在这里用极大似然估计法来估计:
P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) N , k = 1 , 2 , . . . , K ( 2.1 ) P(Y=c_k)=\frac{\sum_{i=1}^{N}I(y_i=c_k)}{N},k=1,2,...,K \tag{\color{red}{2.1}} P(Y=ck​)=N∑i=1N​I(yi​=ck​)​,k=1,2,...,K(2.1)
其中N为样本总个数,当指示函数 I ( y i = c k ) I(y_i=c_k) I(yi​=ck​)括号内的条件成立时, I ( y i = c k ) = 1 I(y_i=c_k)=1 I(yi​=ck​)=1,否则为0。

得到类c1=不去玩的概率 P ( Y = c 1 ) = 1 2 P(Y=c_1)=\frac{1}{2} P(Y=c1​)=21​
得到类c2=去玩的概率 P ( Y = c 2 ) = 1 2 P(Y=c_2)=\frac{1}{2} P(Y=c2​)=21​
因为在四个样本中有两个不去和两个去,这种靠数个数来计算概率的方法就是极大似然估计。当样本数量足够多时,极大似然估计很好用,样本数量少时就会有失准确性。

3.条件概率分布

假设各个特征之间都是相互独立的(这是一个较强的假设,朴素贝叶斯的“朴素”就是因为这个假设,此假设牺牲了一定的准确率,却让计算变得很简单),那么条件概率分布为Y=ck时,X=x的概率:
P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , X ( 2 ) = x ( 2 ) , . . . , X ( n ) = x ( n ) ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) ∣ Y = c k ) ∗ P ( X ( 2 ) = x ( 2 ) ∣ Y = c k ) ∗ . . . ∗ P ( X ( n ) = x ( n ) ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) ( 3.1 ) \begin{aligned} P(X=x|Y=c_k) &=P(X^{(1)}=x^{(1)},X^{(2)}=x^{(2)},...,X^{(n)}=x^{(n)}|Y=c_k)\\ &=P(X^{(1)}=x^{(1)}|Y=c_k)*P(X^{(2)}=x^{(2)}|Y=c_k)*...*P(X^{(n)}=x^{(n)}|Y=c_k)\\ &=\prod_{j=1}^{n}P(X^{(j)}=x^{(j)}|Y=c_k) \end{aligned} \tag{\color{red}{3.1}} P(X=x∣Y=ck​)​=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)∣Y=ck​)=P(X(1)=x(1)∣Y=ck​)∗P(X(2)=x(2)∣Y=ck​)∗...∗P(X(n)=x(n)∣Y=ck​)=j=1∏n​P(X(j)=x(j)∣Y=ck​)​(3.1)
在这里也用极大似然估计法来估计条件概率 P ( X ( 1 ) = x ( 1 ) ∣ Y = c k ) P(X^{(1)}=x^{(1)}|Y=c_k) P(X(1)=x(1)∣Y=ck​):
P ( X ( 1 ) = x ( 1 ) ∣ Y = c k ) = ∑ i = 1 N I ( X i ( 1 ) = x ( 1 ) , y i = c k ) ∑ i = 1 N I ( y i = c k ) ( 3.2 ) P(X^{(1)}=x^{(1)}|Y=c_k)=\frac{\sum_{i=1}^{N}I(X_i^{(1)}=x^{(1)},y_i=c_k)}{\sum_{i=1}^{N}I(y_i=c_k)} \tag{\color{red}{3.2}} P(X(1)=x(1)∣Y=ck​)=∑i=1N​I(yi​=ck​)∑i=1N​I(Xi(1)​=x(1),yi​=ck​)​(3.2)
其中N为样本总个数,当指示函数 I ( y i = c k ) I(y_i=c_k) I(yi​=ck​)括号内的条件成立时, I ( y i = c k ) = 1 I(y_i=c_k)=1 I(yi​=ck​)=1,否则为0;当 I ( X i ( 1 ) = x ( 1 ) , y i = c k ) I(X_i^{(1)}=x^{(1)},y_i=c_k) I(Xi(1)​=x(1),yi​=ck​)括号内的两个条件都成立时为1,否则为0;最后累加起来就相当于在数个数。

当假设各个特征之间相互独立时,相当于假设天气,温度和刮风之间互不影响(其实在正常生活中,天气的好坏会影响温度的,也就是说在现实问题中毫无关系的特征几乎不存在)。
由 ( 3.2 ) \color{red}{(3.2)} (3.2)得x(1)=下雨时,y=去的概率:
P ( x ( 1 ) = 下 雨 ∣ Y = 去 ) = ∑ i = 1 4 I ( x ( 1 ) = 下 雨 , y i = 去 ) = 1 ∑ i = 1 4 I ( y i = 去 ) = 2 P(x^{(1)}=下雨|Y=去)=\frac{\sum_{i=1}^{4}I(x^{(1)}=下雨,y_i=去)=1}{\sum_{i=1}^{4}I(y_i=去)=2} P(x(1)=下雨∣Y=去)=∑i=14​I(yi​=去)=2∑i=14​I(x(1)=下雨,yi​=去)=1​
那么当Y=c1去时,由 ( 3.1 ) \color{red}{(3.1)} (3.1)得x = (下雨,不刮,低温)概率为:
P ( x = ( 下 雨 , 不 刮 , 低 温 ) ∣ Y = 去 ) = P ( x ( 1 ) = 下 雨 , x ( 2 ) = 不 刮 , x ( 3 ) = 低 温 ∣ Y = 去 ) = P ( x ( 1 ) = 下 雨 ∣ Y = 去 ) ∗ P ( x ( 2 ) = 不 刮 ∣ Y = 去 ) ∗ P ( x ( 3 ) = 低 温 ∣ Y = 去 ) = 1 2 ∗ 1 2 ∗ 0 = 0 ( 3.3 ) \begin{aligned} P(x = (下雨,不刮,低温)|Y=去) &=P(x^{(1)}=下雨,x^{(2)}=不刮,x^{(3)}=低温|Y=去)\\ &=P(x^{(1)}=下雨|Y=去)*P(x^{(2)}=不刮|Y=去)*P(x^{(3)}=低温|Y=去)\\ &=\frac{1}{2}*\frac{1}{2}*0\\ &=0 \end{aligned} \tag{\color{red}{3.3}} P(x=(下雨,不刮,低温)∣Y=去)​=P(x(1)=下雨,x(2)=不刮,x(3)=低温∣Y=去)=P(x(1)=下雨∣Y=去)∗P(x(2)=不刮∣Y=去)∗P(x(3)=低温∣Y=去)=21​∗21​∗0=0​(3.3)
当Y=c2不去时,x = (下雨,不刮,低温)概率为:
P ( x = ( 下 雨 , 不 刮 , 低 温 ) ∣ Y = 不 去 ) = P ( x ( 1 ) = 下 雨 , x ( 2 ) = 不 刮 , x ( 3 ) = 低 温 ∣ Y = 不 去 ) = P ( x ( 1 ) = 下 雨 ∣ Y = 不 去 ) ∗ P ( x ( 2 ) = 不 刮 ∣ Y = 不 去 ) ∗ P ( x ( 3 ) = 低 温 ∣ Y = 不 去 ) = 1 2 ∗ 1 2 ∗ 1 2 = 1 8 ( 3.4 ) \begin{aligned} P(x = (下雨,不刮,低温)|Y=不去) &=P(x^{(1)}=下雨,x^{(2)}=不刮,x^{(3)}=低温|Y=不去)\\ &=P(x^{(1)}=下雨|Y=不去)*P(x^{(2)}=不刮|Y=不去)*P(x^{(3)}=低温|Y=不去)\\ &=\frac{1}{2}*\frac{1}{2}*\frac{1}{2}\\ &=\frac{1}{8} \end{aligned} \tag{\color{red}{3.4}} P(x=(下雨,不刮,低温)∣Y=不去)​=P(x(1)=下雨,x(2)=不刮,x(3)=低温∣Y=不去)=P(x(1)=下雨∣Y=不去)∗P(x(2)=不刮∣Y=不去)∗P(x(3)=低温∣Y=不去)=21​∗21​∗21​=81​​(3.4)

4.输入为x的概率

接下来还需要计算输入为x = {x(1),x(2),…,x(n)} 的概率。
输入为x的概率 P ( X = x ) P(X=x) P(X=x)就是x为类c1的概率,x为类c2的概率…x为类ck的概率相加起来:
P ( X = x ) = P ( Y = c 1 ) ∗ P ( X = x ∣ Y = c 1 ) + P ( Y = c 2 ) ∗ P ( X = x ∣ Y = c 2 ) + . . . + P ( Y = c k ) ∗ P ( X = x ∣ Y = c k ) = ∑ k = 1 K P ( Y = c k ) ∗ P ( X = x ∣ Y = c k ) \begin{aligned} P(X=x) &=P(Y=c_1)*P(X=x|Y=c_1)+P(Y=c_2)*P(X=x|Y=c_2)+...+P(Y=c_k)*P(X=x|Y=c_k)\\ &=\sum_{k=1}^{K}{P(Y=c_k)*P(X=x|Y=c_k)} \end{aligned} P(X=x)​=P(Y=c1​)∗P(X=x∣Y=c1​)+P(Y=c2​)∗P(X=x∣Y=c2​)+...+P(Y=ck​)∗P(X=x∣Y=ck​)=k=1∑K​P(Y=ck​)∗P(X=x∣Y=ck​)​

计算x=(下雨,不刮,低温)的概率,由步骤2得 P ( Y = c 1 ) = P ( Y = c 2 ) = 1 2 P(Y=c_1)=P(Y=c_2)=\frac{1}{2} P(Y=c1​)=P(Y=c2​)=21​;
由式 ( 3.3 ) \color{red}{(3.3)} (3.3) ( 3.4 ) \color{red}{(3.4)} (3.4)得: P ( x = ( 下 雨 , 不 刮 , 低 温 ) ∣ Y = 去 ) = 0 P(x = (下雨,不刮,低温)|Y=去)=0 P(x=(下雨,不刮,低温)∣Y=去)=0;
P ( x = ( 下 雨 , 不 刮 , 低 温 ) ∣ Y = 不 去 ) = 1 8 P(x = (下雨,不刮,低温)|Y=不去)=\frac{1}{8} P(x=(下雨,不刮,低温)∣Y=不去)=81​;
故得输入为x = (下雨,不刮,低温)的概率为:
P ( x = ( 下 雨 , 不 刮 , 低 温 ) ) = P ( Y = 去 ) ∗ P ( x = ( 下 雨 , 不 刮 , 低 温 ) ∣ Y = 去 ) + P ( Y = 不 去 ) ∗ P ( x = ( 下 雨 , 不 刮 , 低 温 ) ∣ Y = 不 去 ) = 1 2 ∗ 1 8 + 1 2 ∗ 0 = 1 16 \begin{aligned} P(x = (下雨,不刮,低温)) &=P(Y=去)*P(x = (下雨,不刮,低温)|Y=去)+P(Y=不去)*P(x = (下雨,不刮,低温)|Y=不去)\\ &=\frac{1}{2}*\frac{1}{8}+\frac{1}{2}*0\\ &=\frac{1}{16} \end{aligned} P(x=(下雨,不刮,低温))​=P(Y=去)∗P(x=(下雨,不刮,低温)∣Y=去)+P(Y=不去)∗P(x=(下雨,不刮,低温)∣Y=不去)=21​∗81​+21​∗0=161​​

5.用贝叶斯定理求后验概率

贝叶斯定理:
P ( A ∣ B ) = P ( B ∣ A ) ∗ P ( A ) P ( B ) P(A|B)=\frac{P(B|A)*P(A)}{P(B)} P(A∣B)=P(B)P(B∣A)∗P(A)​
在这里,Y=ck就是A,X=x就是B,那么就得到了计算后验概率的公式:
P ( Y = c k ∣ X = x ) = P ( X = x ∣ Y = c k ) ∗ P ( Y = c k ) P ( X = x ) ( 5.1 ) P(Y=c_k|X=x)=\frac{P(X=x|Y=c_k)*P(Y=c_k)}{P(X=x)} \tag{\color{red}{5.1}} P(Y=ck​∣X=x)=P(X=x)P(X=x∣Y=ck​)∗P(Y=ck​)​(5.1)

我们已经在步骤2,3中计算出了分子,步骤4中计算出了分母,所以将步骤2,3,4中的结果代入式 ( 5.1 ) \color{red}{(5.1)} (5.1)得:
输入x = (下雨,不刮,低温)时,输出Y=去的后验概率为:
P ( Y = 去 ∣ x = ( 下 雨 , 不 刮 , 低 温 ) ) = P ( x = ( 下 雨 , 不 刮 , 低 温 ) ∣ Y = 去 ) ∗ P ( Y = 去 ) P ( x = ( 下 雨 , 不 刮 , 低 温 ) ) = 0 ∗ 1 2 1 16 = 0 ( 5.2 ) \begin{aligned} P(Y=去|x = (下雨,不刮,低温)) &=\frac{P(x = (下雨,不刮,低温)|Y=去)*P(Y=去)}{P(x = (下雨,不刮,低温))}\\ &=\frac{0*\frac{1}{2}}{\frac{1}{16}}\\ &=0 \end{aligned} \tag{\color{red}{5.2}} P(Y=去∣x=(下雨,不刮,低温))​=P(x=(下雨,不刮,低温))P(x=(下雨,不刮,低温)∣Y=去)∗P(Y=去)​=161​0∗21​​=0​(5.2)
输入x = (下雨,不刮,低温)时,输出Y=不去的后验概率为:
P ( Y = 不 去 ∣ x = ( 下 雨 , 不 刮 , 低 温 ) ) = P ( x = ( 下 雨 , 不 刮 , 低 温 ) ∣ Y = 不 去 ) ∗ P ( Y = 不 去 ) P ( x = ( 下 雨 , 不 刮 , 低 温 ) ) = 1 8 ∗ 1 2 1 16 = 1 ( 5.3 ) \begin{aligned} P(Y=不去|x = (下雨,不刮,低温)) &=\frac{P(x = (下雨,不刮,低温)|Y=不去)*P(Y=不去)}{P(x = (下雨,不刮,低温))}\\ &=\frac{\frac{1}{8}*\frac{1}{2}}{\frac{1}{16}}\\ &=1 \end{aligned} \tag{\color{red}{5.3}} P(Y=不去∣x=(下雨,不刮,低温))​=P(x=(下雨,不刮,低温))P(x=(下雨,不刮,低温)∣Y=不去)∗P(Y=不去)​=161​81​∗21​​=1​(5.3)

7.得到答案

朴素贝叶斯分类器将最大的后验概率对应的类ck作为x的类输出,由式 ( 5.1 ) \color{red}{(5.1)} (5.1)得:
y = a r g m a x c k P ( Y = c k ∣ X = x ) y = argmax_{c_k}P(Y=c_k|X=x) y=argmaxck​​P(Y=ck​∣X=x)

我们已经由式 ( 5.2 ) \color{red}{(5.2)} (5.2) ( 5.3 ) \color{red}{(5.3)} (5.3)得到了x对应的每个类的后验概率,只需最后一步比较大小,将最大的找出来,就得到了答案。
y = a r g m a x c k P ( Y = c k ∣ X = x ) = a r g m a x c k { P ( Y = 去 ∣ x = ( 下 雨 , 不 刮 , 低 温 ) ) , P ( Y = 不 去 ∣ x = ( 下 雨 , 不 刮 , 低 温 ) ) } = a r g m a x c k { 0 , 1 } = c 2 不 去 \begin{aligned} y &= argmax_{c_k}P(Y=c_k|X=x)\\ &=argmax_{c_k}\{P(Y=去|x = (下雨,不刮,低温)),P(Y=不去|x = (下雨,不刮,低温))\}\\ &=argmax_{c_k}\{0,1\}\\ &=c_2不去 \end{aligned} y​=argmaxck​​P(Y=ck​∣X=x)=argmaxck​​{P(Y=去∣x=(下雨,不刮,低温)),P(Y=不去∣x=(下雨,不刮,低温))}=argmaxck​​{0,1}=c2​不去​
所以当输入x = (下雨,不刮,低温)时,不会出去玩。

8.简化计算

在计算后验概率的公式 ( 5.1 ) \color{red}{(5.1)} (5.1)中可以发现,对于不同类的对应后验概率的计算中,分母都是一样的,而我们最终只比较后验概率的大小,所以只需比较分子的大小就可以了,去掉分母并不影响最后的结果,所以最终的朴素贝叶斯分类器公式为:
y = a r g m a x c k P ( X = x ∣ Y = c k ) ∗ P ( Y = c k ) = a r g m a x c k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) \begin{aligned} y &=argmax_{c_k}P(X=x|Y=c_k)*P(Y=c_k)\\ &=argmax_{c_k}P(Y=c_k)\prod_{j}P(X^{(j)}=x^{(j)}|Y=c_k) \end{aligned} y​=argmaxck​​P(X=x∣Y=ck​)∗P(Y=ck​)=argmaxck​​P(Y=ck​)j∏​P(X(j)=x(j)∣Y=ck​)​

9.Laplace平滑

首先在步骤1中我们已经说过,每个x由n个特征来描述,x1 = {x1(1),x1(2),…,x1(n)};每个特征x(j)有Sj个取值。那么所有可能取得的x个数就为 ∏ j = 1 n S j \prod_{j=1}^{n}S_j ∏j=1n​Sj​。比如在该例中S1=2;S2=2;S3=3。所以所有可能取得的x个数就为2×2×3=12。也就是说, 每个输入x的可能性都是 1 12 \frac{1}{12} 121​。

但在步骤4中我们求得输入为x = (下雨,不刮,低温)的概率却为 1 16 \frac{1}{16} 161​,这是为什么呢?

因为在计算过程中,一直使用的是极大似然估计,而极大似然估计可能会出现所要估计的概率值为0的情况,比如在上例中,低温的两个样本都不去玩,导致 P ( x ( 3 ) = 低 温 ∣ Y = 去 ) P(x^{(3)}=低温|Y=去) P(x(3)=低温∣Y=去)的概率为0,进而导致后续计算 P ( Y = 去 ∣ x = ( 下 雨 , 不 刮 , 低 温 ) ) P(Y=去|x = (下雨,不刮,低温)) P(Y=去∣x=(下雨,不刮,低温))也是0。这时就会影响到后验概率的计算结果,使分类产生偏差,因为或许在更多的样本中会出现低温时也出去玩的情况。

解决这个问题的方法就是采用贝叶斯估计。

具体地,在分子分母上加一项正数 λ > 0 \lambda>0 λ>0。一般情况下,常取 λ = 1 \lambda=1 λ=1,这时称为拉普拉斯平滑。

采用贝叶斯估计而非极大似然估计(式 ( 3.2 ) \color{red}{(3.2)} (3.2))的条件概率如下:
P λ ( X ( 1 ) = x ( 1 ) ∣ Y = c k ) = ∑ i = 1 N I ( X i ( 1 ) = x ( 1 ) , y i = c k ) + λ ∑ i = 1 N I ( y i = c k ) + S j ∗ λ P_\lambda(X^{(1)}=x^{(1)}|Y=c_k)=\frac{\sum_{i=1}^{N}I(X_i^{(1)}=x^{(1)},y_i=c_k)+\lambda}{\sum_{i=1}^{N}I(y_i=c_k)+S_j*\lambda} Pλ​(X(1)=x(1)∣Y=ck​)=∑i=1N​I(yi​=ck​)+Sj​∗λ∑i=1N​I(Xi(1)​=x(1),yi​=ck​)+λ​

取 λ = 1 \lambda=1 λ=1,由上式得x(1)=下雨时,y=去的概率:
P λ ( x ( 1 ) = 下 雨 ∣ Y = 去 ) = ∑ i = 1 4 I ( x ( 1 ) = 下 雨 , y i = 去 ) + 1 ∑ i = 1 4 I ( y i = 去 ) + 2 ∗ 1 = 1 2 P_\lambda(x^{(1)}=下雨|Y=去)=\frac{\sum_{i=1}^{4}I(x^{(1)}=下雨,y_i=去)+1}{\sum_{i=1}^{4}I(y_i=去)+2*1}=\frac{1}{2} Pλ​(x(1)=下雨∣Y=去)=∑i=14​I(yi​=去)+2∗1∑i=14​I(x(1)=下雨,yi​=去)+1​=21​
可以看到,当条件概率不为0时,贝叶斯估计的结果与极大似然估计是一致的,但当条件概率恰好为0时,贝叶斯估计的作用就体现了出来,消除了0造成的误差。

用NB分类iris(python实现)

pycharm+python3.7.4,完整代码如下:

# file-settings-python interpreter导包
# 导入科学计算工具
import numpy as np
# 导入鸢尾花数据集
from sklearn.datasets import load_iris
# 导入朴素贝叶斯
from sklearn import naive_bayes# 加载鸢尾花数据集
iris = load_iris()
# 提取数据
trainX = iris.data
# 提取标签
trainY = iris.target
# 建立高斯分布的朴素贝叶斯模型
clf=naive_bayes.GaussianNB()  #高斯分布,没有参数
# 建立多项式分布的朴素贝叶斯模型
# clf=naive_bayes.MultinomialNB()  #多项式分布# 训练模型
clf.fit(trainX,trainY)
# 输出准确率
print("准确率:" + str(clf.score(trainX,trainY)))

实验结果:

准确率:0.96

朴素贝叶斯法(Naive Bayes,NB)(结合例子推公式,通俗易懂)相关推荐

  1. 朴素贝叶斯(naive bayes)原理小结

    朴素贝叶斯(naive bayes)原理小结 1. 朴素贝叶斯的学习 1.1 基本假设:条件独立性 1.2 朴素贝叶斯分类器 1.3 后验概率的含义 2. 参数估计 2.1 极大似然估计 2.2 贝叶 ...

  2. python机器学习-朴素贝叶斯(Naive Bayes)模型建立及评估(完整代码+实现效果)

    实现功能: python机器学习-朴素贝叶斯(Naive Bayes)模型建立及评估. 实现代码: # 导入需要的库 from warnings import simplefilter simplef ...

  3. 朴素贝叶斯(naive bayes)分类

    1. 概念回顾 1.1 条件概率公式 条件概率是指在事件B发生的条件下,事件A发生的概率.条件概率表示为P(A∣B)P(A|B)P(A∣B),读作"A在B发生的条件下发生的概率". ...

  4. 朴素贝叶斯(Naive Bayes)分类和Gaussian naive Bayes

    朴素贝叶斯(Naive Bayes)   参考资料:https://www.cnblogs.com/pinard/p/6069267.html   朴素贝叶斯最关键的就是 (强制认为每种指标都是独立的 ...

  5. 【机器学习sklearn】高斯朴素贝叶斯 Gaussian naive bayes

    贝叶斯Bayes - Thomas Bayes 前言 一.贝叶斯决策论(Bayesian decision theory) 二.实例:高斯朴素贝叶斯 Gaussian Naive Bayes (Gau ...

  6. 朴素贝叶斯(Naive Bayes):鸢尾花分类项目(不调库,手工推)

    一.数据来源 1.数据来源:kaggle 2.数据样式 通过对数据"萼片.花瓣的长度.宽度(sepal_length.sepal_width.petal_length.petal_width ...

  7. 朴素贝叶斯(Naive Bayes)(原理+Python实现)

    朴素贝叶斯(Naive Bayes)(原理+Python实现) 创作背景 算法分类 生成类算法 判别类算法 区别 知识补充 朴素贝叶斯算法 举个栗子 求解思路 求解过程(数学计算) 代码实现 自己实现 ...

  8. python贝叶斯模型_【机器学习速成宝典】模型篇05朴素贝叶斯【Naive Bayes】(Python版)...

    目录 先验概率与后验概率 条件概率公式.全概率公式.贝叶斯公式 什么是朴素贝叶斯(Naive Bayes) 拉普拉斯平滑(Laplace Smoothing) 应用:遇到连续变量怎么办?(多项式分布, ...

  9. 机器学习——朴素贝叶斯(Naive Bayes)详解及其python仿真

    参考视频与文献: https://www.bilibili.com/video/BV1oX4y137p9?spm_id_from=333.999.0.0&vd_source=77c874a50 ...

  10. 朴素贝叶斯(Naive Bayes)详解

    朴素贝叶斯是贝叶斯分类器中的一种模型,用已知类别的数据集训练模型,从而实现对未知类别数据的类别判断.其理论基础是贝叶斯决策论(Bayesian decision theory). 一:基础知识 (1) ...

最新文章

  1. Beta 冲刺 (7/7)
  2. C语言模拟实现库函数 atoi
  3. Gnuplot使用x11终端自动注销问题
  4. 深度学习笔记5:Building Deep Networks for Classification
  5. 鸟哥的Linux私房菜(服务器)- 第十二章、网络参数控管者: DHCP 服务器
  6. unity导出工程导入到iOS原生工程中详细步骤
  7. PHP 从数组对象中取出数组提示:Undefined property: stdClass::$subject
  8. ASP.NET Core 3.0预览版体验
  9. js 数组 ajax php,js里面的对象ajax post到php端直接变成数组了?
  10. Flask-Script扩展命令行manager = Manager(app)
  11. hhkb mac设置_把 HHKB 放在 MacBook 上使用的解决方案
  12. android 图像处理(黑白,模糊,浮雕,圆角,镜像,底片,油画,灰白,加旧)...
  13. 安装虚拟机vmware8.0.4版本
  14. java冒泡排序和插入排序
  15. matlab求解一阶微分方程组
  16. 做一名有幸福感的计算机教师,做一名具有幸福感的教师
  17. unity科技风UI界面
  18. 取带runas的一些优秀小工具介绍
  19. 现就本人在初学MFC中遇到的问题以及解决方法做一下总结,软件环境为VS2008
  20. React ref的基本使用

热门文章

  1. JAVA线程 -- Interrupt
  2. Linux系统目录、文件的创建,编辑与合并,移动以及删除
  3. 堆栈区别和堆栈溢出原因
  4. 彻底实现Linux TCP的Pacing发送逻辑-高精度hrtimer版
  5. 计算机管理物流应用专业,物流管理专业是做什么的
  6. T2噬菌体MVC案例教程
  7. JavaScript 迭代器 迭代对象
  8. 手把手带你玩转Spark机器学习-使用Spark进行数据降维
  9. 电动流量调节阀的流量测量仪表的分类
  10. Oracle有个A-TEAM