code: def ensemble(scores, feats, label=None, num=5000):
      score = 0
      for feat, weight in scores:
          cur_feat = feat[:num].astype(np.float32)
          min_value = cur_feat.min()
          max_value = cur_feat.max()
          cur_feat = (cur_feat - min_value) / (max_value - min_value)
          score += cur_feat * weight
      score = score / len(scores)
  
      for feat, weight in feats:
          cur_feat = feat[:num].astype(np.float32)
          score += cur_feat * weight
      if label is None:
          return score
      label = label[:num]
      return get_mrr(score, label), score
  
file_path: PGL/examples/kddcup2021/WikiKG90M/ensemble/ensemble.py
imports: import pgl
  import numpy
  from tqdm import tqdm
  import pandas
  import torch
  from ogb.lsc import WikiKG90MDataset, WikiKG90MEvaluator
label_desc: Use image node_id 3 for calling a global function with example usage: ensemble(scores, feats, label, num) and returns: get_mrr,  score, score