code: def recommend_items(
      self, ranking_metric, top_k, sort_top_k, remove_seen, normalize
  ):
      if ranking_metric == RankingMetric.RATING:
          return self.model.recommend_k_items(
              test=self.input_data,
              top_k=top_k,
              sort_top_k=sort_top_k,
              remove_seen=remove_seen,
              normalize=normalize,
          )
      if ranking_metric == RankingMetric.SIMILARITY:
          return self.model.get_item_based_topk(
              items=self.input_data, top_k=top_k, sort_top_k=sort_top_k
          )
      if ranking_metric == RankingMetric.POPULARITY:
          return self.model.get_popularity_based_topk(
              top_k=top_k, sort_top_k=sort_top_k
          )
      raise ValueError(
          f"Got unexpected ranking metric: {ranking_metric}."
      )
  
imports: import argparse
  from distutils.util import strtobool
  from enum import Enum
  from pathlib import Path
  import joblib
  from azureml.studio.core.data_frame_schema import DataFrameSchema
  from azureml.studio.core.logger import module_logger
  from azureml.studio.core.io.data_frame_directory import load_data_frame_from_directory, save_data_frame_to_directory
  from azureml.studio.core.io.model_directory import load_model_from_directory
label_desc: Use image node_id 4 for calling the ScoreSARModule obj's underlying member method code with example usage: obj.recommend_items(ranking_metric, top_k, sort_top_k, remove_seen, normalize) and returns: self, self, self