iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 13
3
自我挑戰組

自然語言技術與AI/ML初探系列 第 13

LightGBM

LightGBM (GB指gradient boosting方法) 使用基於直方圖的算法 。例如,它將連續的特徵值分桶(buckets)裝進離散的箱子(bins),這使得訓練過程中變得更快。LightGBM採用了對增益最大的節點進行深入分解的方法。這樣節省了大量分裂節點的資源。下圖是XGBoost的分裂方式。

https://ithelp.ithome.com.tw/upload/images/20181028/20112538sYpetNHVZj.png

以下是LightGBM的分裂方式

https://ithelp.ithome.com.tw/upload/images/20181028/20112538JuUroXhf8Z.png

其中離散數值的資料欄位宣告範例如下

https://ithelp.ithome.com.tw/upload/images/20181028/20112538PcEww3qS0z.png

在為LGBM構造資料集之前,應該將分類特徵轉換為整型integer。即使你通過categorical_feature傳遞引數,它也不接受字串值。

建樹過程上,leaf-wise分裂方法能產生比level-wise分裂方法更復雜的樹,能使得模型得到更高準確率。然而,它有時候或導致over fitting,但是我們可以通過設置 max-depth 參數來防止過擬合的發生。

和其他模型XGBoost, CatBoost, LightGBM的重要超參數比較
https://ithelp.ithome.com.tw/upload/images/20181028/20112538nlFqRNWwns.png

LightLGB核心參數
Boosting:也稱 boost, boosting_type 默認是 gbdt 。gbdt的效果比較經典穩定
num_thread:也稱作 num_thread , nthread 指定thread的個數。
Application:有regression, binary, multi-class, cross-entropy, lambdarank. 默認為 regression。

程式碼:
https://ithelp.ithome.com.tw/upload/images/20181028/20112538gKYScZXE7r.png

參考來源
CatBoost、LightGBM、XGBoost,這些演算法你都瞭解嗎?
https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/510420/
XGBoost過時了?LightGBM核心解析
https://hk.saowen.com/a/9d4cf70280f9a72a085ec7f7790b80654ca12cd52afcc3edcc9bc209d495c62d


上一篇
知識圖譜
下一篇
文字/文件視覺化
系列文
自然語言技術與AI/ML初探30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言