class_docstr: Numeric attribute observer for classification tasks that is based on
  Gaussian estimators.
  
  The distribution of each class is approximated using a Gaussian distribution. Hence,
  the probability density function can be easily calculated.
  
  
  Parameters
  ----------
  n_splits
      The number of partitions to consider when querying for split candidates.
class_docstr_tok: ["Numeric","attribute","observer","for","classification","tasks","that","is","based","on","Gaussian","estimators",".","The","distribution","of","each","class","is","approximated","using","a","Gaussian","distribution",".","Hence",",","the","probability","density","function","can","be","easily","calculated",".","Parameters","--","--","--","--","--","n_splits","The","number","of","partitions","to","consider","when","querying","for","split","candidates","."]
code: def best_evaluated_split_suggestion(
      self, criterion, pre_split_dist, att_idx, binary_only
  ):
      best_suggestion = BranchFactory()
      suggested_split_values = self._split_point_suggestions()
      for split_value in suggested_split_values:
          post_split_dist = self._class_dists_from_binary_split(
              split_value
          )
          merit = criterion.merit_of_split(
              pre_split_dist, post_split_dist
          )
          if merit > best_suggestion.merit:
              best_suggestion = BranchFactory(
                  merit, att_idx, split_value, post_split_dist
              )
  
      return best_suggestion
  
file_path: river/river/tree/splitter/gaussian_splitter.py
imports: from __future__ import annotations
  import math
  from river.base.typing import ClfTarget
  from river.proba import Gaussian
  from ..utils import BranchFactory
  from .base import Splitter
label_desc: Use image node_id 4 for calling the GaussianSplitter obj's underlying member method code with example usage: obj.best_evaluated_split_suggestion(criterion, pre_split_dist, att_idx, binary_only) and returns: best_suggestion