有时,我保存一个LightGBM模型,然后在重新加载它时,希望访问有关如何构建该模型的一些详细信息。例如,是否有办法恢复objective = "regression"这一事实?
为了方便起见,这里有简单的代码可供使用:
library(lightgbm)
data(agaricus.train, package = "lightgbm")
train <- agaricus.train
dtrain <- lgb.Dataset(train$data, label = train$label)
data(agaricus.test, package = "lightgbm")
params <- list(objective = "regression", metric = "l2")
model <- lgb.train(params,
dtrain,
100,
min_data = 1,
learning_rate = 1)
names(model)我不知道如何从任何模型属性中检索任何模型参数:
> names(model)
[1] ".__enclos_env__" "raw" "record_evals" "best_score"
[5] "best_iter" "save" "to_predictor" "predict"
[9] "dump_model" "save_model_to_string" "save_model" "eval_valid"
[13] "eval_train" "eval" "current_iter" "rollback_one_iter"
[17] "update" "reset_parameter" "add_valid" "set_train_data_name"
[21] "initialize" "finalize" 发布于 2018-05-01 11:05:20
我不使用lightgbm的R绑定,但通过版本2.1.1中的增强器实现,似乎确实存在--没有接口来检索参数。反过来,因为params不是Booster类的属性,而只是传递给后端C实现。
在本机python绑定(类似的Booster类)中也缺少这样的功能。然而,它存在于滑雪板API中。因此,本机API一直缺少这个函数,但是python中的高级包装器添加了它。
https://stackoverflow.com/questions/49674112
复制相似问题