code: def run_client(load_model):
      client_id = 2
      init_fl_context(client_id)
  
      df_train = pd.read_csv("./data/house-prices-train-2.csv")
      df_train["Id"] = df_train["Id"].astype(str)
  
      df_test = pd.read_csv("./data/house-prices-test-2.csv")
      df_test["Id"] = df_test["Id"].astype(str)
  
      psi = PSI()
      intersection = psi.get_intersection(list(df_train["Id"]))
      df_train = df_train[df_train["Id"].isin(intersection)]
  
      x, y, x_test = preprocess(df_train, df_test)
  
      if load_model:
          loaded = FGBoostRegression.load_model(
              "/tmp/fgboost_model_2.json"
          )
          loaded.fit(
              x,
              y,
              feature_columns=x.columns,
              label_columns=y.columns,
              num_round=10,
          )
      else:
          fgboost_regression = FGBoostRegression()
  
          # party 2 owns label, so pass features and labels
          fgboost_regression.fit(
              x,
              y,
              feature_columns=x.columns,
              label_columns=y.columns,
              num_round=10,
          )
  
          fgboost_regression.save_model("/tmp/fgboost_model_2.json")
          loaded = FGBoostRegression.load_model(
              "/tmp/fgboost_model_2.json"
          )
  
      result = loaded.predict(x_test, feature_columns=x_test.columns)
  
      # print first 5 results
      for i in range(5):
          print(f"{i}-th result of FGBoost predict: {result[i]}")
  
imports: from bigdl.ppml.fl import *
  from bigdl.ppml.fl.algorithms.fgboost_regression import FGBoostRegression
  import pandas
  from bigdl.ppml.fl.algorithms.psi import PSI
  import click
label_desc: Use image node_id 2 for calling a global function with example usage: run_client(load_model) without return types