|
lightGBM
import lightgbm as LGB
- #建立LGB的dataset格式数据
- lgb_train = LGB.Dataset(X_train, y_train)
- lgb_eval = LGB.Dataset(X_test, y_test, reference=lgb_train)
- #定义超参数dict
- params = {
- 'task': 'train',
- 'boosting_type': 'gbdt',
- 'objective': 'regression',
- 'max_depth': 7,
- 'num_leaves': 31,
- 'learning_rate': 0.1,
- 'feature_fraction': 0.8,
- 'bagging_fraction': 0.8,
- 'bagging_freq': 5,
- 'verbose': -1
- }
- # 训练 train
- m1 = LGB.train(params,lgb_train,num_boost_round=100,
- valid_sets=[lgb_train,lgb_eval])
- #预测数据集
- y_pred = m1.predict(X_test)
复制代码 保存模型与加载模型:- # 保存模型
- LGB.save_model('lightgbm_model.txt')
- # 加载模型
- loaded_gbm = LGB.Booster(model_file='lightgbm_model.txt')
- # 使用加载的模型进行预测
- loaded_y_pred = loaded_gbm.predict(X_test, num_iteration=loaded_gbm.best_iteration)
复制代码
PS:不友好的是,原生接口每次只能预测一个变量,多输出需要自己构建多个模型
参考
【1】建议使用原生接口 https://blog.csdn.net/sa726663676/article/details/125229357
【2】https://github.com/Wanke15/Light ... /blob/main/test.cpp
|
|