class_docstr: RIPPER (Repeated Incremental Pruning to Produce Error Reduction) is a heuristic rule induction algorithm
  based on separate-and-conquer. The explainer outputs a rule set in Disjunctive Normal Form (DNF) for a single
  target concept.
  
  References:
      .. [#ML95] `William W Cohen, "Fast Effective Rule Induction"
          Machine Learning: Proceedings of the Twelfth International Conference, 1995.
          <http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.2612&rep=rep1&type=pdf>
class_docstr_tok: ["RIPPER","(","Repeated","Incremental","Pruning","to","Produce","Error","Reduction",")","is","a","heuristic","rule","induction","algorithm","based","on","separate-and-conquer",".","The","explainer","outputs","a","rule","set","in","Disjunctive","Normal","Form","(","DNF",")","for","a","single","target","concept",".","References",":","..","[","#","ML95","]","`","William","W","Cohen",",","``","Fast","Effective","Rule","Induction","''","Machine","Learning",":","Proceedings","of","the","Twelfth","International","Conference",",","1995",".","<","http",":","\/\/citeseerx.ist.psu.edu\/viewdoc\/download","?","doi=10.1.1.107.2612","&","rep=rep1","&","type=pdf",">"]
docstr: Args:
      d (int): The number of bits that a new rule need to gain. Defaults to 64.
      k (int): The number of iterations for the optimization loop. Defaults to 2.
      pruning_threshold (int): The minimum number of instances for splitting. Defaults to 20.
      random_state (int): The random seed for the splitting function. Defaults to 0.
docstr_tok: ["Args",":","d","(","int",")",":","The","number","of","bits","that","a","new","rule","need","to","gain",".","Defaults","to","64.","k","(","int",")",":","The","number","of","iterations","for","the","optimization","loop",".","Defaults","to","2.","pruning_threshold","(","int",")",":","The","minimum","number","of","instances","for","splitting",".","Defaults","to","20.","random_state","(","int",")",":","The","random","seed","for","the","splitting","function",".","Defaults","to","0","."]
code: def __init__(
      self,
      d: int = 64,
      k: int = 2,
      pruning_threshold: int = 20,
      random_state: int = 0,
  ):
      """
      Args:
          d (int): The number of bits that a new rule need to gain. Defaults to 64.
          k (int): The number of iterations for the optimization loop. Defaults to 2.
          pruning_threshold (int): The minimum number of instances for splitting. Defaults to 20.
          random_state (int): The random seed for the splitting function. Defaults to 0.
      """
  
      super().__init__()
      self.d = d
      self.k = k
      self.pruning_threshold = pruning_threshold
      self.random_state = random_state
      self._target_label = None
      self.default_label = None
  
imports: import logging
  import logging.config
  from collections import OrderedDict
  import numpy
  from aix360.algorithms.dise import DISExplainer
  from aix360.algorithms.rule_induction.ripper.base import _encoding_for_parallel, init_encoder, encode_nominal, _split_instances
  from aix360.algorithms.rule_induction.ripper.binding import append_literal, _bind_literal, _bind_rule, unbound_rule_list_index, _unbound, _unbound_rule_list, _rule_list_predict, LE, EQ, _find_best_literal, Literal, _filter_contradicted_instances
  from aix360.algorithms.rule_induction.ripper.mdl import _mdl
  from aix360.algorithms.rule_induction.ripper.pruning import _pruning_irep, _minimize_rule_list, _pruning_optimization
  from aix360.algorithms.rule_induction.trxf.core.conjunction import Conjunction
  from aix360.algorithms.rule_induction.trxf.core.dnf_ruleset import DnfRuleSet
  from aix360.algorithms.rule_induction.trxf.core.feature import Feature
  from aix360.algorithms.rule_induction.trxf.core.predicate import Predicate, Relation
  from pandas import DataFrame, Series
label_desc: Use image node_id 1 to create a new RipperExplainer object from inherited base classes: DISExplainer with example: obj = RipperExplainer(d, k, pruning_threshold, random_state)