code: def make_ensemble_data(
      means=[[3, 2], [7, 7], [0, 8]],
      covs=[
          [[5, -1.5], [-1.5, 1]],
          [[1, 0.5], [0.5, 4]],
          [[5, 1], [1, 5]],
      ],
      unlabeled_sizes=[20, 10, 10],
      avg_trace=0.8,
      num_annotators=50,
      seed=1,  # set to None for non-reproducible randomness
  ):
      np.random.seed(seed=seed)
  
      data = make_data()
  
      X_train = data["X_train"]
      true_labels_train = data["true_labels_train"]
      X_train_unlabeled = data["X_train_unlabeled"]
      true_labels_train_unlabeled = data["true_labels_train_unlabeled"]
  
      # Estimate pred_probs for unlabeled data
      pred_probs_extra = (
          count.estimate_py_noise_matrices_and_cv_pred_proba(
              X=X_train,
              labels=true_labels_train,
              cv_n_folds=3,
              clf=LogisticRegression(),
          )[4]
      )
      pred_probs_labeled = np.array(
          [data["pred_probs"], pred_probs_extra]
      )
  
      # Estimate pred_probs for labeled data
      pred_probs_extra_unlabeled = (
          count.estimate_py_noise_matrices_and_cv_pred_proba(
              X=X_train_unlabeled,
              labels=true_labels_train_unlabeled,
              cv_n_folds=3,
              clf=LogisticRegression(),
          )[4]
      )
      pred_probs_unlabeled = np.array(
          [data["pred_probs_unlabeled"], pred_probs_extra_unlabeled]
      )
  
      return {
          "X_train": data["X_train"],
          "X_train_unlabeled": data["X_train_unlabeled"],
          "true_labels_train": data["true_labels_train"],
          "true_labels_train_unlabeled": data[
              "true_labels_train_unlabeled"
          ],
          "labels": data["labels"],
          "labels_unlabeled": data["labels_unlabeled"],
          "complete_labels": data["complete_labels"],
          "pred_probs": pred_probs_labeled,
          "pred_probs_unlabeled": pred_probs_unlabeled,
          "noise_matrix": data["noise_matrix"],
      }
  
imports: import numpy
  import pytest
  from copy import deepcopy
  from cleanlab.benchmarking.noise_generation import generate_noise_matrix_from_trace
  from cleanlab.benchmarking.noise_generation import generate_noisy_labels
  from cleanlab import count
  from cleanlab.multiannotator import get_label_quality_multiannotator, get_label_quality_multiannotator_ensemble, get_active_learning_scores, get_active_learning_scores_ensemble, get_majority_vote_label, convert_long_to_wide_dataset
  from cleanlab.internal.multiannotator_utils import format_multiannotator_labels
  import pandas
  from sklearn.linear_model import LogisticRegression
label_desc: Use image node_id 2 for calling a global function with example usage: make_ensemble_data(means, covs, unlabeled_sizes, avg_trace, num_annotators, seed) and returns: dict