def _create_empty_metrics_dict(cutoff_list, n_items, n_users, URM_train, URM_test, ignore_items, ignore_users, diversity_similarity_object): empty_dict = {} # global_RMSE_object = RMSE(URM_train + URM_test) for cutoff in cutoff_list: cutoff_dict = {} for metric in EvaluatorMetrics: if metric == EvaluatorMetrics.COVERAGE_ITEM: cutoff_dict[metric.value] = Coverage_Item(n_items, ignore_items) elif metric == EvaluatorMetrics.DIVERSITY_GINI: cutoff_dict[metric.value] = Gini_Diversity(n_items, ignore_items) elif metric == EvaluatorMetrics.SHANNON_ENTROPY: cutoff_dict[metric.value] = Shannon_Entropy(n_items, ignore_items) elif metric == EvaluatorMetrics.COVERAGE_USER: cutoff_dict[metric.value] = Coverage_User(n_users, ignore_users) elif metric == EvaluatorMetrics.DIVERSITY_MEAN_INTER_LIST: cutoff_dict[metric.value] = Diversity_MeanInterList(n_items, cutoff) elif metric == EvaluatorMetrics.DIVERSITY_HERFINDAHL: cutoff_dict[metric.value] = Diversity_Herfindahl(n_items, ignore_items) elif metric == EvaluatorMetrics.NOVELTY: cutoff_dict[metric.value] = Novelty(URM_train) elif metric == EvaluatorMetrics.AVERAGE_POPULARITY: cutoff_dict[metric.value] = AveragePopularity(URM_train) elif metric == EvaluatorMetrics.MAP: cutoff_dict[metric.value] = MAP() elif metric == EvaluatorMetrics.MRR: cutoff_dict[metric.value] = MRR() # elif metric == EvaluatorMetrics.RMSE: # cutoff_dict[metric.value] = global_RMSE_object elif metric == EvaluatorMetrics.DIVERSITY_SIMILARITY: if diversity_similarity_object is not None: cutoff_dict[metric.value] = copy.deepcopy(diversity_similarity_object) else: cutoff_dict[metric.value] = 0.0 empty_dict[cutoff] = cutoff_dict return empty_dict
def create_empty_metrics_dict(n_items, n_users, URM_train, ignore_items, ignore_users, cutoff, diversity_similarity_object): empty_dict = {} # from Base.Evaluation.ResultMetric import ResultMetric # empty_dict = ResultMetric() for metric in EvaluatorMetrics: if metric == EvaluatorMetrics.COVERAGE_ITEM: empty_dict[metric.value] = Coverage_Item(n_items, ignore_items) elif metric == EvaluatorMetrics.DIVERSITY_GINI: empty_dict[metric.value] = Gini_Diversity(n_items, ignore_items) elif metric == EvaluatorMetrics.SHANNON_ENTROPY: empty_dict[metric.value] = Shannon_Entropy(n_items, ignore_items) elif metric == EvaluatorMetrics.COVERAGE_USER: empty_dict[metric.value] = Coverage_User(n_users, ignore_users) elif metric == EvaluatorMetrics.DIVERSITY_MEAN_INTER_LIST: empty_dict[metric.value] = Diversity_MeanInterList(n_items, cutoff) elif metric == EvaluatorMetrics.DIVERSITY_HERFINDAHL: empty_dict[metric.value] = Diversity_Herfindahl( n_items, ignore_items) elif metric == EvaluatorMetrics.NOVELTY: empty_dict[metric.value] = Novelty(URM_train) elif metric == EvaluatorMetrics.AVERAGE_POPULARITY: empty_dict[metric.value] = AveragePopularity(URM_train) elif metric == EvaluatorMetrics.MAP: empty_dict[metric.value] = MAP() elif metric == EvaluatorMetrics.MRR: empty_dict[metric.value] = MRR() elif metric == EvaluatorMetrics.DIVERSITY_SIMILARITY: if diversity_similarity_object is not None: empty_dict[metric.value] = copy.deepcopy( diversity_similarity_object) else: empty_dict[metric.value] = 0.0 return empty_dict