class_docstr: Numeric attribute observer for classification tasks that discretizes features
  using histograms.
  
  
  Parameters
  ----------
  n_bins
      The maximum number of bins in the histogram.
  n_splits
      The number of split points to evaluate when querying for the best split
      candidate.
class_docstr_tok: ["Numeric","attribute","observer","for","classification","tasks","that","discretizes","features","using","histograms",".","Parameters","--","--","--","--","--","n_bins","The","maximum","number","of","bins","in","the","histogram",".","n_splits","The","number","of","split","points","to","evaluate","when","querying","for","the","best","split","candidate","."]
code: def __init__(self, n_bins: int = 256, n_splits: int = 32):
      super().__init__()
      self.n_bins = n_bins
      self.n_splits = n_splits
      self.hists: collections.defaultdict = collections.defaultdict(
          functools.partial(sketch.Histogram, max_bins=self.n_bins)
      )
  
file_path: river/river/tree/splitter/histogram_splitter.py
imports: from __future__ import annotations
  import bisect
  import collections
  import functools
  from river import sketch
  from river.sketch.histogram import Bin
  from ..utils import BranchFactory
  from .base import Splitter
label_desc: Use image node_id 1 to create a new HistogramSplitter object from inherited base classes: Splitter with example: obj = HistogramSplitter(n_bins, n_splits)