XGBoost、LightGBM与CatBoost算法对比与调参
雖然現在深度學習大行其道,但以XGBoost、LightGBM和CatBoost為代表的Boosting算法仍有其廣闊的用武之地。拋開深度學習適用的圖像、文本、語音和視頻等非結構化的數據應用,Boosting算法對于訓練樣本較少的結構化數據領域仍然是第一選擇。本文先對前述章節的三大Boosting的聯系與區別進行簡單闡述,并一個實際數據案例來對三大算法進行對比。然后對常用的Boosting算法超參數調優方法進行介紹,包括隨機調參法、網格搜索法和貝葉斯調參法,并給出相應的代碼示例。
三大Boosting算法對比
首先,XGBoost、LightGBM和CatBoost都是目前經典的SOTA(state of the art)Boosting算法,都可以歸類到梯度提升決策樹算法系列。三個模型都是以決策樹為支撐的集成學習框架,其中XGBoost是對原始版本的GBDT算法的改進,而LightGBM和CatBoost則是在XGBoost基礎上做了進一步的優化,在精度和速度上都有各自的優點。
那么這三大Boosting算法又有哪些大的方面的區別呢?主要有兩個方面。第一個是三個模型樹的構造方式有所不同,XGBoost使用按層生長(level-wise)的決策樹構建策略,LightGBM則是使用按葉子生長(leaf-wise)的構建策略,而CatBoost使用了對稱樹結構,其決策樹都是完全二叉樹。第二個有較大區別的方面是對于類別特征的處理。XGBoost本身不具備自動處理類別特征的能力,對于數據中的類別特征,需要我們手動處理變換成數值后才能輸入到模型中;LightGBM中則需要指定類別特征名稱,算法即可對其自動進行處理;CatBoost以處理類別特征而聞名,通過目標變量統計等特征編碼方式也
總結
以上是生活随笔為你收集整理的XGBoost、LightGBM与CatBoost算法对比与调参的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TorchMetrics:PyTorch
- 下一篇: 轻量化CNN网络MobileNet系列详