module LightGBM::Utils

Private Instance Methods

check_param(v) click to toggle source
# File lib/lightgbm/utils.rb, line 14
def check_param(v)
  raise ArgumentError, "Invalid parameter" if /[[:space:]]/.match(v)
  v
end
check_result(err) click to toggle source
# File lib/lightgbm/utils.rb, line 5
def check_result(err)
  raise LightGBM::Error, FFI.LGBM_GetLastError if err != 0
end
daru?(data) click to toggle source
# File lib/lightgbm/utils.rb, line 36
def daru?(data)
  defined?(Daru::DataFrame) && data.is_a?(Daru::DataFrame)
end
handle_missing(data) click to toggle source

for categorical, NaN and negative value are the same

# File lib/lightgbm/utils.rb, line 28
def handle_missing(data)
  data.map! { |v| v.nil? ? Float::NAN : v }
end
matrix?(data) click to toggle source
# File lib/lightgbm/utils.rb, line 32
def matrix?(data)
  defined?(Matrix) && data.is_a?(Matrix)
end
numo?(data) click to toggle source
# File lib/lightgbm/utils.rb, line 40
def numo?(data)
  defined?(Numo::NArray) && data.is_a?(Numo::NArray)
end
params_str(params) click to toggle source

remove spaces in keys and values to prevent injection

# File lib/lightgbm/utils.rb, line 10
def params_str(params)
  params.map { |k, v| [check_param(k.to_s), check_param(Array(v).join(",").to_s)].join("=") }.join(" ")
end
rover?(data) click to toggle source
# File lib/lightgbm/utils.rb, line 44
def rover?(data)
  defined?(Rover::DataFrame) && data.is_a?(Rover::DataFrame)
end
set_verbosity(params) click to toggle source

change default verbosity

# File lib/lightgbm/utils.rb, line 20
def set_verbosity(params)
  params_keys = params.keys.map(&:to_s)
  unless params_keys.include?("verbosity")
    params["verbosity"] = -1
  end
end