張春生,圖 雅,李 艷
(內蒙古民族大學計算機科學與技術學院,內蒙古 通遼 028043)
數據挖掘技術自產生以來得到廣泛的研究和應用,特別是隨著大數據技術和物聯網技術的發展,數據挖掘技術的研究與應用越來越火熱。決策樹作為數據挖掘技術的重要組成算法,其理論研究一直在進行,算法時空效率不斷提高[1-6]。
在中醫方劑配伍規律數據挖掘研究方面,目前的研究成多數是應用關聯規則和聚類分析或一般性統計分析等方法進行。如朱習軍等利用改進的Apriori算法對哮喘病案進行了數據分析[7];周志煥等對郁證古方用藥規律進行了關聯規則分析[8];譚惠娟等應用數據挖掘方法對針灸治療慢性疲勞綜合征腧穴運用規律進行了研究[9];田茸等對脾虛型泄瀉方劑用藥規律進行了關聯規則分析[10];楊麗平等應用聚類分析方法對3種腰痛方劑進行了相應的研究[11];吳磊等通過雙向聚類方法對中醫治療中風病方劑配伍規律進行了相關研究[12]。
應用決策樹算法對中醫方劑進行數據挖掘方面,目前尚未查到相關資料,只是宋燕應用決策樹算法對肺癌 CT 進行建模并進行了相關研究[13];高俠等應用決策樹算法對患者就診趨勢進行了分析研究[14];余學杰等應用決策樹算法對中醫專家辨證規律進行了相應研究[15];楊云等應用ID3決策樹算法對突發公共衛生事件風險進行了評估分析[16]。
從以上文獻可以看出,決策樹算法在數據挖掘中具有很多優越性,是非常好的分類算法,特別是決策樹的結果可直接轉化為規則,所以決策樹算法在數據挖掘中得到了廣泛應用。然而在中醫方劑數據挖掘中,未查到相應的文獻,這是方劑配伍規律數據挖掘研究方面的一種缺憾。
分類是指把數據項映射到一個事先定義好的類中的學習過程,即給定一組輸入屬性向量及其對應的類,用基于歸納的學習算法得出分類。Quinlan 1986年提出關于決策樹的ID3算法,1993年提出關于決策樹的C4.5。C4.5是ID3的改進算法,不僅可以處理離散值屬性,還能處理連續值屬性。C4.5采用信息增益比作為選擇測試屬性的標準,彌補了ID3的不足,可實現對樣本的分類。
本文結合國家自然科學基金項目《蒙醫方劑數據挖掘關鍵技術研究》的研究工作,開發了一套通用的蒙醫方劑數據挖掘系統,將C4.5決策樹算法應用于蒙醫方劑數據挖掘研究中,可探討藥物與功能、藥物與主治之間的潛在規則,對蒙醫方劑配伍規律的研究提供決策支持。同時針對蒙醫方劑決策樹挖掘給出了有效的數據預處理方法,該方法可為決策樹算法的其他應用提供技術參考。C4.5決策樹挖掘算法作為蒙醫方劑數據挖掘系統的一部分,具有通用、靈活、使用方便等優點,可廣泛應用于方劑配伍規律的研究。
決策樹不僅是分類的最好手段,而且挖掘結果所對應的決策樹可直接生成關聯規則,是方劑配伍規律研究的有效方法。本文將C4.5決策樹算法應用于蒙醫方劑配伍規律研究中,對蒙醫方劑新藥的研制開辟了新的途徑。
決策樹算法是解決實際應用中分類問題最有效的方法,決策樹定義為:
給定一個數據庫D={t1,…,tn},其中ti=
(1)每個內部節點都被標記為一個屬性Ai;(2)每個弧都被標記為一個謂詞,這個謂詞可應用于父節點的屬性;(3)每個葉子節點都標記為一個分類。
著名的決策樹算法有C4.5算法,C4.5算法用增益標準選擇需要的屬性,即熵的概念。
設事務集T分為k類,T→{C1,C2,…,Ck},訓練樣本分成n個子集T→{T1,T2,…,Tn},S是任意的樣本集,freq(Ci,S)代表S中屬于Ci的樣本數量,|S|為集合S中樣本數量。

infox(T)為T的熵
Gain(x)=info(T)-infox(T)
Gain(x)為增益準則,可選擇Gain(x)最大的屬性作分類屬性。C4.5算法具有以下優點:可忽略缺失數據問題,提高算法的健壯性;決策樹等價于一個關聯規則,即從根節點到葉子節點,由根節點、中間路徑節點和葉子構成一個完整的關聯規則,該關聯規則可用于知識發現。本文應用C4.5算法不僅能對蒙醫方劑進行分類,還能發現更多的潛在關聯規則。
根據C4.5決策樹算法的需要,每個事務中的屬性應等長,也就是用整個方劑類中所有出現的藥物作為每個事務的屬性,為此作如下處理。
設給定一個事務集T={T1,…,Tn},其中每個事務Ti的屬性集為Ri={ri1,…,rik},事務T的屬性集R是所有事務屬性集的并集:
R=R1∪R2∪…∪Rn
如《傳統蒙藥與方劑》中治療“赫依病”的方劑數量有27個[17],每個方劑的藥物數量都不相同,也就是Ri不相同,但最終預處理后的數據集屬性按R的屬性個數配齊,R的屬性個數就是所有方劑中藥物的集合共有87個,所以最后的原始數據矩陣有87列。
由于每種方劑的質量各不相同,必須進行歸一化處理,設某方劑有n種藥物,編號為i=1,2,3,…,n,每種藥物的質量mi,方劑總質量為m,則m=m1+m2+…+mn,每種藥物歸一化后的質量為:ki=mi/m,總質量是1。
歸一化處理后,每種藥物的質量都以小數形式出現,不便于理解和數據挖掘,所以本文將歸一化的數據擴大100倍,即歸一化后的總質量不是1而是100,這種處理方法不影響數據挖掘效果。

表1 治療赫依病類方劑與功能及主治的對應關系
決策樹分析的原始數據中,每個事務的分類是惟一的,但方劑的實際情況卻不同,存在一個方劑對應多個分類的問題。
表2顯示,設類別集合為C={C1,…,Cm},方劑集合為T={T1,…,Tn},則存在Ti→{Cj,Cj+1,…,Ck}的現象,數據預處理方法是讓這個方劑重復,以對應不同的分類,即Ti→Cj,Ti→Cj+1,…,Ti→Ck,這樣處理不會影響數據挖掘結果。
表2顯示,方劑主治的規格化比較復雜,原書中各個方劑的主治數量較多,而且存在不同程度的同名異義和異名同義的問題,不便于數據挖掘。本文根據赫依病發病位置經過抽象得到三級主治抽象表,為適應數據挖掘需求,采用既不過于集中也不過于分散的二級抽象內容作為挖掘依據。
本文設計的C4.5決策樹算法能自動實現蒙醫方劑決策樹挖掘的數據預處理工作,同時顯示預處理矩陣、數據項目、決策樹挖掘結果。
用戶選擇方劑類別后可選擇不同的分類目標,也就是在主治和功能上選擇其中1項,實現對主治或功能的決策樹挖掘。

表2 赫依病方劑主治三級抽象表

圖1 決策樹挖掘程序界面
表3顯示,本文采用內蒙古民族大學蒙醫藥學院奧·烏力吉教授和布和巴特爾教授編寫的《傳統蒙藥與方劑》中治療“赫依病”方劑為例子,討論決策樹分類問題。該類方劑共收錄27個方劑,共涉及藥物87味[17]。本文以主治作為分類目標對“赫依病”方劑進行分類。
人造香鹽、大蒜炭是治療肌赫依的關鍵藥物,紫草茸是治療骨赫依的關鍵要藥物,五靈脂是治療大腸赫依的關鍵藥物,肉桂是治療胃赫依的關鍵藥物,錢線蓮、干姜、安息香、木棉花蕊、白胡椒是治療脈赫依的主要藥物,其中的關鍵藥物是錢線蓮;干姜、安息香、土木香、木棉花蕊、草烏是治療肺赫依的主要藥物,其中關鍵藥物是干姜和草烏;干姜、安息香、木棉花蕊、蓽茇、草烏是治療頭赫依的主要藥物,其中關鍵藥物是蓽茇和草烏;適度的草烏是治療心赫依的關鍵藥物。
決策樹不僅是分類的最好手段,而且挖掘結果所對應的決策樹可直接生成關聯規則,是方劑配伍規律研究的有效方法。本文將C4.5決策樹算法應用于蒙醫方劑配伍規律研究中,給出了數據預處理方法,并將決策樹算法集成在蒙醫方劑數據挖掘系統中,作為重要的數據挖掘手段,可挖掘方劑藥物組成與主治和功能的關系,實驗表明方法有效。

表3 治療赫依病方劑決策樹挖掘結果分析
文中對治療“赫依病”的27個方劑主治進行決策樹分析,得到治療肌赫依、骨赫依、大腸赫依、胃赫依、脈赫依、肺赫依、頭赫依的關鍵藥物組合,同時系統也可對治療“赫依病”的功能進行決策樹分析。值得說明的是,決策樹是基于信息熵概念的,這里分析出的關鍵藥物不一定是量大的主要藥物,而是對方劑主治起到轉折點控制的關鍵藥物。
本文開發的蒙醫方劑數據挖掘系統對保護民族醫學遺產、對蒙醫藥研究和發展開辟了新的途徑,必將促進蒙醫藥研發工作,具有一定的社會效益和經濟價值。