电影推荐中NDCG指标代码
时间: 2023-11-07 07:05:08 浏览: 112
以下是使用Python计算电影推荐中NDCG指标的代码示例:
```python
import numpy as np
def dcg_at_k(r, k):
"""Calculate DCG@K (Discounted Cumulative Gain)"""
r = np.asfarray(r)[:k]
if r.size:
return np.sum(r / np.log2(np.arange(2, r.size + 2)))
return 0.
def ndcg_at_k(r, k):
"""Calculate NDCG@K (Normalized Discounted Cumulative Gain)"""
dcg_max = dcg_at_k(sorted(r, reverse=True), k)
if not dcg_max:
return 0.
return dcg_at_k(r, k) / dcg_max
# Example usage:
# r = relevance scores of recommended movies, with higher scores indicating higher relevance
# k = number of recommended movies to consider for NDCG calculation
r = [3, 2, 3, 0, 1, 2]
k = 6
ndcg = ndcg_at_k(r, k)
print(f"NDCG@{k}: {ndcg}")
```
在代码中,`r` 是推荐电影的相关性得分列表,得分越高表示电影越相关。`k` 是用于计算 NDCG 的推荐电影数。该代码使用 `dcg_at_k` 函数计算 DCG@K,然后计算 NDCG@K 并返回结果。
阅读全文
相关推荐


















