将 xgboost 模型表示为 utf-8

Represent xgboost model as utf-8

由于某些历史原因,我只能在一台机器上训练 xgboost 模型,然后在另一台机器上使用,为了传输我的模型,我只能使用 json 个文件 => 我需要挤压我的xgboost 到 json.

我试过了:

json.dumps({'model': pickle.dumps(bst)})

但是我得到错误:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xff in position 611: invalid start byte

解决方案是使用 base64 库

import base64

pickle.dumps({'model': base64.b64encode(pickle.dumps(model))}