class_docstr: LightGBM Model
class_docstr_tok: ["LightGBM","Model"]
docstr: finetune model
  
  Parameters
  ----------
  dataset : DatasetH
      dataset for finetuning
  num_boost_round : int
      number of round to finetune model
  verbose_eval : int
      verbose level
docstr_tok: ["finetune","model","Parameters","--","--","--","--","--","dataset",":","DatasetH","dataset","for","finetuning","num_boost_round",":","int","number","of","round","to","finetune","model","verbose_eval",":","int","verbose","level"]
code: def finetune(
      self,
      dataset: DatasetH,
      num_boost_round=10,
      verbose_eval=20,
      reweighter=None,
  ):
      """
      finetune model
  
      Parameters
      ----------
      dataset : DatasetH
          dataset for finetuning
      num_boost_round : int
          number of round to finetune model
      verbose_eval : int
          verbose level
      """
      # Based on existing model and finetune by train more rounds
      dtrain, _ = self._prepare_data(
          dataset, reweighter
      )  # pylint: disable=W0632
      if dtrain.empty:
          raise ValueError(
              "Empty data from dataset, please check your dataset config."
          )
      verbose_eval_callback = lgb.log_evaluation(period=verbose_eval)
      self.model = lgb.train(
          self.params,
          dtrain,
          num_boost_round=num_boost_round,
          init_model=self.model,
          valid_sets=[dtrain],
          valid_names=["train"],
          callbacks=[verbose_eval_callback],
      )
  
file_path: qlib/qlib/contrib/model/gbdt.py
imports: import numpy
  import pandas
  import lightgbm
  from typing import List, Text, Tuple, Union
  from ...model.base import ModelFT
  from ...data.dataset import DatasetH
  from ...data.dataset.handler import DataHandlerLP
  from ...model.interpret.base import LightGBMFInt
  from ...data.dataset.weight import Reweighter
  from qlib.workflow import R
label_desc: Use image node_id 5 for calling the LGBModel obj's underlying member method code with example usage: obj.finetune(dataset, num_boost_round, verbose_eval, reweighter) without return types