Exemplo n.º 1
0
def NDCG(results):
    ndcg1 = 0
    ndcg3 = 0
    for result in results:
        ndcg1 += ndcg_at_k(result, 1, method=1)
        ndcg3 += ndcg_at_k(result, 3, method=1)
    ndcg1 = ndcg1 / len(results)
    ndcg3 = ndcg3 / len(results)

    return str(ndcg1) + " " + str(ndcg3)
def NDCG(results):
    ndcg1 = 0
    ndcg3 = 0
    for result in results:
        ndcg1 += ndcg_at_k(result, 1, method=1)
        ndcg3 += ndcg_at_k(result, 3, method=1)
    ndcg1 = ndcg1 / len(results)
    ndcg3 = ndcg3 / len(results)
    print("NDCG@1", ndcg1)
    print("NDCG@3", ndcg3)
    return ndcg3
Exemplo n.º 3
0
            tempresult=[]
            if keyd in true.keys():
                pcount = 0
                ncount += 1
                for pred in prediction[keyd]:
                    pcount = pcount + 1
                    if keyd not in combineresults.keys():
                        combineresults[keyd] = []
                    combineresults[keyd].append((pred, pcount))

                    if(pred in true[keyd]):
                        obj = truescore[keyd]
                        score = obj[pred]
                        tempresult.append(score)
                    else:
                        tempresult.append(0)

                ndcg += ndcg_at_k(tempresult,3,method=1)
                ndcg1 += ndcg_at_k(tempresult, 1, method=1)
                results.append(tempresult)

        if(ncount > 0):
            # print(ndcg,ncount)
            print(ndcg/ncount)
            print(ndcg1/ncount)

        # print(results)
        # print(ndcg_at_k(results, 1, method=1))
        # print(ndcg_at_k(results, 3, method=1))
        # print(ndcg_at_k(results, 5, method=1))
        # print(mean_average_precision(results))