class_docstr: Splitter utilized to monitor nominal features in classification tasks.
  
  As the monitored feature is nominal, it already has well-defined partitions. Hence,
  this splitter uses dictionary structures to keep class counts for each incoming category.
class_docstr_tok: ["Splitter","utilized","to","monitor","nominal","features","in","classification","tasks",".","As","the","monitored","feature","is","nominal",",","it","already","has","well-defined","partitions",".","Hence",",","this","splitter","uses","dictionary","structures","to","keep","class","counts","for","each","incoming","category","."]
code: def best_evaluated_split_suggestion(
      self, criterion, pre_split_dist, att_idx, binary_only
  ):
      best_suggestion = BranchFactory()
  
      if not binary_only:
          post_split_dist = self._class_dist_from_multiway_split()
          merit = criterion.merit_of_split(
              pre_split_dist, post_split_dist
          )
  
          best_suggestion = BranchFactory(
              merit,
              att_idx,
              sorted(self._att_values),
              post_split_dist,
              numerical_feature=False,
              multiway_split=True,
          )
  
      for att_val in self._att_values:
          post_split_dist = self._class_dist_from_binary_split(att_val)
          merit = criterion.merit_of_split(
              pre_split_dist, post_split_dist
          )
          if best_suggestion is None or merit > best_suggestion.merit:
              best_suggestion = BranchFactory(
                  merit,
                  att_idx,
                  att_val,
                  post_split_dist,
                  numerical_feature=False,
                  multiway_split=False,
              )
  
      return best_suggestion
  
file_path: river/river/tree/splitter/nominal_splitter_classif.py
imports: from __future__ import annotations
  import collections
  from ..utils import BranchFactory
  from .base import Splitter
label_desc: Use image node_id 5 for calling the NominalSplitterClassif 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