class_docstr: Quantization strategy originally used in Stochastic Gradient Trees (SGT)[^1].
  
  Firstly, a buffer of size `warm_start` is stored. The data stored in the buffer is then used
  to quantize the input feature into `n_bins` intervals. These intervals will be replicated
  to every new quantizer. Feature values lying outside of the limits defined by the initial
  buffer will be mapped to the head or tail of the list of intervals.
  
  Parameters
  ----------
  n_bins
      The number of bins (intervals) to divide the input feature.
  warm_start
      The number of observations used to initialize the quantization intervals.
  buckets
      This parameter is only used internally by the quantizer, so it must not be set.
      Once the intervals are defined, new instances of this quantizer will receive the
      quantization information via this parameter.
  
  References
  ----------
  [^1]: Gouk, H., Pfahringer, B., & Frank, E. (2019, October). Stochastic Gradient Trees.
  In Asian Conference on Machine Learning (pp. 1094-1109).
class_docstr_tok: ["Quantization","strategy","originally","used","in","Stochastic","Gradient","Trees","(","SGT",")","[","^1","]",".","Firstly",",","a","buffer","of","size","`","warm_start","`","is","stored",".","The","data","stored","in","the","buffer","is","then","used","to","quantize","the","input","feature","into","`","n_bins","`","intervals",".","These","intervals","will","be","replicated","to","every","new","quantizer",".","Feature","values","lying","outside","of","the","limits","defined","by","the","initial","buffer","will","be","mapped","to","the","head","or","tail","of","the","list","of","intervals",".","Parameters","--","--","--","--","--","n_bins","The","number","of","bins","(","intervals",")","to","divide","the","input","feature",".","warm_start","The","number","of","observations","used","to","initialize","the","quantization","intervals",".","buckets","This","parameter","is","only","used","internally","by","the","quantizer",",","so","it","must","not","be","set",".","Once","the","intervals","are","defined",",","new","instances","of","this","quantizer","will","receive","the","quantization","information","via","this","parameter",".","References","--","--","--","--","--","[","^1","]",":","Gouk",",","H.",",","Pfahringer",",","B.",",","&","Frank",",","E.","(","2019",",","October",")",".","Stochastic","Gradient","Trees",".","In","Asian","Conference","on","Machine","Learning","(","pp",".","1094-1109",")","."]
code: def __len__(self):
      if self.buckets:
          return len(self.buckets)
      return 0
  
file_path: river/river/tree/splitter/sgt_quantizer.py
imports: from __future__ import annotations
  import math
  from river import stats
  from ..utils import GradHess, GradHessStats
  from .base import Quantizer
label_desc: Use image node_id 3 for calling the StaticQuantizer obj's underlying member method code with example usage: obj.__len__() and returns: int, len