LightGBM

Posted nxf-rabbit75

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LightGBM相关的知识,希望对你有一定的参考价值。

  • lightgbm:由于现在的比赛数据越来越大,想要获得一个比较高的预测精度,同时又要减少内存占用以及提升训练速度,lightgbm是一个非常不错的选择,其可达到与xgboost相似的预测效果。
  • xgboost:在lightgbm出来之前,是打比赛的不二之选,现在由于需要做模型融合以提高预测精度,所以也需要使用到xgboost。
  • ANN:得益于现在的计算机技术的高度发展,以及GPU性能的提高,还有Keras,tensorflow,pytorch等多重工具的使用,人工神经网络也可以作为最后模型融合的子模型之一,可以有效地提升最终的预测结果。

LightGBM是个快速的、分布式的、高性能的基于决策树算法的梯度提升框架。可用于排序、分类、回归以及很多其他的机器学习任务中。
模板:

import lightgbm as lgb
print("LGB test")
clf = lgb.LGBMClassifier(
        boosting_type=‘gbdt‘, num_leaves=55, reg_alpha=0.0, reg_lambda=1,
        max_depth=15, n_estimators=6000, objective=‘binary‘,
        subsample=0.8, colsample_bytree=0.8, subsample_freq=1,
        learning_rate=0.06, min_child_weight=1, random_state=20, n_jobs=4
    )
clf.fit(X_train, y_train)
pre=clf.predict(testdata)
print("starting first testing......")  
clf = lgb.LGBMClassifier(  
        boosting_type=‘gbdt‘, num_leaves=50, reg_alpha=0.0, reg_lambda=1,  
        max_depth=-1, n_estimators=1500, objective=‘binary‘,  
        subsample=0.7, colsample_bytree=0.7, subsample_freq=1,  
        learning_rate=0.05, min_child_weight=50, random_state=2018, n_jobs=100  
    )  
clf.fit(X_train, y_train, eval_set=[(X_train, y_train)], eval_metric=‘auc‘,early_stopping_rounds=1000)  
pre1=clf.predict(X_test)  

以上是关于LightGBM的主要内容,如果未能解决你的问题,请参考以下文章

LightGBM算法---介绍说明python代码

Python:LightGBM 超参数调整值错误

LightGBM 中的交叉验证

SHAP:shap_values 计算中的 XGBoost 和 LightGBM 差异

R语言实战应用-lightgbm 算法优化:不平衡二分类问题(附代码)

LazyProphet:使用 LightGBM 进行时间序列预测