梯度提升的多种实现

Python 中的集成方法

Román de las Heras

Data Scientist, Appodeal

梯度提升的变体

梯度提升算法

  • 极端梯度提升
  • 轻量梯度提升机
  • 分类特征提升

实现

  • XGBoost
  • LightGBM
  • CatBoost
Python 中的集成方法

极端梯度提升(XGBoost)

主要特性:

  • 为分布式计算优化
  • 天生并行训练
  • 可扩展、可移植且准确
import xgboost as xgb

clf_xgb = xgb.XGBClassifier(
   n_estimators=100,
   learning_rate=None,
   max_depth=None,
   random_state
)
clg_xgb.fit(X_train, y_train)
pred = clf_xgb.predict(X_test)
Python 中的集成方法

轻量梯度提升机(LightGBM)

主要特性:

  • 由微软发布(2017 年)
  • 训练更快、更高效
  • 占用空间更小
  • 针对并行与 GPU 优化
  • 适用于大数据集及速度/内存受限的问题
import lightgbm as lgb

clf_lgb = lgb.LGBMClassifier(
   n_estimators=100,
   learning_rate=0.1,
   max_depth=-1,
   random_state
)
clf_lgb.fit(X_train, y_train)
pred = clf_lgb.predict(X_test)
Python 中的集成方法

分类特征提升(CatBoost)

主要特性:

  • Yandex 开源(2017 年 4 月)
  • 内置分类特征处理
  • 准确且稳健
  • 速度快、可扩展
  • 友好的 API
import catboost as cb

clf_cat = cb.CatBoostClassifier(
   n_estimators=None,
   learning_rate=None,
   max_depth=None,
   random_state
)
clf_cat.fit(X_train, y_train)
pred = clf_cat.predict(X_test)
Python 中的集成方法

轮到您了!

Python 中的集成方法

Preparing Video For Download...