code: def make_fixture(binary=False, balanced=False, split=False):
      """
      Make a dataset for testing ClassBalance based on the specified params.
      """
      kwargs = {
          "n_samples": 100,
          "n_features": 20,
          "n_informative": 8,
          "n_redundant": 2,
          "n_clusters_per_class": 1,
          "random_state": 89092,
      }
  
      if binary:
          kwargs["n_classes"] = 2
          kwargs["weights"] = None if balanced else [0.3, 0.7]
      else:
          kwargs["n_classes"] = 5
          kwargs["weights"] = (
              None if balanced else [0.1, 0.2, 0.4, 0.2, 0.01]
          )
  
      X, y = make_classification(**kwargs)
  
      if split:
          X_train, X_test, y_train, y_test = tts(
              X, y, test_size=0.2, random_state=101
          )
          return Dataset(Split(X_train, X_test), Split(y_train, y_test))
  
      return Dataset(X, y)
  
imports: import pytest
  from yellowbrick.target.class_balance import *
  from yellowbrick.datasets import load_occupancy
  from yellowbrick.exceptions import YellowbrickValueError
  from tests.fixtures import Dataset, Split
  from tests.base import VisualTestCase
  from sklearn.datasets import make_classification
  from sklearn.model_selection import train_test_split
label_desc: Use image node_id 1 for calling a global function with example usage: make_fixture(binary, balanced, split) and returns: Dataset, Dataset