馬 健,董 輝,盛 魁 (亳州職業(yè)技術(shù)學(xué)院信息工程系,安徽 亳州 236800)
數(shù)據(jù)挖掘技術(shù)在中藥提取信息分析中的應(yīng)用
馬 健,董 輝,盛 魁 (亳州職業(yè)技術(shù)學(xué)院信息工程系,安徽 亳州 236800)
中藥提取在中藥生產(chǎn)中占有十分重要的地位,在中藥提取過程中,生產(chǎn)參數(shù)數(shù)據(jù)和產(chǎn)品質(zhì)量數(shù)據(jù)往往會(huì)出現(xiàn)一些問題。將改進(jìn)的FP-Growth算法和k-means聚類算法應(yīng)用于中藥生產(chǎn),并對(duì)生產(chǎn)過程中的數(shù)據(jù)進(jìn)行分析。結(jié)果表明,利用數(shù)據(jù)挖掘技術(shù)可以解決中藥提取過程中存在的數(shù)據(jù)問題,從而提高生產(chǎn)效率和產(chǎn)品質(zhì)量。
數(shù)據(jù)挖掘;關(guān)聯(lián)規(guī)則;中藥提??;FP-Growth算法
數(shù)據(jù)挖掘技術(shù)能夠在大量的數(shù)據(jù)中分析出對(duì)企業(yè)生產(chǎn)決策和經(jīng)營(yíng)決策提供幫助的信息,關(guān)聯(lián)規(guī)則挖掘和聚類分析是數(shù)據(jù)挖掘中非常重要的2種類型,F(xiàn)P-Growth 算法是實(shí)現(xiàn)關(guān)聯(lián)規(guī)則挖掘的經(jīng)典算法。筆者在分析FP-Growth 算法的基礎(chǔ)上將其進(jìn)行改進(jìn),并利用該算法和k-means算法對(duì)中藥提取信息進(jìn)行分析挖掘,以便為中藥生產(chǎn)企業(yè)提供一定幫助,從而提高生產(chǎn)效率和產(chǎn)品質(zhì)量。
關(guān)聯(lián)規(guī)則挖掘的問題描述如下:設(shè)I={i1,i2,i3,…,in}是數(shù)據(jù)項(xiàng)的集合,D={T1,T2,…,Tn}是一個(gè)事務(wù)數(shù)據(jù)庫,其中每個(gè)事務(wù)T是數(shù)據(jù)項(xiàng)集I的子集,即T?I,每個(gè)事務(wù)T有一個(gè)標(biāo)識(shí)符TID與之相關(guān)。如果I的一個(gè)子集X滿足X?T,則稱事務(wù)T包含項(xiàng)目集X。一個(gè)關(guān)聯(lián)規(guī)則就是形如X?Y的蘊(yùn)涵式,即X?I,Y?I,X∩Y=Φ,此處,“?”稱為“關(guān)聯(lián)”操作,X稱為關(guān)聯(lián)規(guī)則的先決條件,Y稱為關(guān)聯(lián)規(guī)則的結(jié)果。例如,中藥信息提取中,提取過程為A,固含量為B,則可用關(guān)聯(lián)規(guī)則R表示為:R:A?B。支持度(Support)和置信度(Confidence)是關(guān)聯(lián)規(guī)則中的重要概念,分別如式(1)和式(2)所示[1]:
support(A?B)=support(A∪B)=B|A
(1)
(2)
在實(shí)際應(yīng)用中,支持度和置信度均較高的關(guān)聯(lián)才可作為有用的關(guān)聯(lián)規(guī)則。最小支持度表示數(shù)據(jù)項(xiàng)在統(tǒng)計(jì)意義下的最低重要性,只有滿足最小支持度的數(shù)據(jù)項(xiàng)集才能在關(guān)聯(lián)規(guī)則中出現(xiàn),稱之為頻繁項(xiàng)集;最小置信度則表示關(guān)聯(lián)規(guī)則的最低可靠度。滿足大于最小支持度和最小置信度的規(guī)則稱為強(qiáng)規(guī)則,關(guān)聯(lián)規(guī)則挖掘的任務(wù)是發(fā)現(xiàn)所有頻繁項(xiàng)集并挖掘出事務(wù)數(shù)據(jù)庫D中所有的強(qiáng)規(guī)則[2]。
FP-Growth算法是韓家瑋等[3]提出的基于FP-Tree增長(zhǎng)樹的著名算法,該算法在不產(chǎn)生候選集的情況下,提供了良好的頻繁模式挖掘過程,其性能比Apriori算法有所提高。但隨著遞歸調(diào)用的深入,F(xiàn)P-Growth算法產(chǎn)生的條件FP-Tree越來越多,這不僅費(fèi)時(shí)而且占用大量存儲(chǔ)空間,導(dǎo)致挖掘效率不高。為了解決該問題,筆者對(duì)FP-Growth算法進(jìn)行改進(jìn),其基本思想是通過減少搜索共享前綴的時(shí)間來減少生成FP-Tree的時(shí)間,從而提高挖掘效率。即在存在共享前綴的條件下,遍歷節(jié)點(diǎn)的第1個(gè)子女節(jié)點(diǎn)就發(fā)現(xiàn)共享前綴,其挖掘步驟如下:①頻繁1-項(xiàng)集排序。掃描數(shù)據(jù)庫D一次,生成頻繁1-項(xiàng)集及每個(gè)頻繁項(xiàng)集的支持度,按支持度降序排序,結(jié)果為L(zhǎng)。②事務(wù)項(xiàng)重排序。按照頻繁項(xiàng)表L的次序?qū)κ聞?wù)數(shù)據(jù)庫項(xiàng)排序,生成事務(wù)數(shù)據(jù)庫D1。③事務(wù)集再排序。按照L的次序?qū)1的整個(gè)數(shù)據(jù)集再排序,即先對(duì)事務(wù)集的首列按L的次序排序,然后在此基礎(chǔ)上對(duì)事務(wù)集的次列再按L的次序排序,依次類推到數(shù)據(jù)集的終列得到排序數(shù)據(jù)集D2。④構(gòu)造FP-Tree條件。創(chuàng)建以“null”為標(biāo)記的根節(jié)點(diǎn),掃描D2,對(duì)其中每個(gè)事務(wù)調(diào)用insert_tree(P,T)過程,生成FP-Tree。⑤挖掘FP-Tree。遞歸調(diào)用FP-Growth算法,挖掘FP-Tree,得到頻繁項(xiàng)集。
k-means算法是典型的基于距離的聚類算法,采用距離作為相似性的評(píng)價(jià)指標(biāo),即2個(gè)對(duì)象的距離越近,其相似度就越大。該算法認(rèn)為簇是由距離靠近的對(duì)象組成的,因此把得到緊湊且獨(dú)立的簇作為最終目標(biāo)[4]。k-means算法的基本思想是將n個(gè)數(shù)據(jù)對(duì)象xj(j=1,2,…,n)劃分為k個(gè)集合ki(i=1,2,…,k),每個(gè)集合為一個(gè)簇,k≤n。每個(gè)數(shù)據(jù)對(duì)象只屬于一個(gè)簇,每簇至少包含一個(gè)對(duì)象。k需要用戶指定,隨即創(chuàng)建初始劃分的簇,然后采用迭代重定位技術(shù)進(jìn)行劃分,中心選擇聚類中心,直到聚類中心收斂,使同一個(gè)簇中的對(duì)象距離最近和不同簇的對(duì)象距離最遠(yuǎn)。距離評(píng)價(jià)函數(shù)根據(jù)數(shù)據(jù)對(duì)象的特性選擇不同的相似度計(jì)算函數(shù)。k-means聚類算法是劃分方法中的一種常用方法,每個(gè)簇的中心用該簇內(nèi)數(shù)據(jù)對(duì)象的均值表示[5]。
中藥提取是中藥生產(chǎn)的第1道工序,由于需要質(zhì)檢的數(shù)據(jù)很多,筆者采用k-means算法對(duì)調(diào)配液的相對(duì)密度、檢測(cè)溫度、固體含量和水煮液相對(duì)密度、檢測(cè)溫度、固含量以及噴霧干燥的水分共7個(gè)屬性進(jìn)行聚類分析,以便得到上述質(zhì)檢指標(biāo)的數(shù)據(jù)分布情況,從而對(duì)企業(yè)目前的標(biāo)準(zhǔn)進(jìn)行合理優(yōu)化?,F(xiàn)以中藥降壓避風(fēng)片提取的檢測(cè)指標(biāo)(見表1)為例進(jìn)行說明。
表1 提取生產(chǎn)中的檢測(cè)指標(biāo)調(diào)配液
設(shè)置參數(shù)聚類數(shù)目范圍為2~4,系統(tǒng)運(yùn)行后得到聚類分析的結(jié)果如表2所示。
表2 聚類參數(shù)值分析
根據(jù)表2提供的中藥提取質(zhì)檢數(shù)據(jù)的7個(gè)屬性,采用k-means聚類的初始參數(shù)進(jìn)行優(yōu)劣比較,聚類數(shù)目的參數(shù)范圍為2~4,選擇goodness Index值最小值對(duì)應(yīng)的參數(shù)作為k-means聚類算法的初始參數(shù)。通過計(jì)算,如要得到精確的聚類,則優(yōu)質(zhì)因子goodness Index值的劃分要小,因而根據(jù)最佳聚類數(shù)據(jù)把參數(shù)代入相應(yīng)的函數(shù),就可以得到k-means聚類結(jié)果(見表3)。由于表3是以系統(tǒng)選擇的最佳初始參數(shù)為初始參數(shù),采用k-means聚類算法對(duì)7個(gè)質(zhì)檢指標(biāo)進(jìn)行聚類后得到的結(jié)果,因而操作人員可以根據(jù)上述結(jié)果來研究更符合生產(chǎn)工藝的質(zhì)量檢測(cè)要求,即若某區(qū)間參數(shù)數(shù)據(jù)量最多,則可將該區(qū)間作為質(zhì)量檢測(cè)指標(biāo)的參考值來進(jìn)行數(shù)據(jù)分析。
1)整理數(shù)據(jù) 首先整理過程和結(jié)果數(shù)據(jù),集成2個(gè)數(shù)據(jù)文件,使之成為1個(gè)數(shù)據(jù)集。采用將同種批號(hào)數(shù)據(jù)每個(gè)屬性取均值和方差代表該批數(shù)據(jù)的方式,將各個(gè)屬性的均值和方差與固含量數(shù)據(jù)結(jié)合起來,其結(jié)果如表4所示。
通過數(shù)據(jù)離散化對(duì)目前關(guān)聯(lián)規(guī)則發(fā)現(xiàn)數(shù)據(jù)進(jìn)行處理,采用用戶自由擬定分組數(shù)目對(duì)各個(gè)屬性進(jìn)行等寬度劃分的方式對(duì)數(shù)據(jù)進(jìn)行輸入。離散化連續(xù)數(shù)據(jù)劃分區(qū)間如表5所示。
3)產(chǎn)生最大頻繁集 在中藥提取企業(yè)中,為了能夠得到更好的調(diào)配液固含量,可以利用改進(jìn)的FP-growth算法,在生成FP-Tree前將事務(wù)數(shù)據(jù)集按頻繁項(xiàng)集的降序排序,從而使得搜索共享前綴在理想條件下搜索,從而減少搜索時(shí)間。根據(jù)該算法能夠快速挖掘出所有頻繁項(xiàng)模式,可使挖掘效率顯著提高。
表3 對(duì)檢測(cè)調(diào)配液數(shù)據(jù)的聚類結(jié)果
表4 提取與濃縮過程屬性和固含量數(shù)據(jù)分別結(jié)合數(shù)據(jù)集
表5 離散化連續(xù)數(shù)據(jù)劃分區(qū)間
3)結(jié)果分析 根據(jù)關(guān)聯(lián)原則設(shè)定一個(gè)最小置信度,設(shè)定的值應(yīng)比較適中,根據(jù)實(shí)際情況設(shè)定為67%,產(chǎn)生的關(guān)聯(lián)規(guī)則結(jié)果如表6所示。從表6可以看出,對(duì)于提取過程與固含量的關(guān)系,當(dāng)生產(chǎn)的批次中進(jìn)液量方差和循環(huán)溫度方差均較小時(shí),能夠得到很好的固含量結(jié)果;對(duì)于濃縮過程與固含量的關(guān)系,當(dāng)生產(chǎn)的批次中濃縮液密度均值在1.02~1.03之間、濃縮罐溫度、密度方差適中時(shí),能夠得到很好的固含量結(jié)果。
表6 關(guān)聯(lián)規(guī)則結(jié)果
[1]Han Jia-wei,Micheline Kamber. 數(shù)據(jù)挖掘:概念與技術(shù)[M]. 范明,孟小峰 譯.北京:機(jī)械工業(yè)出版社,2007.
[2]李云,蔡俊杰,劉宗田,等.基于量化規(guī)則格的關(guān)聯(lián)規(guī)則漸進(jìn)更新[J].計(jì)算機(jī)應(yīng)用研究,2007,24(5):27-30.
[3]叢丹,王俊普,楊文.基于FP-tree的模式分解算法[J].計(jì)算機(jī)工程,2005,31(16):77-80.
[4]張建輝.k-means聚類算法研究及應(yīng)用[D].武漢:武漢理工大學(xué),2007.
[5]羅洎,王瑩.基于k-均值聚類的中國(guó)存貨景氣指數(shù)設(shè)計(jì)研究[J].經(jīng)濟(jì)研究導(dǎo)刊,2009(26):10-12.
[編輯] 李啟棟
10.3969/j.issn.1673-1409.2012.01.036
TP311
A
1673-1409(2012)01-N113-03