class_docstr: A stopping criterion which stops as soon as the predictions do not change during two
  subsequent checks [ZWH08]_.
  
  Compared to the original paper, this implementation offers a threshold parameter which lessens
  the stopping requirement so that a percentage of samples are allowed to change.
  The default setting (:code:`threshold=0.0`) will result in the original algorithm.
  
  .. versionadded:: 1.1.0
docstr: num_classes : int
      Number of classes.
  threshold : float, default=0.0
      A percentage threshold of how many samples that are allowed to change.
docstr_tok: ["num_classes",":","int","Number","of","classes",".","threshold",":","float",",","default=0.0","A","percentage","threshold","of","how","many","samples","that","are","allowed","to","change","."]
code: def __init__(self, num_classes, threshold=0.0):
      """
      num_classes : int
          Number of classes.
      threshold : float, default=0.0
          A percentage threshold of how many samples that are allowed to change.
      """
      if threshold < 0 or threshold > 1:
          raise ValueError(
              f"Threshold must be between 0 and 1 inclusive, but got {threshold}."
          )
  
      self.num_classes = num_classes
      self.threshold = threshold
  
      self.last_predictions = None
  
imports: import numpy
  from scipy.sparse import issparse
  from small_text.stopping_criteria.base import StoppingCriterion, check_window_based_predictions
label_desc: Use image node_id 1 to create a new ClassificationChange object from inherited base classes: StoppingCriterion with example: obj = ClassificationChange(num_classes, threshold)