docstr: Init method
  
  :param data_interface: an interface class to access data related params.
  :param model_interface: an interface class to access trained ML model.
docstr_tok: ["Init","method",":","param","data_interface",":","an","interface","class","to","access","data","related","params",".",":","param","model_interface",":","an","interface","class","to","access","trained","ML","model","."]
code: def __init__(self, data_interface, model_interface):
      """Init method
  
      :param data_interface: an interface class to access data related params.
      :param model_interface: an interface class to access trained ML model.
      """
      super().__init__(
          data_interface, model_interface
      )  # initiating data related parameters
      self.num_output_nodes = None
  
      # variables required to generate CFs - see generate_counterfactuals() for more info
      self.cfs = []
      self.features_to_vary = []
      self.cf_init_weights = (
          []
      )  # total_CFs, algorithm, features_to_vary
      self.loss_weights = (
          []
      )  # yloss_type, diversity_loss_type, feature_weights
      self.feature_weights_input = ""
  
      # Initializing a label encoder to obtain label-encoded values for categorical variables
      self.labelencoder = self.data_interface.fit_label_encoders()
      self.predicted_outcome_name = (
          self.data_interface.outcome_name + "_pred"
      )
  
imports: import copy
  import random
  import timeit
  import numpy
  import pandas
  from raiutils.exceptions import UserConfigValidationException
  from dice_ml import diverse_counterfactuals
  from dice_ml.constants import ModelTypes
  from dice_ml.explainer_interfaces.explainer_base import ExplainerBase
label_desc: Use image node_id 1 to create a new DiceGenetic object from inherited base classes: ExplainerBase with example: obj = DiceGenetic(data_interface, model_interface)