【摘要】 討論了在中草藥數據分類應用中兩種分類器算法classificatinviaregression 和adaboostM1的分類性能的問題,在weka平臺上實驗可知,這兩種分類器算法中adaboostM1的分類精度比較高。
【關鍵詞】 中草藥 AdaBoostM1 分類器
一、概述
傳統的單分類器算法對于草藥數據的分類應用有很多,但是每個單分類器算法對于不同的草藥數據的分類性能不同,都有一定的偏向,研究人員開始嘗試用組合分類器的方式來彌補單分類器算法的缺點,從而提高傳統單分類器的分類性能。本實驗用目前應用廣泛的adaboostM1算法,與在WEKA平臺中的一種單分類器算法classificationviaregression進行比較,驗證組合分類器算法的分類性能是否比單分類器算法的好。本文首先在weka平臺上用兩種分類器算法對草藥數據集進行分類,然后再對這兩種算法的分類精度進行對比,實驗表明:在實驗數據集為輸入樣本集的情況下,AdaboostM1算法的分類精度比較高。
二、AdaBoost 算法介紹
AdaBoostM1[1]算法:輸入.訓練樣本集S〈(x,y)…(x,y)〉。迭代次數 T,弱分類器 WeakLearn。
初始化:樣本權值,w=D(i),i=1,…,m
(1)for t=1,……,T
(2)產生分布pt=wt/∑w
(3)基于分布pt調用 WeakLearn,得到假設:ht:X→[0,1]
(4)計算假設ht的錯誤率: εt=∑pht(xi)-yi
(5)計算βt=εt/(1-εt)
(6)更新w=w×β
(7)end
輸出.
當
1ogh(x)≥
1og 時Hf(x)為1,否則Hf(x)為0。
三、在Weka上用AdaBoost算法及幾種單分類算法對草藥數據進行分類
本文所進行的實驗在Weka3-7-1平臺上完成,用三種草藥三七、人參、西洋參的指紋圖譜數據作為實驗的數據集。采用對輸入的數據集5重交叉驗證的方式,取其分類精度為分類性能,分類精度越高表示分類效果越好。
classificationviaregression的參數設置如下:
基分類器為decisionstump,其他的為默認參數設置。
AdaboostM1的參數設置如下:
基分類器為decisionstump,numiteration為10,seed為1,weightThresold為100。
之后執行RUN界面的START指令,再進入ANALYSE界面載入文件選擇分析分類精度,可得到這些算法的平均分類精度如表1所示。
四、實驗結果與分析
從表1可以看出,在實驗的中草藥數據集中,AdaBoostM1算法的分類精度大于classificationviaregression算法的分類精度。
五、結論
綜上所述,在中草藥分類領域,在與classificaitnoviaregression算法比較下,可以利用AdaBoostM1算法來提高傳統分類器算法的分類精度,使用AdaBoostM1算法來進行草藥數據集的分類以達到高的精度。