【问题标题】:Accessing LightGBM model parameters访问 LightGBM 模型参数
【发布时间】:2018-10-12 04:44:49
【问题描述】:

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

【问题讨论】:

    标签: r lightgbm


    【解决方案1】:

    我没有使用lightgbm的R绑定,但是通过Booster implementation in version 2.1.1看,确实没有取回参数的接口。反过来,因为params 不是Booster 类的属性,而只是传递给后端C 实现。

    本机 python 绑定(类似的Booster 类)中也缺少此类功能。但是,它存在于sklearn API 中。所以原生 API 一直缺少这个功能,但是 python 中的更高级别的包装器已经添加了它。

    【讨论】:

      猜你喜欢
      • 2019-04-16
      • 2022-07-15
      • 2021-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 1970-01-01
      • 2019-11-03
      相关资源
      最近更新 更多