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