成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Adaboost的python實(shí)現(xiàn)

young.li / 1203人閱讀

摘要:即某個(gè)數(shù)據(jù)被分為哪一類要由各分類器權(quán)值決定。實(shí)現(xiàn)參考西瓜書及機(jī)器學(xué)習(xí)實(shí)戰(zhàn)實(shí)現(xiàn)初始化權(quán)重,每個(gè)都一樣唯一的入?yún)⑹堑螖?shù),要么為跳出循環(huán),要么循環(huán)次數(shù)達(dá)到的時(shí)候跳出循環(huán)決策樹樁算法,也可以換成其他的算法計(jì)算值重新計(jì)算權(quán)重

1.介紹
Adaboost是一種迭代算法,其核心思想是針對同一個(gè)訓(xùn)練集訓(xùn)練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個(gè)更強(qiáng)的最終分類器(強(qiáng)分類器)

2.算法邏輯
1、先通過對N個(gè)訓(xùn)練樣本的學(xué)習(xí)得到第一個(gè)弱分類器; 2、將分錯(cuò)的樣本和其他的新數(shù)據(jù)一起構(gòu)成一個(gè)新的N個(gè)的訓(xùn)練樣本,通過對這個(gè)樣本的學(xué)習(xí)得到第二個(gè)弱分類器; 3、將1和2都分錯(cuò)了的樣本加上其他的新樣本構(gòu)成另一個(gè)新的N個(gè)的訓(xùn)練樣本,通過對這個(gè)樣本的學(xué)習(xí)得到第三個(gè)弱分類器 4、最終經(jīng)過提升的強(qiáng)分類器。即某個(gè)數(shù)據(jù)被分為哪一類要由各分類器權(quán)值決定。

3.實(shí)現(xiàn)(參考西瓜書及機(jī)器學(xué)習(xí)實(shí)戰(zhàn))

#adaBoost實(shí)現(xiàn)
def adaBoostTrain(dataArr,classLabels,numIt=40):
    weakClassArr = []
    m = np.shape(dataArr)[0]
    D = np.mat(np.ones((m,1))/m)   #初始化權(quán)重,每個(gè)feature都一樣
    aggClassEst = np.mat(np.zeros((m,1)))
    #唯一的入?yún)⑹堑螖?shù),要么error為 0跳出循環(huán) ,要么循環(huán)次數(shù)達(dá)到numIt 的時(shí)候跳出循環(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)))#計(jì)算alpha值
        bestStump["alpha"] = alpha  
        weakClassArr.append(bestStump)
        #print "classEst: ",classEst.T
        #重新計(jì)算權(quán)重
        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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/19775.html

相關(guān)文章

  • 【數(shù)據(jù)科學(xué)系統(tǒng)學(xué)習(xí)】機(jī)器學(xué)習(xí)算法 # 西瓜書學(xué)習(xí)記錄 [12] 集成學(xué)習(xí)實(shí)踐

    摘要:本篇內(nèi)容為機(jī)器學(xué)習(xí)實(shí)戰(zhàn)第章利用元算法提高分類性能程序清單。將當(dāng)前錯(cuò)誤率與已有的最小錯(cuò)誤率進(jìn)行對比后,如果當(dāng)前的值較小,那么就在字典中保存該單層決策樹。上述,我們已經(jīng)構(gòu)建了單層決策樹,得到了弱學(xué)習(xí)器。 本篇內(nèi)容為《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》第 7 章利用 AdaBoost 元算法提高分類性能程序清單。所用代碼為 python3。 AdaBoost優(yōu)點(diǎn):泛化錯(cuò)誤率低,易編碼,可以應(yīng)用在大部分分類器上...

    terro 評(píng)論0 收藏0
  • Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)技術(shù)入門實(shí)戰(zhàn)

    摘要:在本次課程中,著重講解的是傳統(tǒng)的機(jī)器學(xué)習(xí)技術(shù)及各種算法。回歸對連續(xù)型數(shù)據(jù)進(jìn)行預(yù)測趨勢預(yù)測等除了分類之外,數(shù)據(jù)挖掘技術(shù)和機(jī)器學(xué)習(xí)技術(shù)還有一個(gè)非常經(jīng)典的場景回歸。 摘要: 什么是數(shù)據(jù)挖掘?什么是機(jī)器學(xué)習(xí)?又如何進(jìn)行Python數(shù)據(jù)預(yù)處理?本文將帶領(lǐng)大家一同了解數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)技術(shù),通過淘寶商品案例進(jìn)行數(shù)據(jù)預(yù)處理實(shí)戰(zhàn),通過鳶尾花案例介紹各種分類算法。 課程主講簡介:韋瑋,企業(yè)家,資深I(lǐng)T領(lǐng)...

    ephererid 評(píng)論0 收藏0
  • Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)技術(shù)入門實(shí)戰(zhàn)

    摘要:在本次課程中,著重講解的是傳統(tǒng)的機(jī)器學(xué)習(xí)技術(shù)及各種算法?;貧w對連續(xù)型數(shù)據(jù)進(jìn)行預(yù)測趨勢預(yù)測等除了分類之外,數(shù)據(jù)挖掘技術(shù)和機(jī)器學(xué)習(xí)技術(shù)還有一個(gè)非常經(jīng)典的場景回歸。 摘要: 什么是數(shù)據(jù)挖掘?什么是機(jī)器學(xué)習(xí)?又如何進(jìn)行Python數(shù)據(jù)預(yù)處理?本文將帶領(lǐng)大家一同了解數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)技術(shù),通過淘寶商品案例進(jìn)行數(shù)據(jù)預(yù)處理實(shí)戰(zhàn),通過鳶尾花案例介紹各種分類算法。 課程主講簡介:韋瑋,企業(yè)家,資深I(lǐng)T領(lǐng)...

    孫吉亮 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<