假设我已经成功地用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。
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)
关于这个包的真正很棒的事情是,它支持许多不同类型的模型,例如
线性
C