Exemplo n.º 1
0
def output(train, test, result, k):

    popularity = Evaluation.Popularity(train, test, result)
    coverage = Evaluation.Coverage(train, test, result) * 100
    print("K is:", k)
    print("popularity:{0}".format(popularity))
    print("coverage:{0}".format(coverage))
    return popularity, coverage
Exemplo n.º 2
0
        #        result = UserCF.Recommendation(test.keys(), train, W)

        #        W = UserCF_IIF.UserSimilarity(train)
        #    rank = UserCF_IIF.Recommend('1',train,W)
        #        result = UserCF_IIF.Recommendation(test.keys(), train, W)

        #    W = ItemCF.ItemSimilarity(train)
        #    rank = ItemCF.Recommend('1',train,W)
        #        result =  ItemCF_IUF.Recommendation(test.keys(),train, W)

        #        W = ItemCF_IUF.ItemSimilarity(train)
        #    rank = ItemCF_IUF.Recommend('1',train,W)
        #        result =  ItemCF_IUF.Recommendation(test.keys(),train, W)

        [P, Q] = LFM.LatentFactorModel(train, 10, 30, 0.02, 0.01)
        #        rank = LFM.Recommend('2',train,P,Q)
        result = LFM.Recommendation(test.keys(), train, P, Q)

        N = 30
        precision += Evaluation.Precision(train, test, result, N)
        recall += Evaluation.Recall(train, test, result, N)
        coverage += Evaluation.Coverage(train, test, result, N)
        popularity += Evaluation.Popularity(train, test, result, N)

    precision /= numFlod
    recall /= numFlod
    coverage /= numFlod
    popularity /= numFlod

    #运行完标志
    print('Done!')
Exemplo n.º 3
0

#        W = ItemCF_IUF.ItemSimilarity(train)
    #    rank = ItemCF_IUF.Recommend('1',train,W)
#        result =  ItemCF_IUF.Recommendation(test.keys(),train, W)

#        [P,Q] = LFM.LatentFactorModel(train, 10,30, 0.02, 0.01)
#        rank = LFM.Recommend('2',train,P,Q)
#        result = LFM.Recommendation(test.keys(), train,P,Q)


        N = 5
        # 用户-物品训练集,用户-物品测试集,用户推荐字典集,推荐要N个
        precision += Evaluation.Precision(train,test, result,N)
        recall += Evaluation.Recall(train,test,result,N)
        coverage += Evaluation.Coverage(train, test, result,N)
        # popularity += Evaluation.Popularity(train, test, result,N)
        precision_transE += Evaluation.Precision(train, test, result_transE, N)
        recall_transE += Evaluation.Recall(train, test, result_transE, N)
        coverage_transE += Evaluation.Coverage(train, test, result_transE, N)
        print('========================')

    # 除以五次的平均
    precision /= numFlod
    recall /= numFlod
    coverage /= numFlod
    # popularity /= numFlod
    precision_transE /= numFlod
    recall_transE /= numFlod
    coverage_transE /= numFlod