LightGBM:Light Gradient Boosting Machine,是一個實現GBDT (Gradient Boosting Decision Tree)算法的框架,支持高效率的並行訓練,並且具有以下優點:
● 更快的訓練速度
● 更低的內存消耗
● 更好的準確率
● 分佈式支持,可以快速處理海量數據
LightGBM的教程,參見LightGBM 中文文檔。
此處的具體實現
import lightgbm as lgb
y_train = Y_train
y_test = Y_test
X_train = x_train
X_test = x_test
# create dataset for lightgbm
lgb_train = lgb.Dataset(X_train, y_train)
lgb_eval = lgb.Dataset(X_test, y_test, reference=lgb_train)
params = {
'boosting_type': 'gbdt',
'objective': 'multiclass',
'lambda_l1': 0.001,
'lambda_l2': 0.5,
'num_leaves': 20,
'num_trees': 100,
'learning_rate': 0.01,
'feature_fraction': 0.9,
'bagging_fraction': 0.8,
'bagging_freq': 5,
'verbose': 0
}
gbm = lgb.train(params,
lgb_train,
num_boost_round=100,
valid_sets=lgb_train)
y_pred = gbm.predict(test)
參考文獻
[1]: https://zhuanlan.zhihu.com/p/33700459
[2]: https://blog.csdn.net/anshuai_aw1/article/details/83275299
[3]: https://www.msra.cn/zh-cn/news/features/lightgbm-20170105
[4]: https://github.com/Microsoft/LightGBM
[5]: https://blog.csdn.net/luanpeng825485697/article/details/80236759
[6]: https://blog.csdn.net/feifeizhongda/article/details/81276954