code: def __init__(
      self,
      bin_train_data: DataFrame,
      bin_info: dict,
      min_impurity_split=1e-2,
      min_sample_split=2,
      min_leaf_node=1,
      min_child_weight=1,
      l1=0,
      l2=0.1,
  ) -> None:
      super().__init__()
      self.min_impurity_split = min_impurity_split
      self.min_sample_split = min_sample_split
      self.min_leaf_node = min_leaf_node
      self.min_child_weight = min_child_weight
      self.bin_info = bin_info
      self.l1, self.l2 = l1, l2
      columns = bin_train_data.schema.columns
      self.feat_bin_num = [len(bin_info[feat]) for feat in columns]
  
imports: import torch
  import numpy
  import logging
  from fate.arch.dataframe import DataFrame
  from fate.arch import Context
  from fate.arch.histogram import DistributedHistogram
label_desc: Use image node_id 1 to create a new SBTSplitter object from inherited base classes: Splitter with example: obj = SBTSplitter(bin_train_data, bin_info, min_impurity_split, min_sample_split, min_leaf_node, min_child_weight, l1, l2)