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
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))