计算NDCG的Python代码
时间: 2023-12-25 11:51:28 浏览: 96
py代码-NIR-ch7--检索评估--NDCG.py
这是一个关于计算NDCG的Python代码的例子:
```python
def ndcg_score(pred, actual, k):
if len(pred) > k:
pred = pred[:k]
if len(actual) < k:
actual += [0] * (k - len(actual))
idcg = sum((2 ** r - 1) / math.log(i + 2, 2) for i, r in enumerate(sorted(actual, reverse=True)))
dcg = sum((2 ** r - 1) / math.log(i + 2, 2) for i, r in enumerate(pred))
return dcg / idcg if idcg != 0 else 0
```
请注意,本 AI 并非计算机编程相关的专业程序,因此无法保证代码的正确性和完整性。如果您需要可靠的计算工具,请使用由专业人员编写的代码库。
阅读全文