code: def similarity(
              self, M_c, X_L_list, X_D_list, given_row_id, target_row_id,
              target_columns=None):
          
          return su.similarity(
              M_c, X_L_list, X_D_list, given_row_id,
              target_row_id, target_columns)
docs: Computes the similarity of the given row to the target row,
          averaged over all the column indexes given by target_columns.
  
          :param given_row_id: the id of one of the rows to measure similarity
              between
          :type given_row_id: int
          :param target_row_id: the id of the other row to measure similarity
              between
          :type target_row_id: int
          :param target_columns: the columns to average the similarity over.
              Defaults to all columns.
          :type target_columns: int, string, or list of ints
  
          :returns: float