docstr: Evaluate the truth value of the predicate w.r.t. the variable assignment
  
  @param assignment: dict mapping variable name to value
  @return: bool truth value of the predicate
docstr_tok: ["Evaluate","the","truth","value","of","the","predicate","w.r.t",".","the","variable","assignment","@","param","assignment",":","dict","mapping","variable","name","to","value","@","return",":","bool","truth","value","of","the","predicate"]
code: def evaluate(self, assignment: Dict[str, Any]) -> bool:
      """
      Evaluate the truth value of the predicate w.r.t. the variable assignment
  
      @param assignment: dict mapping variable name to value
      @return: bool truth value of the predicate
      """
      feature_val = self.feature.evaluate(assignment)
      if self.relation == Relation.EQ:
          return (
              math.isclose(feature_val, self.value, abs_tol=ABS_TOL)
              if is_number(self.value)
              else feature_val == self.value
          )
      elif self.relation == Relation.NEQ:
          return feature_val != self.value
      elif self.relation == Relation.GE:
          return feature_val >= self.value
      elif self.relation == Relation.GT:
          return feature_val > self.value
      elif self.relation == Relation.LE:
          return feature_val <= self.value
      elif self.relation == Relation.LT:
          return feature_val < self.value
      else:
          raise ValueError(
              "Unknown relation operator {}".format(self.relation)
          )
  
imports: import math
  from enum import Enum
  from typing import Dict, Any
  from aix360.algorithms.rule_induction.trxf.core.boolean_evaluator import BooleanEvaluator
  from aix360.algorithms.rule_induction.trxf.core.feature import Feature, is_number
label_desc: Use image node_id 5 for calling the Predicate obj's underlying member method code with example usage: obj.evaluate(assignment) and returns: unknown, unknown, unknown, unknown, unknown, unknown