摘要:即某個數(shù)據(jù)被分為哪一類要由各分類器權值決定。實現(xiàn)參考西瓜書及機器學習實戰(zhàn)實現(xiàn)初始化權重,每個都一樣唯一的入參是迭代次數(shù),要么為跳出循環(huán),要么循環(huán)次數(shù)達到的時候跳出循環(huán)決策樹樁算法,也可以換成其他的算法計算值重新計算權重
1.介紹
Adaboost是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)
2.算法邏輯
1、先通過對N個訓練樣本的學習得到第一個弱分類器; 2、將分錯的樣本和其他的新數(shù)據(jù)一起構成一個新的N個的訓練樣本,通過對這個樣本的學習得到第二個弱分類器; 3、將1和2都分錯了的樣本加上其他的新樣本構成另一個新的N個的訓練樣本,通過對這個樣本的學習得到第三個弱分類器 4、最終經過提升的強分類器。即某個數(shù)據(jù)被分為哪一類要由各分類器權值決定。
3.實現(xiàn)(參考西瓜書及機器學習實戰(zhàn))
#adaBoost實現(xiàn) def adaBoostTrain(dataArr,classLabels,numIt=40): weakClassArr = [] m = np.shape(dataArr)[0] D = np.mat(np.ones((m,1))/m) #初始化權重,每個feature都一樣 aggClassEst = np.mat(np.zeros((m,1))) #唯一的入參是迭代次數(shù),要么error為 0跳出循環(huán) ,要么循環(huán)次數(shù)達到numIt 的時候跳出循環(huán) for i in range(numIt): # 決策樹樁算法,也可以換成其他的算法 bestStump,error,classEst = buildStump(dataArr,classLabels,D) #print "D:",D.T alpha = float(0.5*np.log((1.0-error)/max(error,1e-16)))#計算alpha值 bestStump["alpha"] = alpha weakClassArr.append(bestStump) #print "classEst: ",classEst.T #重新計算權重 expon = np.multiply(-1*alpha*np.mat(classLabels).T,classEst) D = np.multiply(D,np.exp(expon)) D = D/D.sum() aggClassEst += alpha*classEst aggErrors = np.multiply(np.sign(aggClassEst) != np.mat(classLabels).T,np.ones((m,1))) errorRate = aggErrors.sum()/m print "total error: ",errorRate if errorRate == 0.0: break print "weakClassArr:",weakClassArr print "aggClassEst:", aggClassEst return weakClassArr,aggClassEst
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19775.html
摘要:本篇內容為機器學習實戰(zhàn)第章利用元算法提高分類性能程序清單。將當前錯誤率與已有的最小錯誤率進行對比后,如果當前的值較小,那么就在字典中保存該單層決策樹。上述,我們已經構建了單層決策樹,得到了弱學習器。 本篇內容為《機器學習實戰(zhàn)》第 7 章利用 AdaBoost 元算法提高分類性能程序清單。所用代碼為 python3。 AdaBoost優(yōu)點:泛化錯誤率低,易編碼,可以應用在大部分分類器上...
摘要:在本次課程中,著重講解的是傳統(tǒng)的機器學習技術及各種算法?;貧w對連續(xù)型數(shù)據(jù)進行預測趨勢預測等除了分類之外,數(shù)據(jù)挖掘技術和機器學習技術還有一個非常經典的場景回歸。 摘要: 什么是數(shù)據(jù)挖掘?什么是機器學習?又如何進行Python數(shù)據(jù)預處理?本文將帶領大家一同了解數(shù)據(jù)挖掘和機器學習技術,通過淘寶商品案例進行數(shù)據(jù)預處理實戰(zhàn),通過鳶尾花案例介紹各種分類算法。 課程主講簡介:韋瑋,企業(yè)家,資深IT領...
摘要:在本次課程中,著重講解的是傳統(tǒng)的機器學習技術及各種算法?;貧w對連續(xù)型數(shù)據(jù)進行預測趨勢預測等除了分類之外,數(shù)據(jù)挖掘技術和機器學習技術還有一個非常經典的場景回歸。 摘要: 什么是數(shù)據(jù)挖掘?什么是機器學習?又如何進行Python數(shù)據(jù)預處理?本文將帶領大家一同了解數(shù)據(jù)挖掘和機器學習技術,通過淘寶商品案例進行數(shù)據(jù)預處理實戰(zhàn),通過鳶尾花案例介紹各種分類算法。 課程主講簡介:韋瑋,企業(yè)家,資深IT領...
閱讀 1258·2021-11-19 09:40
閱讀 3117·2021-11-02 14:47
閱讀 3050·2021-10-11 10:58
閱讀 3216·2019-08-30 15:54
閱讀 2666·2019-08-30 12:50
閱讀 1721·2019-08-29 16:54
閱讀 462·2019-08-29 15:38
閱讀 1237·2019-08-29 15:19