class_docstr: Notes
  -----
  An implementation of auto feature engineering method Deepgl [#]_ ,which iteratively generates features by aggregating neighbour features
  and select a fixed number of  features to automatically add important graph-aware features.
  References
  ----------
  .. [#] Rossi, R. A., Zhou, R., & Ahmed, N. K. (2020).
      Deep Inductive Graph Representation Learning.
      IEEE Transactions on Knowledge and Data Engineering, 32(3), 438–452.
      https://doi.org/10.1109/TKDE.2018.2878247
  Parameters
  ----------
  fix_length : int
      fixed number of features for every epoch. The final number of features added will be
      ``fixlen`` \times ``max_epoch``, 200 \times 5 in default.
  max_epoch : int
      number of epochs in total process.
  time_budget : int
      timebudget(seconds) for the feature engineering process, None for no time budget . Note that
      this time budget is a soft budget ,which is obtained by rough time estimation through previous iterations and
      may finally exceed the actual timebudget
  y_sel_func : Callable
      feature selector function object for selection at each iteration ,lightgbm in default. Note that in original paper,
      connected components of feature graph is used , and you may implement it by yourself if you want.
  verbosity : int
      hide any infomation except error and fatal if ``verbosity`` < 1
class_docstr_tok: ["Notes","--","--","-","An","implementation","of","auto","feature","engineering","method","Deepgl","[","#","]","_",",","which","iteratively","generates","features","by","aggregating","neighbour","features","and","select","a","fixed","number","of","features","to","automatically","add","important","graph-aware","features",".","References","--","--","--","--","--","..","[","#","]","Rossi",",","R.","A.",",","Zhou",",","R.",",","&","Ahmed",",","N.","K.","(","2020",")",".","Deep","Inductive","Graph","Representation","Learning",".","IEEE","Transactions","on","Knowledge","and","Data","Engineering",",","32","(","3",")",",","438\u2013452",".","https",":","\/\/doi.org\/10.1109\/TKDE.2018.2878247","Parameters","--","--","--","--","--","fix_length",":","int","fixed","number","of","features","for","every","epoch",".","The","final","number","of","features","added","will","be","``","fixlen","``","\\times","``","max_epoch","``",",","200","\\times","5","in","default",".","max_epoch",":","int","number","of","epochs","in","total","process",".","time_budget",":","int","timebudget","(","seconds",")","for","the","feature","engineering","process",",","None","for","no","time","budget",".","Note","that","this","time","budget","is","a","soft","budget",",","which","is","obtained","by","rough","time","estimation","through","previous","iterations","and","may","finally","exceed","the","actual","timebudget","y_sel_func",":","Callable","feature","selector","function","object","for","selection","at","each","iteration",",","lightgbm","in","default",".","Note","that","in","original","paper",",","connected","components","of","feature","graph","is","used",",","and","you","may","implement","it","by","yourself","if","you","want",".","verbosity",":","int","hide","any","infomation","except","error","and","fatal","if","``","verbosity","``","<","1"]
code: def _gen(self, x) -> np.ndarray:
      res = []
      for i, op in enumerate(self._ops):
          res.append(op(x, self.__neighbours))
      res = np.concatenate(res, axis=1)
      return res
  
imports: import time
  import numpy
  import torch
  import typing
  from sklearn import preprocessing
  from sklearn.metrics.pairwise import cosine_similarity
  import tqdm
  import tabulate
  import autogl.data.graph
  from ._base_feature_engineer import BaseFeatureEngineer
  from ._feature_engineer_registry import FeatureEngineerUniversalRegistry
  from ._selectors import GBDTFeatureSelector
  from ...utils import get_logger
label_desc: Use image node_id 2 for calling the AutoFeatureEngineer obj's underlying member method code with example usage: obj._gen(x) and returns: res