code: def generate_data(
      n_train=1000,
      n_test=500,
      n_features=2,
      contamination=0.1,
      train_only=False,
      offset=10,
      behaviour="new",
      random_state=None,
      n_nan=0,
      n_inf=0,
  ):
      """Utility function to generate synthesized data.
      Normal data is generated by a multivariate Gaussian distribution and
      outliers are generated by a uniform distribution.
      "X_train, X_test, y_train, y_test" are returned.
  
      Parameters
      ----------
      n_train : int, (default=1000)
          The number of training points to generate.
  
      n_test : int, (default=500)
          The number of test points to generate.
  
      n_features : int, optional (default=2)
          The number of features (dimensions).
  
      contamination : float in (0., 0.5), optional (default=0.1)
          The amount of contamination of the data set, i.e.
          the proportion of outliers in the data set. Used when fitting to
          define the threshold on the decision function.
  
      train_only : bool, optional (default=False)
          If true, generate train data only.
  
      offset : int, optional (default=10)
          Adjust the value range of Gaussian and Uniform.
  
      behaviour : str, default='new'
          Behaviour of the returned datasets which can be either 'old' or
          'new'. Passing ``behaviour='new'`` returns
          "X_train, X_test, y_train, y_test", while passing ``behaviour='old'``
          returns "X_train, y_train, X_test, y_test".
  
      random_state : int, RandomState instance or None, optional (default=None)
          If int, random_state is the seed used by the random number generator;
          If RandomState instance, random_state is the random number generator;
          If None, the random number generator is the RandomState instance used
          by `np.random`.
  
      n_nan : int
          The number of values that are missing (np.NaN). Defaults to zero.
  
      n_inf : int
          The number of values that are infinite. (np.infty). Defaults to zero.
  
      Returns
      -------
      X_train : numpy array of shape (n_train, n_features)
          Training data.
  
      X_test : numpy array of shape (n_test, n_features)
          Test data.
  
      y_train : numpy array of shape (n_train,)
          Training ground truth.
  
      y_test : numpy array of shape (n_test,)
          Test ground truth.
  
      """
  
      # initialize a random state and seeds for the instance
      random_state = check_random_state(random_state)
      offset_ = random_state.randint(low=offset)
      coef_ = (
          random_state.random_sample() + 0.001
      )  # in case of underflow
  
      if isinstance(contamination, (float, int)):
          n_outliers_train = int(n_train * contamination)
      else:
          contamination = 0.1
          n_outliers_train = int(n_train * contamination)
  
      n_inliers_train = int(n_train - n_outliers_train)
  
      X_train, y_train = _generate_data(
          n_inliers_train,
          n_outliers_train,
          n_features,
          coef_,
          offset_,
          random_state,
          n_nan,
          n_inf,
      )
  
      if train_only:
          return X_train, y_train
  
      n_outliers_test = int(n_test * contamination)
      n_inliers_test = int(n_test - n_outliers_test)
  
      X_test, y_test = _generate_data(
          n_inliers_test,
          n_outliers_test,
          n_features,
          coef_,
          offset_,
          random_state,
          n_nan,
          n_inf,
      )
  
      if behaviour == "old":
          warn(
              'behaviour="old" is deprecated and will be removed '
              'in version 0.9.0. Please use behaviour="new", which '
              "makes the returned datasets in the order of "
              "X_train, X_test, y_train, y_test.",
              FutureWarning,
          )
          return X_train, y_train, X_test, y_test
  
      else:
          return X_train, X_test, y_train, y_test
  
file_path: pyod/pyod/utils/data.py
imports: from __future__ import division
  from __future__ import print_function
  from warnings import warn
  import numpy
  from sklearn.datasets import make_blobs
  from sklearn.metrics import roc_auc_score
  from sklearn.model_selection import train_test_split
  from sklearn.utils import check_X_y
  from sklearn.utils import check_consistent_length
  from sklearn.utils import check_random_state
  from sklearn.utils import column_or_1d
  from .utility import check_parameter
  from .utility import precision_n_scores
label_desc: Use image node_id 3 for calling a global function with example usage: generate_data(n_train, n_test, n_features, contamination, train_only, offset, behaviour, random_state, n_nan, n_inf) and returns: X_train,  y_train, X_train,  y_train,  X_test,  y_test, X_train,  X_test,  y_train,  y_test