code: def test_LGBMClassifier_fit_transform(self):
      if float(self.sc.version[:3]) < 3.1:
          return
      path = os.path.join(self.resource_path, "xgbclassifier/")
      filePath = path + "test.csv"
      df = self.sqlContext.read.csv(
          filePath, sep=",", inferSchema=True, header=True
      )
      df = df.select(
          array("age", "gender", "jointime", "star").alias("features"),
          "label",
      ).withColumn(
          "features",
          udf(lambda x: DenseVector(x), VectorUDT())("features"),
      )
      # input_path = "/Users/guoqiong/intelWork/data/tweet/xgb_processed"
      # df = self.sqlContext.read.parquet(input_path + "/train")
      classifier = LightGBMClassifier()
      classifier.setObjective("binary")
      classifier.setMaxDepth(4)
      classifier.setLearningRate(0.2)
      model = classifier.fit(df)
      predicts = model.transform(df)
      print(predicts.filter(predicts["prediction"] == 1.0).count())
      assert predicts.count() == 14
  
file_path: BigDL/python/dllib/test/bigdl/nnframes/test_treemodel.py
imports: import pytest
  from bigdl.dllib.nncontext import *
  from bigdl.dllib.nnframes.tree_model import *
  from bigdl.dllib.utils.tf import *
  from pyspark.ml.linalg import DenseVector, VectorUDT
  from pyspark.sql.functions import udf, array
label_desc: Use image node_id 7 for calling the TestTreeModel obj's underlying member method code with example usage: obj.test_LGBMClassifier_fit_transform() without return types