code: def train(
      ctx: Context,
      data: DataFrame,
      num_trees: int = 3,
      objective: str = "binary:bce",
      max_depth: int = 3,
      learning_rate: float = 0.3,
  ):
      if ctx.is_on_guest:
          bst = HeteroSecureBoostGuest(
              num_trees=num_trees,
              objective=objective,
              max_depth=max_depth,
              learning_rate=learning_rate,
          )
      else:
          bst = HeteroSecureBoostHost(
              num_trees=num_trees, max_depth=max_depth
          )
  
      bst.fit(ctx, data)
  
      return bst
  
file_path: FATE/examples/launchers/secureboost_launcher.py
imports: import pandas
  from fate.arch import Context
  from fate.arch.dataframe import DataFrame
  from fate.arch.dataframe import PandasReader
  from fate.arch.launchers.multiprocess_launcher import launch
  from fate.ml.ensemble.algo.secureboost.hetero.guest import HeteroSecureBoostGuest
  from fate.ml.ensemble.algo.secureboost.hetero.host import HeteroSecureBoostHost
label_desc: Use image node_id 1 for calling a global function with example usage: train(ctx, data, num_trees, objective, max_depth, learning_rate) and returns: bst