code: def balanced_binning_reference(
      y, ax=None, target="y", bins=4, show=True, **kwargs
  ):
      """
      BalancedBinningReference generates a histogram with vertical lines
      showing the recommended value point to bin your data so they can be evenly
      distributed in each bin.
  
      Parameters
      ----------
      y : an array of one dimension or a pandas Series
  
      ax : matplotlib Axes, default: None
          This is inherited from FeatureVisualizer and is defined within
          ``BalancedBinningReference``.
  
      target : string, default: "y"
          The name of the ``y`` variable
  
      bins : number of bins to generate the histogram, default: 4
  
      show : bool, default: True
          If True, calls ``show()``, which in turn calls ``plt.show()``. However, you
          cannot call ``plt.savefig`` from this signature, nor ``clear_figure``. If False,
          simply calls ``finalize()``.
  
      kwargs : dict
          Keyword arguments that are passed to the base class and may influence
          the visualization as defined in other Visualizers.
  
      Returns
      -------
      visualizer : BalancedBinningReference
          Returns fitted visualizer
      """
  
      # Initialize the visualizer
      visualizer = BalancedBinningReference(
          ax=ax, bins=bins, target=target, **kwargs
      )
  
      # Fit and show the visualizer
      visualizer.fit(y)
  
      if show:
          visualizer.show()
      else:
          visualizer.finalize()
  
      return visualizer
  
file_path: yellowbrick/yellowbrick/target/binning.py
imports: import numpy
  from yellowbrick.target.base import TargetVisualizer
  from yellowbrick.exceptions import YellowbrickValueError
label_desc: Use image node_id 1 for calling a global function with example usage: balanced_binning_reference(y, ax, target, bins, show) and returns: visualizer