class_docstr: Base class for the discretizer classes in pgmpy. The discretizer
  classes are used to discretize a continuous random variable
  distribution into discrete probability masses.
  
  Parameters
  ----------
  factor: A ContinuousNode or a ContinuousFactor object
      the continuous node or factor representing the distribution
      to be discretized.
  
  low, high: float
      the range over which the function will be discretized.
  
  cardinality: int
      the number of states required in the discretized output.
  
  Examples
  --------
  >>> from scipy.stats import norm
  >>> from pgmpy.factors.continuous import ContinuousNode
  >>> normal = ContinuousNode(norm(0, 1).pdf)
  >>> from pgmpy.discretize import BaseDiscretizer
  >>> class ChildDiscretizer(BaseDiscretizer):
  ...     def get_discrete_values(self):
  ...         pass
  >>> discretizer = ChildDiscretizer(normal, -3, 3, 10)
  >>> discretizer.factor
  <pgmpy.factors.continuous.ContinuousNode.ContinuousNode object at 0x04C98190>
  >>> discretizer.cardinality
  10
  >>> discretizer.get_labels()
  ['x=-3.0', 'x=-2.4', 'x=-1.8', 'x=-1.2', 'x=-0.6', 'x=0.0', 'x=0.6', 'x=1.2', 'x=1.8', 'x=2.4']
code: def __init__(self, factor, low, high, cardinality):
      self.factor = factor
      self.low = low
      self.high = high
      self.cardinality = cardinality
  
file_path: pgmpy/pgmpy/factors/continuous/discretize.py
imports: from abc import ABCMeta, abstractmethod
  import numpy
  from scipy import integrate
label_desc: Use image node_id 1 to create a new BaseDiscretizer object from inherited base classes: ABCMeta with example: obj = BaseDiscretizer(factor, low, high, cardinality)