Python AdaBoost提升算法
生活随笔
收集整理的這篇文章主要介紹了
Python AdaBoost提升算法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Python AdaBoost提升算法
1 聲明
本文的數(shù)據(jù)來自網(wǎng)絡,部分代碼也有所參照,這里做了注釋和延伸,旨在技術交流,如有冒犯之處請聯(lián)系博主及時處理。
2 AdaBoost提升簡介
隨機森林是通過一堆隨機決策樹來預測目標變量,還有一種方法是通過提升的方法。該方法里常用的是AdaBoost,這里通過對一系列弱的模型(淺些的決策樹)就行迭代,每次迭代時對錯分的樣本給予更高關注以糾正模型。它的執(zhí)行過程見下:
1、給每個樣本初始的權重 ,這里n是樣本的總量。
2、訓練這個弱的模型
3、針對每個樣本做判斷:
如果當前的弱模型預測 正確,則降低對應權重 的值
反之當前的弱模型預測 錯誤,則增加對應權重 的值。
4、訓練新的弱模型,具有更大 的觀測值具有更大的優(yōu)先級。
5、重復3和4直至數(shù)據(jù)被很好的預測了。
在scikit-learn里我們用實例化的AdaBoost:AdaBoostClassifier、AdaBoostRegressor. 其中最重要的參數(shù)有base_estimator, n_estimators, and learning_rate其中
- base_estimator是指訓練弱模型的算法,默認是決策樹
- n_estimators迭代訓練模型的個數(shù)
- learning_rate每個模型對權重的占比,默認是1.降低該值會使得權重升高或者使得模型訓練變慢。
- loss參數(shù)僅適用于AdaBoostRegressor,是更新權重時的損失函數(shù)。默認是線性損失函數(shù),也可以改成平方或者指數(shù)函數(shù)。
3 AdaBoost代碼示例
# 加載相關包和數(shù)據(jù) from sklearn.ensemble import AdaBoostClassifier from sklearn import datasets iris = datasets.load_iris() features = iris.data target = iris.target #創(chuàng)建adaboost tree分類對象 adaboost = AdaBoostClassifier(random_state=0) model = adaboost.fit(features, target)4 總結(jié)
無
?
?
總結(jié)
以上是生活随笔為你收集整理的Python AdaBoost提升算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京西城区老破小学区房被秒光,全款支付居
- 下一篇: 银行贷款保险是什么