★ 聶斌第一作者:聶斌(97—),男,江西峽江人。研究方向:中醫藥信息學、數據挖掘、人工智能。 E-mail:ncunb@6.com。 郝竹林 桂寶 王卓 杜建強通信作者:杜建強,男,教授,碩士生導師。E-mail: jianqiang_du@6.com。 王國龍 張鑫 (.江西中醫藥大學計算機學院 南昌 0004; .江西省公安廳科技信息化總隊 南昌 0006; .南昌大學軟件學院 南昌 0047)
基于隨機森林的中藥寒、熱藥性代謝組學判別方法研究*
★聶斌1*第一作者:聶斌(1972—),男,江西峽江人。研究方向:中醫藥信息學、數據挖掘、人工智能。 E-mail:ncunb@163.com。郝竹林1桂寶2王卓3杜建強1*通信作者:杜建強,男,教授,碩士生導師。E-mail: jianqiang_du@163.com。王國龍1張鑫1(1.江西中醫藥大學計算機學院南昌 330004; 2.江西省公安廳科技信息化總隊南昌 330006; 3.南昌大學軟件學院南昌 330047)
摘要:目的:建立中藥寒、熱藥性判別模型與方法。方法:利用中藥寒、熱藥動物實驗,獲取代謝組學數據;再采用隨機森林算法構建中藥寒、熱藥性分類判別模型。結果:基于隨機森林構建的中藥寒、熱藥性代謝組學分類判別模型,能夠很好地實現分類判別,總體準確率超過90%;用前30個最重要的M/Z值構建的分類判別模型,同樣有很高的分類準確率;經7∶3測試,準確率也超過90%。結論:基于隨機森林的中藥寒、熱藥性代謝組學分類判別模型,經實驗數據建模驗證表明其可行有效。
關鍵詞:隨機森林;中藥藥性;代謝組學;分類
代謝組學[1-4]是繼基因組學和蛋白組學后一種新的定性定量分析方法,此法作為一個科學分支,專注于臨床診斷、藥學、系統生物學等領域的研究和應用。代謝組學常用核磁共振波譜法,高效液相色譜法,質譜法,氣相色譜法等獲取多樣復雜的數據。
Breiman提出的隨機森林[5]方法,利用隨機重采樣技術 bootstrap 和節點隨機分裂技術構建多棵決策樹,通過投票得到最終分類結果[6]。隨機森林[7-10]采用隨機選擇樣本和隨機選擇特征,具有許多優點:比單棵的決策樹更穩健,泛化性能好;具有很好的抗噪聲能力,抗異常值,自動處理缺失值以及能對付不平衡數據;對規模參數不敏感,對于不相關和冗余特征不敏感,能對付特征比分類少的情況;對于很多種資料,可以產生高準確度的分類器;不必擔心過度擬合;能夠估計哪個特征在分類中更重要,也可偵測偏離者;在訓練過程中,能夠檢測到特征間的互相影響;袋外數據K折交叉驗證可提供高度可靠的評估模型;算法容易理解,快速。
目前,在代謝組學基礎上,實現對中藥寒、熱藥性判別的方法有偏最小二乘判別法[11-14],正交信號校正的偏最小二乘判別法[15],小波壓縮的偏最小二乘判別法[16],分層聚類法[17]等。
1隨機森林理論
1.1隨機森林分類理論簡介隨機森林[5,18]采用隨機選擇樣本和隨機選擇特征,生成多個決策樹{h(x,θk)}組成的分類器,其中{θk}是相互獨立且同分布的隨機向量。最終由所有決策樹投票綜合決定輸入向量x的最終類標簽。
為了構造k棵樹,需要先產生k個隨機向量θ1,θ2,L,θk,這些隨機向量θi是相互獨立的,并且是同分布的。隨機向量θi用于構造決策分類樹h(x,θi),簡化為hi(x)。構造樹的過程中,按照節點不純度最小的原則從特征中隨機選取一個特征進行分支生長。
1.2隨機森林算法隨機森林算法原理如下及圖1所示:
①從原始訓練樣本中采用Bootstrap抽樣隨機抽出k個樣本,k ②從解釋變量中隨機抽出m個特征(變量),從抽中變量中選擇最能有效分割數據的變量,使分割后的子集內部變異性最小,對于連續數據通常是采用均方誤作為判斷指標,對于離散數據則多采用基尼值; ③依據步驟②得到的變量將數據分割為兩個純度較高的子集; ④對子集重復步驟③直到分割停止。這就完成了單棵樹的建模; ⑤重復步驟①到步驟④X次,就構建了有X棵樹的隨機森林模型。 這里在使用Bootstrap方法進行抽樣時,未選中的數據稱為OOB(out-of-bag)袋外數據,OOB數據可以用來檢驗模型的外推預測精度。 1.3變量重要性評估及變量選擇變量重要性評估是隨機森林算法的一個重要特點。隨機森林程序通常提供4種變量重要性度量。文中采用基于袋外數據分類準確率的變量重要性度量,對變量重要性評分及變量選擇。 隨機森林變量刪選的基本思想是采用啟發式算法,通過對一個相關變量(即對預測準確率可能起重要作用的變量)加入噪聲后的預測準確性差異來判斷變量的重要性,其具體算法過程如下及圖1所示: ①用自助樣本形成每一棵分類樹的同時,對相應的OOB數據進行投票,得到k個自助樣本OOB中每一個樣本的投票分數,記為vote1,vote2L,votek; ②將變量xi的數值在k個OOB樣本中的順序隨機改變,形成新的OOB測試樣本,然后用已建立的隨機森林對新的OOB進行投票,根據判別正確的樣品數得到每一個樣本的投票分數,所得結果可以表示為: ③用vote1,vote2L,votek與公式(1)對應的和i行向量相減,求和平均后得變量xi的重要性評分,即: 圖1 隨機森林算法原理和變量重要性度量 2數據來源及算法實現平臺 R語言,一種自由軟件編程語言與操作環境,主要用于統計分析、繪圖、數據挖掘。R的源代碼可自由下載使用,可在多種平臺下運行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。參閱網址http://www.r-project.org/。 3基于隨機森林算法的中藥寒、熱藥性代謝組學判別模型 基于隨機森林算法構建中藥寒、熱藥性代謝組學判別模型,其中分類變量CASE.LBL有三類:空白組blank,寒性藥組cold,熱性藥組hot,ZK.代表M/Z值。 圖2 隨機森林模型的OOB數據估計(全模型) 圖3 隨機森林決策樹大小與OOB數據估計(全模型) 3.1全部M/Z值構建判別模型(全模型)通過隨機森林算法對中藥寒、熱藥性代謝組學數據構建分類判別模型。(1)在生成100棵決策樹時,結果趨于穩定;經袋外數據OOB估計,得到相應的結果如圖2-3顯示,其中空白組blank分類準確率為80%(錯誤率為20%),寒藥組cold分類準確率100%,熱藥組hot分類準確率為100%,總體total分類準確率為97.01%(錯誤率為2.99%)。(2)基于隨機森林的中藥寒、熱藥性代謝組學分類判別二維效果如圖4,三類樣本相對獨立,空白組中有2個樣本靠近熱藥組群、2個樣本靠近寒藥組群。這些結果表明,基于隨機森林算法構建的中藥寒、熱藥性代謝組學分類判別模型能夠實現很好的分類。另外,提取前30個最重要(VIP)的M/Z值如圖5和表1。主要代碼如下: >cold<-spss.get("D:/nature/TCMnature/coldstand.sav") >hot<-spss.get("D:/nature/TCMnature/hotstand.sav") >nature<-rbind(cold,hot) >set.seed(171) >nature.rf<-randomForest(CASE.LBL~.,nature,ntree=100,importance=TRUE,proximity=TRUE) 據介紹,目前可用于項目或可供參考的已有水利行業標準規范主要有55個,國家及其他行業相關標準主要有79項。在這些標準規范中盡管已包含水文、水資源、水利信息監控等眾多相關內容,但由于項目涉及的信息和業務量十分龐大,許多信息和業務還沒有相應的標準規范可循,而且國家水資源監控能力的建設和管理也需要有系統的標準規范支撐。因此,亟需在已有的相關標準規范基礎上,根據項目建設運行的需要,建立更為完整的項目標準規范體系。 >print(nature.rf) >plot(nature.rf) >MDSplot(nature.rf,nature$CASE.LBL, main="TCM classification") >varImpPlot(nature.rf,type=1,sort=T,n.var=min(30,nrow(nature.rf$importance)),pch=19, main="Variable Importance Plot") 圖4 分類判別效果(全模型) 圖5 最重要的前30個M/Z值 前30個最重要的M/Z值813.8675.6228.2415.4362.4388.5289.1106.1768.8887.1116.2846.2124.1871.9802.2416.3436.5615.3506.4180.2880.0338.5409.3717.7349.3452.3578.3173.2680.7679.7 3.2前30個最重要的M/Z值構建判別模型(VIP模型)隨機森林對變量評分后,獲取前30個最重要的M/Z值,通過隨機森林算法重新構建分類判別模型。在生成100棵決策樹時,結果趨于穩定,經袋外數據OOB估計,得到相應的結果如圖6-7顯示,其中空白組分類準確率為90%(錯誤率為10%),寒藥組分類準確率98.31%(錯誤率為1.69%),熱藥組分類準確率為100%,總體分類準確率為97.76%(錯誤率為2.24%);此時,中藥寒、熱藥性代謝組學分類判別的二維效果如圖8,三類樣本相對獨立,也有少部分樣本點比較靠近。這些結果表明,提取的部分重要M/Z值后,重新構建的中藥寒、熱藥性代謝組學分類判別模型能夠實現很好的分類。再對M/Z值重要性重新排序如圖9。主要代碼如下: >coldvip<-spss.get("D:/nature/TCMnature/coldstandvip.sav") >hotvip<-spss.get("D:/nature/TCMnature/hotstandvip.sav") naturevip<-rbind(coldvip,hotvip) >set.seed(171) >naturevip.rf<- randomForest(CASE.LBL~.,naturevip,ntree=100, importance=TRUE,proximity=TRUE) >print(naturevip.rf) > plot(naturevip.rf) >MDSplot(naturevip.rf, nature $ CASE.LBL,main="Vip M/Z for TCM Classification") >varImpPlot(naturevip.rf,type=1) 圖6 隨機森林模型的OOB數據估計(VIP模型) 圖7 隨機森林決策樹大小與OOB數據估計 (VIP模型) 3.3樣本集7∶3法測試(7∶3模型)將樣本集按比例7∶3隨機分成兩部分:一部分占總樣本的70%,作為訓練集;另一部分點樣本的30%,作為測試集。 通過隨機森林算法對訓練集樣本構建分類判別模型。在生成100棵決策樹時,結果趨于穩定,經袋外數據OOB估計,得到相應的結果如圖10-11顯示:空白組分類準確率為94.12%(錯誤率為5.88%),寒藥組分類準確率100%,熱藥組分類準確率為100%,總體分類準確率為98.96%;此訓練集生成的隨機森林分類判別模型對測試集的分類結果如圖12顯示,即所有樣本中,只有16例熱藥組樣本中2例分類錯誤。這些結果表明,70%樣本構建的中藥寒、熱藥性代謝組學分類判別模型能夠實現很好的分類。主要代碼如下: >naturecs<- nature > ind <- sample(2, nrow(naturecs), replace = TRUE, prob=c(0.7, 0.3)) >set.seed(171) >naturecs.rf<-randomForest(CASE.LBL~.,data=naturecs[ind==1,],ntree=100,importance=T,proximity=T) > naturecs.rf >plot(naturecs.rf) > naturecs.pred <- predict(naturecs.rf, naturecs[ind == 2,]) >table(naturecs.pred,observed=naturecs[ind==2, "CASE.LBL"]) 圖8 分類判別效果(VIP模型) 圖9 變量重要性排序(VIP模型) 圖10 隨機森林算法部分代碼及OOB數據估計(7∶3模型訓練集) 3.4討論表2為隨機森林分類判別模型結果比較,包括全模型、VIP模型、7∶3模型訓練集的袋外數據估計、7∶3模型測試為70%樣本生成的隨機森林對30%樣本的預測。blank為空白組,cold為寒藥組,hot為熱藥組,total對應模型中以上三類樣本的總和。 圖11 隨機森林決策樹大小與OOB數據估計(7∶3模型訓練集) 圖12 隨機森林判別模型測試效果(測試集) % (1)隨機森林構建的中藥寒、熱藥性代謝組學數據分類判別模型,采用多種方法測試表明,能夠很好地實現分類判別,準確率總體都超過90%;(2)用最重要的前30個M/Z值構建的分類判別模型,同樣有很高的分類準確率;(3)這30個變量在全模型和VIP模型中的重要性稍有不同;(4)經7∶3測試,準確率超過90%;(5)結果顯示:三類樣本相對獨立,也有少部分樣本點比較靠近,為什么出現這種情況,是由于實驗誤差還是其它原因,這少部分樣本是不是剛好被誤分類等,值得研究和分析。 4結論 對中藥寒、熱藥性動物實驗,獲取代謝組學數據,包括5種寒藥59例樣本、5種熱藥55例樣本、空白組20例樣本,M/Z值837個。隨機森林對實驗中所有中藥寒、熱藥性代謝組學數據,構建的分類判別模型,具有很高的分類準確率。采用前30個最重要的M/Z值,構建的分類判別模型,同樣具有很高的分類準確率。這表明,隨機森林構建的中藥寒、熱藥性代謝組學分類判別模型,是一種較好的中藥寒、熱藥性分類判別方法。 參考文獻 [1]Holmes E "Metabonomics": understanding the metabolic responses of living systems to path physiological stimul via multivariate statistical analysis of biological NMR spectroscopic data[J].xenobiotica,1999.29:1 181-1 189. [2]Nicholson JK,Holmes E,Lindon JC,Wilson ID.The challenges of modeling mammalian biocomplexity[J].Nature Biotechnology,2004,22(10):1 268-1 274. [3]Pognan,F.Genomics,proteomics and metabonomics in toxicology:Hopefully not 'fashionomics' [J].Pharmacogenomics,2004,5(7):879-893. [4]Yin PY, Zhao X J, Ki Q R,et al. Metabonomics study of intestinal fistulas based on ultraperformance liquid chromatography coupled with Q-TOF mass spectrometry (UPLC/Q-TOF MS) [J].Journal of Proteome Research, 2006, (5):2 135-2 143. [5]Breiman L.Random forests[J].Machine learning.2001,45(1):5-32. [6]姚登舉,楊靜,詹曉娟.基于隨機森林的特征選擇算法[J].吉林大學學報(工學版),2014,44(1):137-141. [7]雷震. 隨機森林及其在遙感影像處理中應用研究[D].上海交通大學,2012. [8]http://www.salford-systems.com/en/products/randomforests/faqs/item/134-what-are-the-advantages-of-randomforests? [9]Miao Liu,Mingjun Wang,Jun Wang,et al. Comparison of random forest, support vector machine and back propagation neural network for electronic tongue data classification: Application to the recognition of orange beverage and Chinese vinegar[J].Sensors and Actuators B: Chemical. 2013, 177:970-980. [10]方匡南,吳見彬,朱建平,等.隨機森林方法綜述[J].統計與信息論壇,2011,26(3):32-38. [11]王韻.中藥寒、熱藥性代謝組學判別模式的建立研究[D].復旦大學,2010. [12]劉文慧,李雨,紀玉佳,等. 偏最小二乘在中藥藥性判別中的應用[J].山東大學學報(醫學版),2012,01:151-154. [13]周正禮.基于初生物質成分的寒、熱藥性識別和偏最小二乘路徑模型的建立[D].山東中醫藥大學,2012. [14]Bin Nie,Jianqiang Du,Guoliang Xu,etal.Classification and Discrimination for Traditional Chinese Medicine' Nature Based on PLS-DA[C].2010 International Forum on Information Technology and Applications. 2010:362-364. [15]Bin Nie,Jianqiang Du,Guoliang Xu,etal.Classification and Discrimination for Traditional Chinese medicine' Nature Based on OSC-OPLS/O2PLS-DA[C].2010 International Forum on Information Technology and Applications, 2010:354-357. [16]Zhuo Wang,Bin Nie,Jianfeng Xu,etal. A New Federation Approach in Analysis of Pharmaceuticals[J].Applied Mechanics and Materials Vols. 2012, (236-237):775-778. [17]聶斌,杜建強,劉紅寧,等.改進型分層聚類方法對中藥分類研究[J].江西中醫院學院學報. 2010,22(2):94-96. [18]郭穎婕,劉曉燕,郭茂祖,等. 植物抗性基因識別中的隨機森林分類方法[J].計算機科學與探索,2012,1:67-77. The Research for Metabolomics Discriminant Method for Cold and Hot Property of Traditional Chinese Medicine Based on Random Forest NIE Bin1, HAO Zhu-lin1, GUI Bao2, WANG Zhuo3, DU Jian-qiang1, WANG Guo-long1, ZHANG Xin1 1.SchoolofComputer,JiangxiUniversityofTraditionalChineseMedicine,Nanchang330004,China; 2.ScienceandTechnologyInformationTeamofJiangxiProvincialPublicSecurityDepartment,Nanchang330006,China; 3.SchoolofSoftware,NanchangUniversity,Nanchang330047,China. Abstract:Objective: To establish discriminant method for cold and hot property of traditional Chinese medicine.Mthod:Obtained metabolomics data from experiments on animals. Built model for discriminant cold or hot property of traditional Chinese medicine based on random forest. Results: The model could well realized its' classification, the overall accuracy was more than 90%. The same high level accuracy use the top 30 M/Z values to build model. The same high level accuracy used 7∶3 test.Conlusion: The metabolomics discriminant method for cold or hot property of traditional Chinese medicine based on random forest, which is proved to be feasible and effective after tested with the experiments data. Key words:Random Forest; Property of Traditional Chinese Medicine; Metabolomics; Classification 收稿日期:(2014-06-07)編輯:曾文雪 中圖分類號:TP391.4 文獻標識碼:A 基金項目:*國家自然科學 (61363042);江西省教育廳科技計劃項目(GJJ13014);江西省衛生廳中醫藥科研計劃項目(2013A023、2013A065);江西中醫藥大學校級課題(2013ZR0068)。














