推荐系统的评价指标--------命中率(Hit Rate)、平均倒数排名(MRR)和归一化折扣累积增益(NDCG)

1. 命中率(Hit Rate)

概念

命中率是衡量推荐系统准确性的指标之一。它表示推荐列表中用户实际感兴趣(例如实际点击或购买)的项目所占的比例

计算方法

命中率的计算非常直接。你只需要统计推荐列表中用户实际感兴趣的项目数量,然后除以测试集中用户实际感兴趣的总项目数量。

 

示例:

假设一个用户在测试集中对5个项目感兴趣,推荐系统推荐了10个项目,其中3个是用户实际感兴趣的,那么命中率为 3/5 = 0.6。

2. 平均倒数排名(MRR)

概念

MRR是一种衡量推荐系统或信息检索系统性能的指标,特别是用来衡量返回结果的排名质量。MRR考虑了用户第一次遇到相关项目的排名;

结果列表中,第一个结果匹配,分数为1,第二个匹配分数为0.5,第n个匹配分数为1/n,如果没有匹配的句子分数为0。最终的分数为所有得分之和,再求平均

计算方法

对于每个查询,首先计算倒数排名(即第一个相关项目的排名的倒数),如果没有相关项目,则倒数排名为0。然后,计算所有查询的倒数排名的平均值。

3. 归一化折扣累积增益(NDCG)

概念:

NDCG是一种在信息检索领域中广泛使用的评价指标,用于衡量排名质量。它考虑了所有相关项目的排名,并根据排名对其赋予不同的权重(排名越靠前,权重越大)

计算方法:

首先计算DCG(Discounted Cumulative Gain),然后将其标准化。

好的,我会给您讲解如何使用 R 语言计算 Probability of detection (hit rate)。 首先,我们需要明确 Probability of detection (hit rate) 的计算方法。它是指在所有实际存在的阳性样本中,被正确地诊断为阳性的比例。数学公式为: $$ \text{Probability of detection (hit rate)} = \frac{\text{True positive}}{\text{True positive} + \text{False negative}} $$ 其中,True positive 表示实际为阳性的样本被正确地诊断为阳性的数量,False negative 表示实际为阳性的样本被错误地诊断为阴性的数量。 接下来,我们可以使用 R 语言来计算 Probability of detection (hit rate) 的值。假设我们有以下数据: ``` actual <- c(1, 0, 1, 1, 0, 1, 0, 1, 1, 0) predicted <- c(1, 0, 0, 1, 1, 1, 1, 1, 0, 1) ``` 其中,actual 为实际的样本情况,1 表示阳性,0 表示阴性;predicted 为模型预测的结果,1 表示阳性,0 表示阴性。 接下来,我们可以使用以下代码来计算 Probability of detection (hit rate) 的值: ``` tp <- sum(actual == predicted & actual == 1) fn <- sum(actual != predicted & actual == 1) hit_rate <- tp / (tp + fn) hit_rate ``` 代码中,我们首先使用逻辑运算符 & 来筛选出实际为阳性的样本中,被正确地诊断为阳性的数量 tp,以及实际为阳性的样本中,被错误地诊断为阴性的数量 fn。然后,我们可以使用公式计算 Probability of detection (hit rate) 的值,并输出结果。 在我们的例子中,计算结果为 0.6666667,即 2/3。这意味着,在所有实际存在的阳性样本中,有 2 个被正确地诊断为阳性,1 个被错误地诊断为阴性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值