code: def generate_features_and_labels(samples_per_cluster=250, scale=0.1):
      """Generates noised 3D clusters."""
      cluster_centers = [[0, 0, 0], [2, 0, 0], [0, 2, 0], [0, 0, 2]]
  
      features = np.concatenate(
          (
              generate_random_cluster(
                  center=cluster_centers[0],
                  scale=scale,
                  num_points=samples_per_cluster,
              ),
              generate_random_cluster(
                  center=cluster_centers[1],
                  scale=scale,
                  num_points=samples_per_cluster,
              ),
              generate_random_cluster(
                  center=cluster_centers[2],
                  scale=scale,
                  num_points=samples_per_cluster,
              ),
              generate_random_cluster(
                  center=cluster_centers[3],
                  scale=scale,
                  num_points=samples_per_cluster,
              ),
          )
      )
  
      # Cluster labels: 0, 1, 2 and 3
      labels = np.concatenate(
          (
              np.zeros(samples_per_cluster),
              np.ones(samples_per_cluster),
              np.ones(samples_per_cluster) * 2,
              np.ones(samples_per_cluster) * 3,
          )
      ).astype("uint8")
  
      return (features, labels)
  
file_path: privacy/tensorflow_privacy/privacy/privacy_tests/membership_inference_attack/codelabs/example.py
imports: import os
  import tempfile
  from absl import app
  from absl import flags
  import matplotlib.pyplot
  import numpy
  import pandas
  import scipy.stats
  from sklearn import metrics
  import tensorflow
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack import data_structures
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack import membership_inference_attack
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack import plotting
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack import privacy_report
label_desc: Use image node_id 2 for calling a global function with example usage: generate_features_and_labels(samples_per_cluster, scale) and returns: features,  labels