zoukankan      html  css  js  c++  java
  • 朴素贝叶斯分类

    (2017-05-06 银河统计)

    朴素贝叶斯分类算法(Naive Bayes classifier)以贝叶斯定理为基础,故统称为贝叶斯分类。朴素贝叶斯算法简单高效,在处理分类问题上,是应该首先考虑的方法之一。

    贝叶斯定理解决了现实生活里经常遇到的问题:已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)。

    一、准备知识

    1、条件概率

    设有事件A、B,条件概率记为(P(B|A)),表示事件A发生前提下,事件B发生的概率。条件概率(P(B|A))和事件原概率有如下关系:

    [P(B|A)=frac{P(AB)}{P(A)} ]

    例 I、五个乒乓球(3个新的、2个旧的),每次取一个,无放回地取两次,求第1次取到新球的条件下第2次取到新球的概率。

    解、

    记,A="第1次取到新球"; B="第2次取到新球"。第1次取到新球的条件下第2次取到新球的概率为,

    [P(B|A)=frac{P(AB)}{P(A)}=frac{frac{3}{5} imesfrac{2}{4}}{frac{3}{5}}=frac{2}{4}=0.5 ]

    2、事件的独立性

    如果事件A、B中一个事件的发生并不影响另一个事件发生的概率,称两个事件是相互独立的。即,

    [P(AB)=P(A) imes P(B) ]

    当两个事件相互独立时,

    [P(B|A)=frac{P(AB)}{P(A)}=frac{P(A) imes P(B)}{P(A)}=P(B) ]

    例 II、五个乒乓球(3个新的、2个旧的),每次取一个,有放回地取两次,求第1次取到新球的条件下第2次取到新球的概率。

    解、由于有放回抽样,第1次抽到新球或旧球都对第2次抽到新球或旧球的概率没有影响。

    记,A="第1次取到新球"; B="第2次取到新球"。第1次取到新球的条件下第2次取到新球的概率为,

    [P(B|A)=frac{P(AB)}{P(A)}=frac{P(A) imes P(B)}{P(A)}=P(B)=frac{3}{5} ]

    3、全概公式

    如果事件组(A_1,A_2,dots,A_n)满足:

      a. (A_1,A_2,dots,A_n)互不相容(不能同时发生),且(P(A_i)>0 (i=1,2,dots,n))
      b. (A_1+A_2+dots+A_n=U)(完备性)。

    则对任一事件B皆有,

    [P(B)=sum^n_{i=1}P(A_i) imes P(B|A_i) ]

    例III、五个乒乓球(3个新的、2个旧的),每次取一个,无放回地取两次,求第2次取到新球的概率。

    解、由于无放回抽样对第2次抽到新球或旧球的概率有影响,需要考虑不知第1次抽到是新球还是旧球。

    记,A="第1次取到新球"; (overline{A})="第1次取到旧球";B="第2次取到新球"。由于事件,

    [B=BA+Boverline{A} ]

    (BA,Boverline{A})互不相容。则有,

    [P(B)=P(BA)+P(Boverline{A}) ]

    所以,第2次取到新球的概率为,

    [P(B)=P(BA)+P(Boverline{A})=frac{3}{5} imesfrac{2}{4}+frac{2}{5} imesfrac{3}{4}=frac{3}{5} ]

    例IV、甲、乙、丙三人向同一飞机射击,每人射中的概率分别为0.4、0.5、0.7。又若一人射中,飞机坠毁的概率为0.2;若两人射中,飞机坠毁的概率为0.6;若三人射中,飞机坠毁的必坠毁。求飞机坠毁的概率。

    解、记B="飞机坠毁";(A_0)="三人皆射不中";(A_1)="一人射中";(A_2)="两人射中";(A_3)="三人皆射中"。显然,(A_0,A_1,A_2,A_3)是完备事件组(包括了所以可能发生的事件)。按加法和乘法概率公式有:

      (P(A_0)=(1-0.4) imes (1-0.5) imes (1-0.7)=0.6 imes 0.5 imes 0.3=0.09)
      (P(A_1)=0.4 imes 0.5 imes 0.3+0.6 imes 0.5 imes 0.3+0.6 imes 0.5 imes 0.7=0.36)
      (P(A_2)=0.6 imes 0.5 imes 0.7+0.4 imes 0.5 imes 0.7+0.4 imes 0.5 imes 0.3=0.41)
      (P(A_3)=0.4 imes 0.5 imes 0.7=0.14)

    再由题意可知,

    [P(B|A_0)=0,hspace{1cm}P(B|A_1)=0.2,hspace{1cm}P(B|A_2)=0.6,hspace{1cm}P(B|A_3)=1 ]

    利用全概公式得,

    [P(B)=sum^3_{i=0}P(A_i) imes P(B|A_i)=0.09 imes 0+0.36 imes 0.2+0.41 imes 0.6+0.14 imes 1=0.458 ]

    4、贝叶斯公式(逆概公式)

    (A_1,A_2,dots,A_n)为一完备事件组,则对任一事件B有,

    [P(A_j|B)=frac{P(A_jB)}{P(B)}=frac{P(A_i) imes P(B|A_i)}{sum^n_{i=1}P(A_i) imes P(B|A_i)} ]

    例V、甲、乙、丙三人向同一飞机射击,每人射中的概率分别为0.4、0.5、0.7。又若一人射中,飞机坠毁的概率为0.2;若两人射中,飞机坠毁的概率为0.6;若飞机被射中坠毁,求甲射中的的概率。

    解、记B="飞机坠毁";S="甲击中",若飞机坠毁甲射中的的概率为,

    [P(S|B)=frac{P(SB)}{P(B)}=frac{P(SB)}{sum^3_{i=0}P(A_i) imes P(B|A_i)}=frac{0.4 imes 0.5 imes 0.3 imes 0.2}{0.458}=frac{0.012}{0.458}=0.0262 ]

    5、朴素贝叶斯分类器公式

    假设某样本集有n项特征(Feature),分别为(F_1、F_2、dots、F_n)。现有判别特征C有m个类别(Category),分别为(C_1、C_2、dots、C_m)。贝叶斯分类器就是计算出给定特征(F_1、F_2、dots、F_n)某一水平的判别特征C的概率,即,

    [P(C|F_1F_2dots F_n)=frac{P(F_1F_2dots F_n|C) imes P(C)}{P(F_1F_2dots F_n)} ]

    这里用到了条件(多个条件)概率和逆概公式。由于 (P(F_1F_2dots F_n)) 对于所有的类别都是相同的,可以省略,问题就变成了求分子(P(F_1F_2dots F_n|C) imes P(C))的最大值(最大发生概率)。

    朴素贝叶斯分类器的一个重要特征是假设所有特征都彼此独立,因此,

    [P(F_1F_2dots F_n|C) imes P(C)=P(F_1|C) imes P(F_2|C)dots P(F_n|C) imes P(C) ]

    上式等号右边的每一项,都可以从统计资料中得到,由此就可以计算出每个类别对应的概率,从而找出最大概率的那个类。虽然"所有特征彼此独立"这个假设在现实中不太可能成立,但是它可以大大简化计算,而且有研究表明对分类结果的准确性影响不大。

    二、朴素贝叶斯概率模型

    1、特征属性为离散值

    现有离散型特征属性信息表(附表 - 1:购买计算机信息)如下,

    No.AgeIncomeStudentCredit-ratingBuy-computer
    1$leq 30$hightnofairno
    2$leq 30$hightnoexcellentno
    331-40hightnofairyes
    4>40mediumnofairyes
    5>40lowyesfairyes
    6>40lowyesexcellentno
    731-40lowyesexcellentyes
    8$leq 30$mediumnofairno
    9$leq 30$lowyesfairyes
    10>40mediumyesfairyes
    11$leq 30$mediumyesexcellentyes
    1231-40mediumnoexcellentyes
    1331-40hightyesfairyes
    14>40mediumnoexcellentno

    当某人的数据信息如下:

    (Ageleq 30, Income = medium, Student = yes, Credit-rating = fair),试用朴素贝叶斯分类器判断此人是否购买计算机(Buys-computer = ?)。

    为了方便使用概率公式描述问题解决过程,特征属性信息表(附表 - 2)简化如下:

    No.AgeIncomeStudentCreditBuy
    1AHNFN
    2AHNEN
    3BHNFY
    4CMNFY
    5CLYFY
    6CLYEN
    7BLYEY
    8AMNFN
    9ALYFY
    10CMYFY
    11AMYEY
    12BMNEY
    13BHYFY
    14CMNEN

    某人数据信息改为如下:

    (Age = A, Income = M, Student = Y, Credit = F)

    试用朴素贝叶斯分类器判断此人是否购买计算机(Buy = ?)。

    决策特征变量(Buy-computer)的每个类的先验概率为,

    [P(Buy=Y)=frac{9}{14}=0.642857, hspace{1cm}P(Buy=N)=frac{5}{14}=0.357143 ]

    每个学习样本特征属性值对决策特征变量每个类(Buy = Y)的条件概率,

    [P(Age=A|Buy=Y)=frac{P(Age=Ahspace{0.2cm} andhspace{0.2cm} Buy=Y)}{P(Buy=Y)}=frac{2/14}{9/14}=frac{2}{9}=0.222222 ]

    [P(Income=M|Buy=Y)=frac{P(Income=Mhspace{0.2cm} andhspace{0.2cm} Buy=Y)}{P(Buy=Y)}=frac{4/14}{9/14}=frac{4}{9}=0.444444 ]

    [P(Student=Y|Buy=Y)=frac{P(Student=Yhspace{0.2cm} andhspace{0.2cm} Buy=Y)}{P(Buy=Y)}=frac{6/14}{9/14}=frac{6}{9}=0.666667 ]

    [P(Credit=F|Buy=Y)=frac{P(Credit=Fhspace{0.2cm} andhspace{0.2cm} Buy=Y)}{P(Buy=Y)}=frac{6/14}{9/14}=frac{6}{9}=0.666667 ]

    每个学习样本特征属性值对决策特征变量每个类(Buy = N)的条件概率,

    [P(Age=A|Buy=N)=frac{P(Age=Ahspace{0.2cm} andhspace{0.2cm} Buy=N)}{P(Buy=N)}=frac{3/14}{5/14}=frac{3}{5}=0.6 ]

    [P(Income=M|Buy=N)=frac{P(Income=Mhspace{0.2cm} andhspace{0.2cm} Buy=N)}{P(Buy=N)}=frac{2/14}{5/14}=frac{2}{5}=0.4 ]

    [P(Student=Y|Buy=N)=frac{P(Student=Yhspace{0.2cm} andhspace{0.2cm} Buy=N)}{P(Buy=N)}=frac{1/14}{5/14}=frac{1}{5}=0.2 ]

    [P(Credit=F|Buy=N)=frac{P(Credit=Fhspace{0.2cm} andhspace{0.2cm} Buy=N)}{P(Buy=N)}=frac{2/14}{5/14}=frac{2}{5}=0.4 ]

    已知某人信息为,

    (Age = A, Income = M, Student = Y, Credit = F)

    设所有特征都彼此独立,由贝叶斯公式,购买计算机的概率公式为,

    [P(Buy=Y|Age=Ahspace{0.1cm}andhspace{0.1cm}Income=Mhspace{0.1cm}andhspace{0.1cm}Student=Yhspace{0.1cm}andhspace{0.1cm}Credit=F) ]

    [small{=frac{P(Age=Ahspace{0.1cm}andhspace{0.1cm}Income=Mhspace{0.1cm}andhspace{0.1cm}Student=Yhspace{0.1cm}andhspace{0.1cm}Credit=F|Buy=Y) imes P(Buy=Y)}{P(Age=Ahspace{0.1cm}andhspace{0.1cm}Income=Mhspace{0.1cm}andhspace{0.1cm}Student=Yhspace{0.1cm}andhspace{0.1cm}Credit=F)}} ]

    [small{=frac{P(Age=A|Buy=Y) imes P(Income=M|Buy=Y) imes P(Student=Y|Buy=Y) imes P(Credit=F|Buy=Y) imes P(Buy=Y)}{P(Age=Ahspace{0.1cm}andhspace{0.1cm}Income=Mhspace{0.1cm}andhspace{0.1cm}Student=Yhspace{0.1cm}andhspace{0.1cm}Credit=F)}}hspace{1cm}(1) ]

    该人不购买计算机的概率公式为,

    [P(Buy=N|Age=Ahspace{0.1cm}andhspace{0.1cm}Income=Mhspace{0.1cm}andhspace{0.1cm}Student=Yhspace{0.1cm}andhspace{0.1cm}Credit=F) ]

    [small{=frac{P(Age=Ahspace{0.1cm}andhspace{0.1cm}Income=Mhspace{0.1cm}andhspace{0.1cm}Student=Yhspace{0.1cm}andhspace{0.1cm}Credit=F|Buy=N) imes P(Buy=N)}{P(Age=Ahspace{0.1cm}andhspace{0.1cm}Income=Mhspace{0.1cm}andhspace{0.1cm}Student=Yhspace{0.1cm}andhspace{0.1cm}Credit=F)}} ]

    [small{=frac{P(Age=A|Buy=N) imes P(Income=M|Buy=N) imes P(Student=Y|Buy=N) imes P(Credit=F|Buy=N) imes P(Buy=N)}{P(Age=Ahspace{0.1cm}andhspace{0.1cm}Income=Mhspace{0.1cm}andhspace{0.1cm}Student=Yhspace{0.1cm}andhspace{0.1cm}Credit=F)}}hspace{1cm}(2) ]

    由于公式(1)和公式(2)分母相等,所有其值得大小由分子决定。

    公式(1)计算得,

    [small{=P(Age=A|Buy=Y) imes P(Income=M|Buy=Y) imes P(Student=Y|Buy=Y) imes P(Credit=F|Buy=Y) imes P(Buy=Y)}=frac{3}{5} imesfrac{2}{5} imesfrac{1}{5} imesfrac{2}{5} imesfrac{5}{14}=0.028219 ]

    公式(2)计算得,

    [small{=P(Age=A|Buy=N) imes P(Income=M|Buy=N) imes P(Student=Y|Buy=N) imes P(Credit=F|Buy=N) imes P(Buy=N)}=frac{2}{9} imesfrac{4}{9} imesfrac{6}{9} imesfrac{6}{9} imesfrac{9}{14}=0.006857 ]

    最后,根据该人特征数据信息((Age = A, Income = M, Student = Y, Credit = F)),判断为购买计算机。

    2、特征属性为连续值

    现有连续型特征属性信息表(附表 - 3)如下,

    序号身高(英尺)体重(磅)脚长(英尺)性别
    1618012
    25.9219011
    35.5817012
    45.9216510
    551006
    65.51508
    75.421307
    85.751509

    当某人的数据信息如下:

    身高 = 6, 体重 = 130,脚长 = 8,试用朴素贝叶斯分类器判断此人的性别(性别 = ?)。

    为了方便使用概率公式描述问题解决过程,特征属性信息表(附表 - 4)简化如下:

    No.HWFS
    1618012M
    25.9219011M
    35.5817012M
    45.9216510M
    551006F
    65.51508F
    75.421307F
    85.751509F

    某人数据信息改为如下:

    H = 6, W = 130,F = 8,试用朴素贝叶斯分类器判断此人的性别(性别 = ?)。

    和离散型特征属性信息相比较,由于身高、体重、脚的尺寸都是连续变量,不能采用离散变量的方法计算概率。而且由于样本太少,所以也无法分成区间计算。可以假设男性和女性的身高、体重、脚掌都是正态分布,通过样本计算出均值和方差,也就是得到正态分布的密度函数。有了密度函数,就可以根据学习样本值算出密度函数的值。

    分别计算出各特征属性值得均值和方差如下,

    性别均值(身高)方差(身高)均值(体重)方差(体重)均值(脚长)方差(脚长)
    男性5.8550.0350176.25122.920011.250.9167
    女性5.41750.0972132.5558.33007.51.6667

    为计算概率方便,简化表示为,

    SHmHvWmWvFmFv
    M5.8550.0350176.25122.9200 11.250.9167
    F5.41750.097225 132.5558.3300 7.51.6667

    根据贝叶斯分类器公式,由学习样本判断为男性的概率公式为,

    [P(H=6|S=M) imes P(W=130|S=M) imes P(F=8|S=M) imes P(S=M) ]

    判断为女性的概率公式为,

    [P(H=6|S=F) imes P(W=130|S=F) imes P(F=8|S=F) imes P(S=F) ]

    决策特征变量为离散型,每个类的先验概率为,

    [P(S=M)=P(S=F)=frac{4}{8}=0.5 ]

    性别为男性时,身高、体重和脚长的条件概率分别为,

    [P(H=6|S=M)=frac{1}{sqrt{2 imes pi imes 0.035}}exp[-frac{(6-5.855)^{^2}}{2 imes 0.035}]approx1.5789 ]

    [P(W=130|S=M)=frac{1}{sqrt{2 imes pi imes 122.92}}exp[-frac{(130-176.25)^{^2}}{2 imes 122.92}]approx0.0000059881 ]

    [P(F=8|S=M)=frac{1}{sqrt{2 imes pi imes 0.9167}}exp[-frac{(8-11.25)^{^2}}{2 imes 0.9167}]approx0.001311472 ]

    性别为女性时,身高、体重和脚长的条件概率分别为,

    [P(H=6|S=F)=frac{1}{sqrt{2 imes pi imes 0.097225}}exp[-frac{(6-5.4175)^{^2}}{2 imes 0.097225}]approx0.223459 ]

    [P(W=130|S=F)=frac{1}{sqrt{2 imes pi imes 558.33}}exp[-frac{(130-132.5)^{^2}}{2 imes 558.33}]approx0.01678935 ]

    [P(F=8|S=F)=frac{1}{sqrt{2 imes pi imes 1.6667}}exp[-frac{(8-7.5)^{^2}}{2 imes 1.6667}]approx0.28668826 ]

    由学习样本判断为男性的概率公式和概率值为,

    (P(H=6|S=M) imes P(W=130|S=M) imes P(F=8|S=M) imes P(S=M))
    (=1.5789 imes 0.0000059881 imes 0.001311472 imes 0.5=0.0000000062)

    由学习样本判断为女性的概率公式和概率值为,

    (P(H=6|S=F) imes P(W=130|S=F) imes P(F=8|S=F) imes P(S=F))
    (=0.223459 imes 0.01678935 imes 0.28668826 imes 0.5=0.000537789)

    该学习样本判断为女性(判断为女性的可能比判断为男性大的多)。

    三、样例代码

    样例中采用鸢尾花数据(附表 - 5),

    鸢尾花[iris]数据(R语言经典聚类、分类案例数据)

    IDSepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
    15.13.51.40.2setosa
    24.93.01.40.2setosa
    34.73.21.30.2setosa
    44.63.11.50.2setosa
    55.03.61.40.2setosa
    65.43.91.70.4setosa
    74.63.41.40.3setosa
    85.03.41.50.2setosa
    94.42.91.40.2setosa
    104.93.11.50.1setosa
    115.43.71.50.2setosa
    124.83.41.60.2setosa
    134.83.01.40.1setosa
    144.33.01.10.1setosa
    155.84.01.20.2setosa
    165.74.41.50.4setosa
    175.43.91.30.4setosa
    185.13.51.40.3setosa
    195.73.81.70.3setosa
    205.13.81.50.3setosa
    215.43.41.70.2setosa
    225.13.71.50.4setosa
    234.63.61.00.2setosa
    245.13.31.70.5setosa
    254.83.41.90.2setosa
    265.03.01.60.2setosa
    275.03.41.60.4setosa
    285.23.51.50.2setosa
    295.23.41.40.2setosa
    304.73.21.60.2setosa
    314.83.11.60.2setosa
    325.43.41.50.4setosa
    335.24.11.50.1setosa
    345.54.21.40.2setosa
    354.93.11.50.2setosa
    365.03.21.20.2setosa
    375.53.51.30.2setosa
    384.93.61.40.1setosa
    394.43.01.30.2setosa
    405.13.41.50.2setosa
    415.03.51.30.3setosa
    424.52.31.30.3setosa
    434.43.21.30.2setosa
    445.03.51.60.6setosa
    455.13.81.90.4setosa
    464.83.01.40.3setosa
    475.13.81.60.2setosa
    484.63.21.40.2setosa
    495.33.71.50.2setosa
    505.03.31.40.2setosa
    517.03.24.71.4versicolor
    526.43.24.51.5versicolor
    536.93.14.91.5versicolor
    545.52.34.01.3versicolor
    556.52.84.61.5versicolor
    565.72.84.51.3versicolor
    576.33.34.71.6versicolor
    584.92.43.31.0versicolor
    596.62.94.61.3versicolor
    605.22.73.91.4versicolor
    615.02.03.51.0versicolor
    625.93.04.21.5versicolor
    636.02.24.01.0versicolor
    646.12.94.71.4versicolor
    655.62.93.61.3versicolor
    666.73.14.41.4versicolor
    675.63.04.51.5versicolor
    685.82.74.11.0versicolor
    696.22.24.51.5versicolor
    705.62.53.91.1versicolor
    715.93.24.81.8versicolor
    726.12.84.01.3versicolor
    736.32.54.91.5versicolor
    746.12.84.71.2versicolor
    756.42.94.31.3versicolor
    766.63.04.41.4versicolor
    776.82.84.81.4versicolor
    786.73.05.01.7versicolor
    796.02.94.51.5versicolor
    805.72.63.51.0versicolor
    815.52.43.81.1versicolor
    825.52.43.71.0versicolor
    835.82.73.91.2versicolor
    846.02.75.11.6versicolor
    855.43.04.51.5versicolor
    866.03.44.51.6versicolor
    876.73.14.71.5versicolor
    886.32.34.41.3versicolor
    895.63.04.11.3versicolor
    905.52.54.01.3versicolor
    915.52.64.41.2versicolor
    926.13.04.61.4versicolor
    935.82.64.01.2versicolor
    945.02.33.31.0versicolor
    955.62.74.21.3versicolor
    965.73.04.21.2versicolor
    975.72.94.21.3versicolor
    986.22.94.31.3versicolor
    995.12.53.01.1versicolor
    1005.72.84.11.3versicolor
    1016.33.36.02.5virginica
    1025.82.75.11.9virginica
    1037.13.05.92.1virginica
    1046.32.95.61.8virginica
    1056.53.05.82.2virginica
    1067.63.06.62.1virginica
    1074.92.54.51.7virginica
    1087.32.96.31.8virginica
    1096.72.55.81.8virginica
    1107.23.66.12.5virginica
    1116.53.25.12.0virginica
    1126.42.75.31.9virginica
    1136.83.05.52.1virginica
    1145.72.55.02.0virginica
    1155.82.85.12.4virginica
    1166.43.25.32.3virginica
    1176.53.05.51.8virginica
    1187.73.86.72.2virginica
    1197.72.66.92.3virginica
    1206.02.25.01.5virginica
    1216.93.25.72.3virginica
    1225.62.84.92.0virginica
    1237.72.86.72.0virginica
    1246.32.74.91.8virginica
    1256.73.35.72.1virginica
    1267.23.26.01.8virginica
    1276.22.84.81.8virginica
    1286.13.04.91.8virginica
    1296.42.85.62.1virginica
    1307.23.05.81.6virginica
    1317.42.86.11.9virginica
    1327.93.86.42.0virginica
    1336.42.85.62.2virginica
    1346.32.85.11.5virginica
    1356.12.65.61.4virginica
    1367.73.06.12.3virginica
    1376.33.45.62.4virginica
    1386.43.15.51.8virginica
    1396.03.04.81.8virginica
    1406.93.15.42.1virginica
    1416.73.15.62.4virginica
    1426.93.15.12.3virginica
    1435.82.75.11.9virginica
    1446.83.25.92.3virginica
    1456.73.35.72.5virginica
    1466.73.05.22.3virginica
    1476.32.55.01.9virginica
    1486.53.05.22.0virginica
    1496.23.45.42.3virginica
    1505.93.05.11.8virginica
    ## 函数 - 朴素贝叶斯分类算法
        webTJ.Datamining.setNaive_Bayes(arrs,crr,srrs);
    ##参数
        【arrs,,crr,srrs】
        【训练样本数组,决策特征变量数组,学习样本数组】
    

    代码样例

    var oTxt="5.1,3.5,1.4,0.2,setosa|4.9,3,1.4,0.2,setosa|4.7,3.2,1.3,0.2,setosa|4.6,3.1,1.5,0.2,setosa|5,3.6,1.4,0.2,setosa|5.4,3.9,1.7,0.4,setosa|4.6,3.4,1.4,0.3,setosa|5,3.4,1.5,0.2,setosa|4.4,2.9,1.4,0.2,setosa|4.9,3.1,1.5,0.1,setosa|5.4,3.7,1.5,0.2,setosa|4.8,3.4,1.6,0.2,setosa|4.8,3,1.4,0.1,setosa|4.3,3,1.1,0.1,setosa|5.8,4,1.2,0.2,setosa|5.7,4.4,1.5,0.4,setosa|5.4,3.9,1.3,0.4,setosa|5.1,3.5,1.4,0.3,setosa|5.7,3.8,1.7,0.3,setosa|5.1,3.8,1.5,0.3,setosa|5.4,3.4,1.7,0.2,setosa|5.1,3.7,1.5,0.4,setosa|4.6,3.6,1,0.2,setosa|5.1,3.3,1.7,0.5,setosa|4.8,3.4,1.9,0.2,setosa|5,3,1.6,0.2,setosa|5,3.4,1.6,0.4,setosa|5.2,3.5,1.5,0.2,setosa|5.2,3.4,1.4,0.2,setosa|4.7,3.2,1.6,0.2,setosa|4.8,3.1,1.6,0.2,setosa|5.4,3.4,1.5,0.4,setosa|5.2,4.1,1.5,0.1,setosa|5.5,4.2,1.4,0.2,setosa|4.9,3.1,1.5,0.2,setosa|5,3.2,1.2,0.2,setosa|5.5,3.5,1.3,0.2,setosa|4.9,3.6,1.4,0.1,setosa|4.4,3,1.3,0.2,setosa|5.1,3.4,1.5,0.2,setosa|5,3.5,1.3,0.3,setosa|4.5,2.3,1.3,0.3,setosa|4.4,3.2,1.3,0.2,setosa|5,3.5,1.6,0.6,setosa|5.1,3.8,1.9,0.4,setosa|4.8,3,1.4,0.3,setosa|5.1,3.8,1.6,0.2,setosa|4.6,3.2,1.4,0.2,setosa|5.3,3.7,1.5,0.2,setosa|5,3.3,1.4,0.2,setosa|7,3.2,4.7,1.4,versicolor|6.4,3.2,4.5,1.5,versicolor|6.9,3.1,4.9,1.5,versicolor|5.5,2.3,4,1.3,versicolor|6.5,2.8,4.6,1.5,versicolor|5.7,2.8,4.5,1.3,versicolor|6.3,3.3,4.7,1.6,versicolor|4.9,2.4,3.3,1,versicolor|6.6,2.9,4.6,1.3,versicolor|5.2,2.7,3.9,1.4,versicolor|5,2,3.5,1,versicolor|5.9,3,4.2,1.5,versicolor|6,2.2,4,1,versicolor|6.1,2.9,4.7,1.4,versicolor|5.6,2.9,3.6,1.3,versicolor|6.7,3.1,4.4,1.4,versicolor|5.6,3,4.5,1.5,versicolor|5.8,2.7,4.1,1,versicolor|6.2,2.2,4.5,1.5,versicolor|5.6,2.5,3.9,1.1,versicolor|5.9,3.2,4.8,1.8,versicolor|6.1,2.8,4,1.3,versicolor|6.3,2.5,4.9,1.5,versicolor|6.1,2.8,4.7,1.2,versicolor|6.4,2.9,4.3,1.3,versicolor|6.6,3,4.4,1.4,versicolor|6.8,2.8,4.8,1.4,versicolor|6.7,3,5,1.7,versicolor|6,2.9,4.5,1.5,versicolor|5.7,2.6,3.5,1,versicolor|5.5,2.4,3.8,1.1,versicolor|5.5,2.4,3.7,1,versicolor|5.8,2.7,3.9,1.2,versicolor|6,2.7,5.1,1.6,versicolor|5.4,3,4.5,1.5,versicolor|6,3.4,4.5,1.6,versicolor|6.7,3.1,4.7,1.5,versicolor|6.3,2.3,4.4,1.3,versicolor|5.6,3,4.1,1.3,versicolor|5.5,2.5,4,1.3,versicolor|5.5,2.6,4.4,1.2,versicolor|6.1,3,4.6,1.4,versicolor|5.8,2.6,4,1.2,versicolor|5,2.3,3.3,1,versicolor|5.6,2.7,4.2,1.3,versicolor|5.7,3,4.2,1.2,versicolor|5.7,2.9,4.2,1.3,versicolor|6.2,2.9,4.3,1.3,versicolor|5.1,2.5,3,1.1,versicolor|5.7,2.8,4.1,1.3,versicolor|6.3,3.3,6,2.5,virginica|5.8,2.7,5.1,1.9,virginica|7.1,3,5.9,2.1,virginica|6.3,2.9,5.6,1.8,virginica|6.5,3,5.8,2.2,virginica|7.6,3,6.6,2.1,virginica|4.9,2.5,4.5,1.7,virginica|7.3,2.9,6.3,1.8,virginica|6.7,2.5,5.8,1.8,virginica|7.2,3.6,6.1,2.5,virginica|6.5,3.2,5.1,2,virginica|6.4,2.7,5.3,1.9,virginica|6.8,3,5.5,2.1,virginica|5.7,2.5,5,2,virginica|5.8,2.8,5.1,2.4,virginica|6.4,3.2,5.3,2.3,virginica|6.5,3,5.5,1.8,virginica|7.7,3.8,6.7,2.2,virginica|7.7,2.6,6.9,2.3,virginica|6,2.2,5,1.5,virginica|6.9,3.2,5.7,2.3,virginica|5.6,2.8,4.9,2,virginica|7.7,2.8,6.7,2,virginica|6.3,2.7,4.9,1.8,virginica|6.7,3.3,5.7,2.1,virginica|7.2,3.2,6,1.8,virginica|6.2,2.8,4.8,1.8,virginica|6.1,3,4.9,1.8,virginica|6.4,2.8,5.6,2.1,virginica|7.2,3,5.8,1.6,virginica|7.4,2.8,6.1,1.9,virginica|7.9,3.8,6.4,2,virginica|6.4,2.8,5.6,2.2,virginica|6.3,2.8,5.1,1.5,virginica|6.1,2.6,5.6,1.4,virginica|7.7,3,6.1,2.3,virginica|6.3,3.4,5.6,2.4,virginica|6.4,3.1,5.5,1.8,virginica|6,3,4.8,1.8,virginica|6.9,3.1,5.4,2.1,virginica|6.7,3.1,5.6,2.4,virginica|6.9,3.1,5.1,2.3,virginica|5.8,2.7,5.1,1.9,virginica|6.8,3.2,5.9,2.3,virginica|6.7,3.3,5.7,2.5,virginica|6.7,3,5.2,2.3,virginica|6.3,2.5,5,1.9,virginica|6.5,3,5.2,2,virginica|6.2,3.4,5.4,2.3,virginica|5.9,3,5.1,1.8,virginica";
    var oArrs=webTJ.getArrs(oTxt,"|",",");
    var oColData=webTJ.Array.getColData(oArrs,4);
    oArrs=webTJ.Matrix.getRemoveCol(oArrs,4);
    var oSrrs=[[6.9,3.2,5.7,2.3],[4.9,3,1.4,0.2],[5.9,3,5.1,1.8]];
    webTJ.Datamining.setNaive_Bayes(oArrs,oColData,oSrrs);
    

    在函数 webTJ.Datamining.setNaive_Bayes中,训练样本、决策特征变量数组和学习样本都以数组形式表达。如果学习样本只有一组,应按一维数组形式输入,如[6.9,3.2,5.7,2.3]。

    四、案例分析

    1、特征属性为离散值(参见附表 - 2)

    代码样例

    var oTxt="A,H,N,F|A,H,N,E|B,H,N,F|C,M,N,F|C,L,Y,F|C,L,Y,E|B,L,Y,E|A,M,N,F|A,L,Y,F|C,M,Y,F|A,M,Y,E|B,M,N,E|B,H,Y,F|C,M,N,E";
    var oArrs=webTJ.getArrs(oTxt,"|",",");
    var oCrr=['N','N','Y','Y','Y','N','Y','N','Y','Y','Y','Y','Y','N'];
    var oSrrs=[['A','M','Y','F']];
    webTJ.Datamining.setNaive_Bayes(oArrs,oCrr,oSrrs);
    

    注:如果学校样本自有一组数据,应该用二维数组形式表达,如“[['A','M','Y','F']]”,两组数据为“[['A','M','Y','F'],['C','M','Y','F']]”

    2、特征属性为连续值(参见附表 - 4)

    代码样例

    var oTxt="6,180,12|5.92,190,11|5.58,170,12|5.92,165,10|5,100,6|5.5,150,8|5.42,130,7|5.75,150,9";
    var oArrs=webTJ.getArrs(oTxt,"|",",");
    var oCrr=['男','男','男','男','女','女','女','女'];
    var oSrrs=[[6,130,9]];
    webTJ.Datamining.setNaive_Bayes(oArrs,oCrr,oSrrs);
    
  • 相关阅读:
    input File 提交文件上传 无法传递数据的原因
    谈谈运维该掌握那些技能
    虚拟机vmware 下Centos 系统磁盘扩容
    jenkins针对不同的项目组对用户进行权限分配
    Mac Catalina 手残误删系统文件恢复过程
    自动化持续集成
    zabbix 监控之主动配置模式
    nginx对请求后缀或IP访问限制
    elasticsearch7.2.1 报错 Received fatal alert: handshake_failure
    使用nexus创建npm私服
  • 原文地址:https://www.cnblogs.com/cloudtj/p/6818821.html
Copyright © 2011-2022 走看看