推荐算法topk评价指标代码
时间: 2023-06-21 10:15:03 浏览: 51
以下是Top-K评价指标的代码实现:
```python
def top_k_precision(y_true, y_pred, k):
"""
Top-K Precision评价指标的实现
:param y_true: 真实标签向量
:param y_pred: 预测标签向量
:param k: k值
:return: Top-K Precision值
"""
sorted_indices = np.argsort(y_pred)[::-1][:k]
pred_labels = y_true[sorted_indices]
return np.sum(pred_labels) / k
```
```python
def top_k_recall(y_true, y_pred, k):
"""
Top-K Recall评价指标的实现
:param y_true: 真实标签向量
:param y_pred: 预测标签向量
:param k: k值
:return: Top-K Recall值
"""
sorted_indices = np.argsort(y_pred)[::-1][:k]
pred_labels = y_true[sorted_indices]
return np.sum(pred_labels) / np.sum(y_true)
```
```python
def top_k_f1(y_true, y_pred, k):
"""
Top-K F1评价指标的实现
:param y_true: 真实标签向量
:param y_pred: 预测标签向量
:param k: k值
:return: Top-K F1值
"""
precision = top_k_precision(y_true, y_pred, k)
recall = top_k_recall(y_true, y_pred, k)
return 2 * (precision * recall) / (precision + recall)
```
以上三个函数分别实现了Top-K Precision、Top-K Recall和Top-K F1评价指标的计算。其中,k为预测的Top-K数量,y_true和y_pred分别为真实标签向量和预测标签向量。可以根据需要调用相应的函数计算评价指标。