張留決
摘? 要: 本文針對(duì)數(shù)據(jù)挖掘算法中的分類問(wèn)題,針對(duì)連續(xù)性數(shù)據(jù),提出了基于密度函數(shù)的高斯樸素貝葉斯集成算法。首先假設(shè)各特征值符合正態(tài)分布,計(jì)算出各特征值的均值和方差,也就是正態(tài)分布的密度函數(shù)。然后通過(guò)定義的密度函數(shù),計(jì)算出其概率密度函數(shù),利用高斯樸素貝葉斯分類器得到預(yù)測(cè)結(jié)果。在對(duì)某公司實(shí)際分類問(wèn)題中應(yīng)用該算法,結(jié)果表明該算法的預(yù)測(cè)能力有很大程度的提升。
關(guān)鍵詞: 密度函數(shù); 高斯樸素貝葉斯; 集成算法; 預(yù)測(cè)能力
中圖分類號(hào):TP391? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ?文章編號(hào):1006-8228(2021)03-20-03
Research on Gaussian Naive Bayes ensemble algorithm based on density function
Zhang Liujue
(Fuzhou University, Fuzhou, Fujian 35000, China)
Abstract: Aiming at the classification problem in data mining algorithms, this paper proposes a Gaussian Naive Bayes ensemble algorithm based on density function for continuous data. First, assuming that each eigenvalues conforms to a normal distribution, calculate the mean and variance of each eigenvalues, which is the density function of the normal distribution. Then calculate the probability density function through the defined density function, and use the Gaussian Naive Bayes classifier to get the prediction result. The algorithm is applied to an actual classification problem of a company, and the result show that the predictive ability of the algorithm has been greatly improved.
Key words: density function; Gaussian Naive Bayes; ensemble algorithm; predictive ability
0 引言
近年來(lái),隨著數(shù)據(jù)科學(xué)的不斷進(jìn)步,樸素貝葉斯算法(Native Bayes,NB)被工業(yè)企業(yè)、互聯(lián)網(wǎng)行業(yè)、證券分析領(lǐng)域、電子信息產(chǎn)業(yè)等廣泛應(yīng)用。樸素貝葉斯算法在數(shù)據(jù)挖掘領(lǐng)域得到廣泛應(yīng)用,此算法屬于監(jiān)督學(xué)習(xí),主要用于解決算法中的分類問(wèn)題。由于該算法在使用時(shí)先要假設(shè)變量(特征)值之間是相互獨(dú)立的,這在一定程度上影響了該算法運(yùn)用的隨機(jī)性。
本文針對(duì)多個(gè)變量都是連續(xù)的問(wèn)題,利用密度函數(shù),計(jì)算出各特征的均值和方差,也就是正態(tài)分布的密度函數(shù),然后計(jì)算出概率密度函數(shù),融合代入高斯樸素貝葉斯分類器實(shí)現(xiàn)算法,實(shí)現(xiàn)了較好的預(yù)測(cè)效果。
1 基于密度函數(shù)的高斯樸素貝葉斯集成
1.1 貝葉斯算法的理論基礎(chǔ)
1.1.1 條件概率
已知事件B發(fā)生的條件下,事件A發(fā)生的概率稱為事件A關(guān)于事件B的條件概率,記為[P(A|B)]。對(duì)于任意事件A和B,若[P(B)≠0],則“在事件B發(fā)生的條件下事件A發(fā)生的條件概率”記為[P(A|B)],定義為:
[PA|B=P(AB)P(B)] ⑴
1.1.2 全概率公式
若事件組(A1,A2,…,An)滿足以下關(guān)系。
⑴ [Ai(i=1,2,…,n)]兩兩互斥,且[PAi>0]。
⑵ [i=1nAi=Ω,Ω]為樣本空間。
則稱事件組(A1,A2,…,An)是樣本空間[Ω]的一個(gè)劃分[1]。
全概率公式:設(shè)(A1,A2,…,An)是樣本空間[Ω]的一個(gè)劃分,B為任一事件,則有:
[P(B)=i=1nPAiP(B|Ai)]? ⑵
1.1.3 貝葉斯公式
設(shè)(A1,A2,…,An)是樣本空間[Ω]的一個(gè)劃分,B為任一事件,則有:
[PAi|B=P(AiB)P(B)=P(Ai)P(B|Ai)j=1nPAjP(B|Aj)] ⑶
式⑶中的[Ai]常被視為導(dǎo)致實(shí)驗(yàn)結(jié)果B發(fā)生的“原因”,[P(Ai)=(i=1,2,…,n)]表示各種原因的可能性大小,故稱先驗(yàn)概率[2];[PAi|B (i=1,2,…,n)]則反映當(dāng)實(shí)驗(yàn)產(chǎn)生了結(jié)果B之后再對(duì)各種原因概率的新認(rèn)識(shí),故稱后驗(yàn)概率[3]。
1.2 樸素貝葉斯分類
定義貝葉斯分類準(zhǔn)則如下:
如果[p(c1|x,y)>p(c2|x,y)],那么屬于類別[c1];如果[p(c1|x,y)
樸素貝葉斯分類器實(shí)現(xiàn)過(guò)程相對(duì)比較簡(jiǎn)單,這里給出離散型數(shù)據(jù)集的樸素貝葉斯分類器的實(shí)現(xiàn)原理。對(duì)于樣本量為[m]、維度為[d]、類別數(shù)目為[c]的訓(xùn)練集[D={(xi,yi)}],其中[yi∈{c1,c2,…,cc},xi=(xi1,xi2,…,xid)](i=1,2,…,m)。給定一個(gè)待測(cè)樣本x[=(x1,x2,…,xd)],判斷其類別標(biāo)簽[xlabel∈{c1,c2,…,cc}]。
⑴ 計(jì)算每個(gè)類別的概率
[P(Y=cj),j=1,2,…,c] ⑷
⑵ 計(jì)算每個(gè)類別下每個(gè)特征的條件概率
[P(X=xi|Y=cj)] [⑸]
⑶ 計(jì)算
[argmaxP(Y=cj)i=1dP(X=xi|Y=cj)] ⑹
⑷ 計(jì)算值最大的類別[cj]值就是待測(cè)樣本的類別標(biāo)簽。
1.3 密度函數(shù)集成
針對(duì)連續(xù)性變量,在實(shí)際應(yīng)用上大體有兩種方法可以處理,一是對(duì)數(shù)據(jù)進(jìn)行離散化處理,以區(qū)間的形式進(jìn)行劃分;二是利用密度函數(shù),計(jì)算出各特征值的均值和方差,也就是正態(tài)分布的密度函數(shù)。其具體算法如下:
⑴ 計(jì)算出各特征值的均值。
[X=x1+x2+…+xnn=1ni=1nxi] ⑺
⑵ 計(jì)算出各特征值的方差。
[δ2=(x1-X)2+(x2-X)2+(x3-X)2+…+(xn-X)2n] ⑻
⑶ 得到概率密度函數(shù)。
[fx=12πσ2e(-(x-μ)22σ2)] ⑼
1.4 高斯樸素貝葉斯集成密度函數(shù)算法
為了在采用樸素貝葉斯分類算法提升預(yù)測(cè)模型精度的同時(shí),進(jìn)一步提高模型泛化能力,本文融入了密度函數(shù)和高斯樸素貝葉斯的思想,提出了基于密度函數(shù)的高斯樸素貝葉斯集成算法,具體流程如圖1所示。
算法具體步驟如下。
⑴ 根據(jù)具體應(yīng)用場(chǎng)景提取特征屬性,并針對(duì)每個(gè)特征值進(jìn)行一定程度的劃分,然后由人工對(duì)一部分待分類項(xiàng)進(jìn)行詳細(xì)分類,最后形成訓(xùn)練樣本集合。
⑵ 利用密度函數(shù)與高斯樸素貝葉斯算法集成,計(jì)算每個(gè)類別在訓(xùn)練樣本中的出現(xiàn)概率及每個(gè)特征屬性劃分對(duì)每個(gè)類別的條件概率估計(jì),并記錄結(jié)果。這一階段由Python程序完成。
⑶ 使用分類器對(duì)待分類項(xiàng)進(jìn)行分類,其輸入是分類器和待分類項(xiàng),輸出是待分類項(xiàng)與類別的映射關(guān)系,這一階段主要也是由Python程序完成[4]。
2 實(shí)驗(yàn)結(jié)果與分析
本文數(shù)據(jù)集樣本量采集于某制漿造紙企業(yè)生產(chǎn)現(xiàn)場(chǎng)的數(shù)據(jù),該數(shù)據(jù)集包括:反應(yīng)溫度、反應(yīng)壓力、漿濃度、氧化白液用量、O2用量、NaOH用量、漿粘度、氣體壓力、水用量、電用量等共32個(gè)特征。對(duì)數(shù)據(jù)進(jìn)行分類后,所得預(yù)測(cè)結(jié)果精度對(duì)比如圖2所示。
由此結(jié)果可知,通過(guò)對(duì)連續(xù)性變量數(shù)據(jù)利用密度函數(shù)模型計(jì)算,并經(jīng)高斯樸素貝葉斯分類器集成后,整體的預(yù)測(cè)能力得到了提升。
3 結(jié)束語(yǔ)
本文通過(guò)Python語(yǔ)言中sklearn模塊中的高斯樸素貝葉斯(Gaussian Naive Bayes)集成密度函數(shù)實(shí)現(xiàn)算法。除此之外,還有多項(xiàng)式樸素貝葉斯(Multinomial Naive Bayes)、伯努利樸素貝葉斯(Bernoulli Naive Bayes)算法[5]。不管采用哪種算法,其運(yùn)行結(jié)果都會(huì)有一定的差異,我們要根據(jù)實(shí)際情況來(lái)對(duì)算法予以改進(jìn),并使預(yù)測(cè)結(jié)果更符合生產(chǎn)經(jīng)營(yíng)的需要。
參考文獻(xiàn)(References):
[1] 周志華.機(jī)器學(xué)習(xí)[M].清華大學(xué)出版社,2015.
[2] 范明,范宏建.數(shù)據(jù)挖掘?qū)д揫M].人民郵電出版社,2006.
[3] 于祥雨,李旭靜等.人工智能算法與實(shí)踐論[M].清華大學(xué)出版社,2020.
[4] 鄭秋生,夏敏捷.Python項(xiàng)目案例開(kāi)發(fā)從入門到實(shí)踐[M].清華大學(xué)出版社,2019.
[5] 蔡天新.數(shù)學(xué)與人類文明[M].浙江大學(xué)出版社,2008.