1、训练模型
import lightgbm as lgb
params = {
'task': 'train',
'boosting_type': 'gbdt', # 设置提升类型
'objective': 'binary', # 目标函数 regression
'metric': {'auc'}, # 评估函数 metric = binary_logloss,auc
'learning_rate': 0.05, # [0.01, 0.02, 0.05, 0.1, 0.15]
'n_estimators': 500, # 默认是100.也就是循环次数,或者叫树的数目。
'max_depth': 3, # range(5, 15, 2)
'num_leaves': 16, # 一棵树上的叶子数 [15, 25, 40, 55]
'min_child_samples': 300, # 一个叶子上数据的最小数量
'min_child_weight': 10, # 分支结点的最小权重
'feature_fraction': 0.7, # 每次新建一棵树时,随机使用多少的特征。
'bagging_fraction': 0.7,
'bagging_freq': 10, # bagging 的频率
# 'cat_smooth': 30, # 这可以降低噪声在分类特征中的影响
'lambda_l1': 4, # reg_alpha [0, 0.1, 0.5, 1, 3][3,5]
'lambda_l2': 4, # reg_lambda
'verbose': 1, # <0 显示致命的, =0 显示错误 (警告), >0 显示信息
'seed': 27
# 'num_class':25
}
lgb_train_data = lgb.Dataset(train_x, train_y)
lgb_eval_data = lgb.Dataset(test_x, test_y, reference=lgb_train_data)
model_lgb = lgb.train(params, lgb_train_data
, valid_sets=lgb_eval_data
, early_stopping_rounds=50
)
2、报存模型结果
model_lgb.save_model(path2+'gbdt_model_v1.txt')
3、下载 转模型结果为PMML文件的 jar 包
下 jar 包 jpmml-lightgbm-executable-1.3.11.jar
参考链接 :https://github.com/jpmml/jpmml-lightgbm
4、执行模型结果转PMML 其中path1 是 jar 包路径,path2 是需要转的模型文件路径
,打开cmd 在cmd 中运行
java -jar "path1\jpmml-lightgbm-executable-1.3.11.jar" --lgbm-input path2\gbdt_model_v1.txt --pmml-output gbdt_model_v1.pmml,运行成功

在 path2 路径下就可以找到 gbdt_model_v1.pmml
打开 PMML文件
