code: def fit(self, ctx: Context, train_data, validate_data=None) -> None:
      logger.info("Enter HeteroBinning fit.")
      self.column_anonymous_map = dict(
          zip(
              train_data.schema.columns,
              train_data.schema.anonymous_columns,
          )
      )
      train_data_binarized_label = train_data.label.get_dummies()
      label_count = train_data_binarized_label.shape[1]
      if label_count > 2:
          raise ValueError(
              f"More than 2 classes found in label column. "
              f"HeteroBinning currently only supports binary data. Please check."
          )
  
      self._bin_obj.fit(ctx, train_data)
  
imports: import logging
  import numpy
  import pandas
  from fate.arch import Context
  from fate.arch.histogram import HistogramBuilder
  from ..abc.module import HeteroModule, Module
label_desc: Use image node_id 3 for calling the HeteroBinningModuleGuest obj's underlying member method code with example usage: obj.fit(ctx, train_data, validate_data) without return types