整合學習模型的常見演算法有bagging演算法和boosting演算法兩種。隨機森林模型是bagging演算法的典型代表,adaboost模型和gbdt模型則是boosting演算法的典型代表。
adaboost演算法(adaptive boosting)以一種高度自適應的方式按順序訓練弱學習器。針對分類問題:adaboost演算法根據前一次的分類效果調整資料的權重,在上乙個弱學習器中分類錯誤的樣本的權重會在下乙個弱學習器中增加,分類正確的樣本的權重則相應減少,並且在每一輪迭代時會向模型加入乙個新的弱學習器。不斷重複調整權重和訓練弱學習器,直到誤分類數低於預設值或迭代次數達到指定最大值,最終得到乙個強學習器。
簡單來說,adaboost演算法的核心思想就是調整錯誤樣本的權重,進而迭代公升級。
為防止adaboost演算法過擬合,可以向模型中加入正則化項——每個弱學習器的權重縮減係數v,又稱為學習率(learning rate)。
權重縮減係數的取值範圍為(0,1]。取值較小意味著要達到一定的誤分類數或學習效果,需要的迭代次數更多,需要訓練的弱學習器更多;取值較大意味著要獲得相同的學習效果,需要的迭代次數更少,需要訓練的弱學習器更少。
from sklearn.ensemble import adaboostclassifier
adaboostclassifier?
輸入以上**可以檢視官方說明文件。下面是對說明文件的編譯:
base_estimator:含義:弱學習器型別
取值:一般選擇決策樹模型或mlp神經網路模型,預設為分類決策樹模型。
n_estimators : 含義:弱學習器的最大迭代次數
取值:int型資料,預設取值50,如果訓練集已經完美地訓練好,演算法可能會提前停止。
learning rate:弱學習器的權重縮減係數v
取值:取值範圍是(0,1],取值較小意味著達到一定的誤分類數或學習效果需要更多迭代次數和更多弱學習器,預設取值為1.0,即不縮減。
algorithm:演算法
取值:取值為』samme』,代表使用對樣本集分類的效果調整弱學習權重;取值為』samme.r』,代表使用對樣本集分類的**概率調整弱學習器權重。預設取值為』samme.r』
random_state:設定隨機狀態
取值:取值範圍為。如果為int型資料,則指定了隨機數生成器的種子,每次執行的結果都是一致的;如果為randomstate例項,則指定了隨機數生成器;如果為none,則使用預設的隨機數生成器。預設取none
線性回歸模型原理及推導
今天我們來看乙個最常見的機器學習模型 線性回歸 linear regression 模型。先舉個例子讓你明白什麼是線性回歸。現在我們有房屋面積和 的一些資料,如下圖 現在我們想知道的是,如果給乙個新的房屋面積130m 能否根據已知的資料來 新的面積對應的 是多少呢?這時,線性回歸模型就派上用場了。我...
Select模型及tcp select模型
參考 一 套接字模式 套接字模式簡單的決定了操作套接字時,winsock函式是如何運轉的。winsock以兩種模式執行i o操作 阻塞和非阻塞。在阻塞模式下,執行i 0的winsock呼叫 如send和recv 一直到操作完成才返回。非阻塞模式下,winsock函式會立刻返回 1.阻塞模式 套接字建...
WinSocket網路模型模型原理
上面這些模型區別主要是一下幾個方面 如何監控socket的變化 如何通知socket的變化 1.select 應用場合 主要面向的是某些使用u n i x作業系統的計算機,它們採用的是b e r k e l e y套接字方案。s e l e c t模型已整合到winsock 1.1中,它使那些想避免...