之前已經介紹了XGBoost三部曲:XGBoost原理。本文詳細介紹XGBoost參數,讓大家在使用XGBoost的過程中能得心應手。后續會更新XGBoost實戰,敬請期待。
文章目錄
-
- 一、核心概念回顧
- 二、XGBoost算法參數整體介紹
-
- 1 原生接口和Scikit-learn接口的區別
- 2 參數分類詳解
- 三、核心Booster參數詳解與最優使用建議
- 四、參數調優策略總結
-
- 1 固定基礎,早停優先
- 2 調整樹結構復雜度
- 3 應用正則化
- 4 處理特定問題
- 5 系統化調優
- 五、注意事項
一、核心概念回顧
??
集成學習:通過構建并結合多個機器學習模型來改善模型的性能。通過訓練多個模型,并將它們的預測結果進行某種方式的結合,通常可以得到比單一模型更好的預測結果。
??
Bagging:是Bootstrap Aggregating的縮寫,是一種通過結合多個模型的預測結果來減少模型方差的方法。在Bagging中,每個模型都是在原始數據集的隨機子集上進行訓練的,這些隨機子集是通過有放回的抽樣得到的。然后,所有模型的預測結果通過投票(對于分類問題)或平均(對于回歸問題)的方式進行結合,典型的代表是隨機森林。
??
Boosting:基本思想是三個臭皮匠賽過諸葛亮。算法思路是采用串行的方式訓練基分類器,每一層在訓練時,給前一層基分類器分錯的樣本更高的權重,最后把各層分類器的結果層層加權疊加得到最終的結果。
??
GBDT:是Gradient Boosting Decision Tree的縮寫,是一種基于決策樹的集成學習算法,也是一種迭代式的boosting算法。基本原理是迭代地訓練決策樹,每次訓練都基于之前訓練結果來進行優化。訓練過程基于梯度下降的思想,使用了加法模型和函數優化方法。
??
XGBoost :是eXtreme Gradient Bo