class_docstr: LightGCN model
  
  :Citation:
  
      He, Xiangnan, Kuan Deng, Xiang Wang, Yan Li, Yongdong Zhang, and Meng Wang.
      "LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation." arXiv
      preprint arXiv:2002.02126, 2020.
docstr: Run evaluation on self.data.test.
  
  Returns:
      dict: Results of all metrics in `self.metrics`.
docstr_tok: ["Run","evaluation","on","self.data.test",".","Returns",":","dict",":","Results","of","all","metrics","in","`","self.metrics","`","."]
code: def run_eval(self):
      """Run evaluation on self.data.test.
  
      Returns:
          dict: Results of all metrics in `self.metrics`.
      """
      topk_scores = self.recommend_k_items(
          self.data.test, top_k=self.top_k, use_id=True
      )
      ret = []
      for metric in self.metrics:
          if metric == "map":
              ret.append(
                  map_at_k(self.data.test, topk_scores, k=self.top_k)
              )
          elif metric == "ndcg":
              ret.append(
                  ndcg_at_k(self.data.test, topk_scores, k=self.top_k)
              )
          elif metric == "precision":
              ret.append(
                  precision_at_k(
                      self.data.test, topk_scores, k=self.top_k
                  )
              )
          elif metric == "recall":
              ret.append(
                  recall_at_k(self.data.test, topk_scores, k=self.top_k)
              )
      return ret
  
imports: import tensorflow
  import time
  import os
  import sys
  import numpy
  import pandas
  from recommenders.evaluation.python_evaluation import map_at_k, ndcg_at_k, precision_at_k, recall_at_k
  from recommenders.utils.python_utils import get_top_k_scored_items
label_desc: Use image node_id 8 for calling the LightGCN obj's underlying member method code with example usage: obj.run_eval() and returns: ret