LGB模型保存及使用

1 原生模式
# 模型训练
gbm = lgb.train(params, lgb_train, num_boost_round=20, valid_sets=lgb_eval, early_stopping_rounds=5)
 
# 模型保存
gbm.save_model('model.txt')
 
# 模型加载
gbm = lgb.Booster(model_file='model.txt')
 
# 模型预测
y_pred = gbm.predict(X_test, num_iteration=gbm.best_iteration)
 
2 sklearn接口模式
from lightgbm import LGBMRegressor
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import GridSearchCV
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.externals import joblib
 
 
# 模型训练
gbm = LGBMRegressor(objective='regression', num_leaves=31, learning_rate=0.05, n_estimators=20)
gbm.fit(X_train, y_train, eval_set=[(X_test, y_test)], eval_metric='l1', early_stopping_rounds=5)
 
# 模型存储
joblib.dump(gbm, 'loan_model.pkl')
# 模型加载
gbm = joblib.load('loan_model.pkl')
 
# 模型预测
y_pred = gbm.predict(X_test, num_iteration=gbm.best_iteration_)

调参笔记

在竞赛题中,我们清楚 X G B o o s t XGBoost XGBoost算法非常热门。是很多比赛的大杀器。但是在使用过程中,其训练耗时很长,内存占用比较大。在2017年年1月微软在GitHub的上开源了LightGBM。该算法在不降低准确率的前提下,速度提升了10倍左右,占用内存下降了3倍左右。LightGBM是个快速的,分布式的,高性能的基于决策树算法的梯度提升算法。可用于排序,分类,回归以及很多其他的机器学习任务中。其详细的原理及操作内容详见

本文主要将 L i g h t G B M LightGBM LightGBM两种调参方法:
LGB模型保存及使用_第1张图片
LGB模型保存及使用_第2张图片
LGB模型保存及使用_第3张图片
LGB模型保存及使用_第4张图片
LGB模型保存及使用_第5张图片
LGB模型保存及使用_第6张图片

调参

LGB模型保存及使用_第7张图片
下表对应了 Faster Speed ,better accuracy ,over-fitting 三种目的时,可以调的参数
LGB模型保存及使用_第8张图片
LGB模型保存及使用_第9张图片
LGB模型保存及使用_第10张图片

GridSearchCV调参

LGB模型保存及使用_第11张图片

调参过程

调参过程1
调参具体操作

总结

  • 自己打比赛的时候,会自己调参,会自己建立模型以及各种的调参。

你可能感兴趣的:(科大讯飞赛场,决策树,python)