R 访问LightGBM模型参数

R 访问LightGBM模型参数,r,lightgbm,R,Lightgbm,有时我会保存一个LightGBM模型,然后在重新加载它时,希望访问有关模型是如何构建的一些详细信息。例如,有没有办法恢复objective=“regression”这一事实 为方便起见,以下是简单的代码: library(lightgbm) data(agaricus.train, package = "lightgbm") train <- agaricus.train dtrain <- lgb.Dataset(train$data, label = train$label) d

有时我会保存一个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)

我没有使用lightgbm的R绑定,但是通过查看,似乎确实没有检索参数的接口。反过来,因为
params
不是
Booster
类的属性,而是传递给后端C实现

本机python绑定(类似的
Booster
类)中也缺少这种功能。然而,它存在于环境中。因此,本机API始终缺少此函数,但python中的高级包装器添加了此函数

> 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"