【摘要】 討論了在中草藥數據分類應用中兩種分類器算法multiboostAB和adaboostM1的分類性能的問題,在weka平臺上實驗可知,這兩種分類器算法中adaboostM1的分類精度比較高。
【關鍵詞】 中草藥 AdaBoostM1 weka
一、概述
以往對于中草藥的分類一般都是采用傳統的單分類算法,如最近鄰分類算法、神經網絡算法等,本實驗研究的是把組合分類器算法應用于中草藥數據的分類中,使用了目前比較流行的adaboostM1算法,與該算法進行比較的也是一種元學習算法,該算法為multiboostAB分類器算法。
本文首先在weka平臺上用兩種分類器算法對草藥數據集進行分類,然后再對這兩種算法的分類精度進行對比,實驗表明:在實驗數據集為輸入樣本集的情況下,AdaboostM1算法的分類精度比較高。
二、AdaBoost 算法
AdaBoost 算法的基本思想可以概括為:
(1)對實驗中的每個樣本 X都賦予一個權重W。
(2)對輸入的訓練數據進行K次迭代學習。每次迭代后,對其中分類錯誤的樣本進行加大權重修改,使得下次進行迭代時把重點放在這些樣本上。
(3)同時對于算法中的每個弱分類器都有一個原始的權重α,隨著迭代的進行,每個弱分類器的權重進行修改,其中正確率高的分類器權重也相對高。
三、在Weka上用AdaBoost算法及幾種單分類算法對草藥數據進行分類
本文所進行的實驗在Weka3-7-1平臺上完成,用三種草藥三七、人參、西洋參的指紋圖譜數據作為實驗的數據集。本實驗采用的方法是對數據集采用5重交叉驗證,實驗得出的分類精度體現為分類性能,分類精度越高表示分類效果越好。
multiboostAB的參數設置如下:
基分類器為decisionstump,numiteration是10,numsubcmtys為3,seed為1,weightThreshold為100,其他的為默認參數設置。
AdaboostM1的參數設置如下:
基分類器為decisionstump,numiteration為10,seed為1,weightThresold為100。
之后執行RUN界面的START指令,再進入ANALYSE界面載入文件選擇分析分類精度,可得到這些算法的平均分類精度如表1所示。
四、實驗結果與分析
從表1可以看出,在實驗的中草藥數據集中,AdaBoostM1算法的分類精度大于multiboostAB算法的分類精度。
五、結論
綜上所述,在中草藥分類領域,在與multiboostAB算法比較下,可以利用AdaBoostM1算法來提高傳統分類器算法的分類精度,使用AdaBoostM1算法來進行草藥數據集的分類以達到高的精度。
參 考 文 獻
[1] Witten,1.H.and Frank,E.Data Mining practical machine leaning tool sand techniques,second edition. 北京,機械工業出版社,2006