xgboost的训练与预测——离线训练使用python,在线预测使用C++

本文介绍了在项目环境中如何选择合适的xgboost版本,由于最新版1.4.2不支持gcc4.8.5,而0.90版则兼容,且包含必要的库文件。同时,0.72版虽也支持gcc4.8.5,但缺少某些功能,如XGBClassifier的save_model。因此,0.90成为最佳选择。文章还涉及离线使用python训练模型并保存,以及c++在线预测的流程。
摘要由CSDN通过智能技术生成

一、选择合适的xgboost版本

c接口预测xgboost时最好选择release_0.90,原因如下:

  1. 最新版本release_1.4.2不支持gcc4.8.5的编译,而我们项目的线上和开发环境的gcc版本都是4.8.5
  2. release_0.90这个版本是刚好支持gcc4.8.5的xgboost版本,release_1.0就要求gcc5.0以上了
  3. release_0.90这个版本编译出来的lib库,包含了libxgboost.a和libxgboost.so,而最新版本release_1.4.2只支持libxgboost.so
  4. release_0.72版本,虽然也支持gcc4.8.5,也编译后有libxgboost.a和libxgboost.so。但是XGBClassifier不支持save_model这个函数。导致python脚本离线训练的xgboost,无法保存成本地模型!这是个痛点!

简而言之,就是版本太新了不行,太老了,也不行!

注意,一旦选择了xgboost的release_0.90版本后,在pip install的时候也得选择0.90。确保离线python脚本训练的模型和后期c++在线预测的xgboost版本一致。

二、离线训练并保存模型(python)

三、加载模型并在线预测(c++)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值