在Python中训练的Port XGBoost模型到另一个用C / C ++编写的系统中

问题描述 投票:6回答:2

假设我已经成功地用python训练了XGBoost机器学习模型。

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=7)
model = XGBClassifier()
model.fit(x_train, y_train)
y_pred = model.predict(x_test)

我想将此模型移植到将用C / C ++编写的另一个系统。为此,我需要了解经过XGboost训练的模型的内部逻辑,并将它们转换为一系列if-then-else语句(例如决策树),如果我没有记错的话。

如何完成?如何找出经过XGBoost训练的模型的内部逻辑以在另一个系统上实现它?

我正在使用python 3.7。

python machine-learning xgboost
2个回答
4
投票

4
投票
model = XGBClassifier() model.fit(x_train, y_train) ... import m2cgen as m2c with open('./model.c','w') as f: code = m2c.export_to_c(model) f.write(code)

关于这个包的真正很棒的事情是,它支持许多不同类型的模型,例如

线性

    SVM
  • 随机森林
  • 提升中
  • 还有一件事。 m2cgen还支持多种语言,例如
  • C

    • C#
    • Dart
    • 开始
    • Haskell
    • Java
    • JavaScript
    • PHP
    • PowerShell
    • Python
    • R
    • Visual Basic
  • 我希望这会有所帮助!
  • © www.soinside.com 2019 - 2024. All rights reserved.