从 Python 以 `.cpp` 格式保存 LGBM 模型
Save LGBM model in `.cpp` format from Python
如果我运行
from sklearn.datasets import load_breast_cancer
import lightgbm as lgb
breast_cancer = load_breast_cancer()
data = breast_cancer.data
target = breast_cancer.target
params = {
"task": "convert_model",
"convert_model_language": "cpp",
"convert_model": "test.cpp",
}
gbm = lgb.train(params, lgb.Dataset(data, target))
然后我期待创建一个名为 test.cpp
的文件,模型以 c++ 格式保存。
但是,我的当前目录中没有任何内容。
我已阅读文档 (https://lightgbm.readthedocs.io/en/latest/Parameters.html#io-parameters),但无法判断我做错了什么。
他们在文档中说:
Note: can be used only in CLI version
在 convert_model 和 convert_model_language 参数下。
这意味着您可能应该使用 LGBM 的 CLI(命令行界面)而不是 python 包装器来执行此操作。
Link 到快速启动 CLI 版本。
这是一个真实的 'for dummies' 答案:
安装lightgbm的CLI版本:https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html
记下您的安装路径,并找到可执行文件。例如,对我来说,这是 ~/LightGBM/lightgbm
.
运行 Jupyter 笔记本中的以下内容:
from sklearn.datasets import load_breast_cancer
import pandas as pd
breast_cancer = load_breast_cancer()
data = pd.DataFrame(breast_cancer.data)
target = pd.DataFrame(breast_cancer.target)
pd.concat([target, data], axis=1).to_csv("regression.train", header=False, index=False)
train_conf = """
task = train
objective = binary
metric = auc
data = regression.train
output_model = trained_model.txt
"""
with open("train.conf", "w") as f:
f.write(train_conf)
conf_convert = """
task = convert_model
input_model= trained_model.txt
"""
with open("convert.conf", "w") as f:
f.write(conf_convert)
! ~/LightGBM/lightgbm config=train.conf
! ~/LightGBM/lightgbm config=convert.conf
您的模型将保存在当前目录中。
如果我运行
from sklearn.datasets import load_breast_cancer
import lightgbm as lgb
breast_cancer = load_breast_cancer()
data = breast_cancer.data
target = breast_cancer.target
params = {
"task": "convert_model",
"convert_model_language": "cpp",
"convert_model": "test.cpp",
}
gbm = lgb.train(params, lgb.Dataset(data, target))
然后我期待创建一个名为 test.cpp
的文件,模型以 c++ 格式保存。
但是,我的当前目录中没有任何内容。
我已阅读文档 (https://lightgbm.readthedocs.io/en/latest/Parameters.html#io-parameters),但无法判断我做错了什么。
他们在文档中说:
Note: can be used only in CLI version
在 convert_model 和 convert_model_language 参数下。
这意味着您可能应该使用 LGBM 的 CLI(命令行界面)而不是 python 包装器来执行此操作。
Link 到快速启动 CLI 版本。
这是一个真实的 'for dummies' 答案:
安装lightgbm的CLI版本:https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html
记下您的安装路径,并找到可执行文件。例如,对我来说,这是
~/LightGBM/lightgbm
.运行 Jupyter 笔记本中的以下内容:
from sklearn.datasets import load_breast_cancer
import pandas as pd
breast_cancer = load_breast_cancer()
data = pd.DataFrame(breast_cancer.data)
target = pd.DataFrame(breast_cancer.target)
pd.concat([target, data], axis=1).to_csv("regression.train", header=False, index=False)
train_conf = """
task = train
objective = binary
metric = auc
data = regression.train
output_model = trained_model.txt
"""
with open("train.conf", "w") as f:
f.write(train_conf)
conf_convert = """
task = convert_model
input_model= trained_model.txt
"""
with open("convert.conf", "w") as f:
f.write(conf_convert)
! ~/LightGBM/lightgbm config=train.conf
! ~/LightGBM/lightgbm config=convert.conf
您的模型将保存在当前目录中。