Ejemplo n.º 1
0
        recall = {}
        coverage = {}
        popularity = {}
        N = 10
        for str, result in {
                "user_CF": result_user,
                "item_CF": result_item,
                "LFM": result_LFM
        }.items():
            precision.setdefault(str, 0)
            recall.setdefault(str, 0)
            coverage.setdefault(str, 0)
            popularity.setdefault(str, 0)
            precision[str] += Evaluation.Precision(train, test, result, N)
            recall[str] += Evaluation.Recall(train, test, result, N)
            coverage[str] += Evaluation.Coverage(train, test, result, N)
            popularity[str] += Evaluation.Popularity(train, test, result, N)
    numFlod = 1
    for str in ["user_CF", "item_CF", "LFM"]:
        precision[str] /= numFlod
        recall[str] /= numFlod
        coverage[str] /= numFlod
        popularity[str] /= numFlod

    # 输出结果
    for str in ["user_CF", "item_CF", "LFM"]:
        print('%s precision = %f' % (str, precision[str]))
        print('%s recall = %f' % (str, recall[str]))
        print('%s coverage = %f' % (str, coverage[str]))
        print('%s popularity = %f' % (str, popularity[str]))
        print("***************************************************")