Method: LightGBM::Booster#dump_model

Defined in:
lib/lightgbm/booster.rb

#dump_model(num_iteration: nil, start_iteration: 0) ⇒ Object Also known as: to_json



37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/lightgbm/booster.rb', line 37

def dump_model(num_iteration: nil, start_iteration: 0)
  num_iteration ||= best_iteration
  buffer_len = 1 << 20
  out_len = ::FFI::MemoryPointer.new(:int64)
  out_str = ::FFI::MemoryPointer.new(:char, buffer_len)
  feature_importance_type = 0 # TODO add option
  check_result FFI.LGBM_BoosterDumpModel(handle_pointer, start_iteration, num_iteration, feature_importance_type, buffer_len, out_len, out_str)
  actual_len = read_int64(out_len)
  if actual_len > buffer_len
    out_str = ::FFI::MemoryPointer.new(:char, actual_len)
    check_result FFI.LGBM_BoosterDumpModel(handle_pointer, start_iteration, num_iteration, feature_importance_type, actual_len, out_len, out_str)
  end
  out_str.read_string
end