rt
如果不给某用户推荐商品,recall肯定是零, 不过precision应该是多少呢?
1 or 0?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在信息检索和推荐系统中,Precision(精确率)和Recall(召回率)是衡量系统性能的两个重要指标。
Precision(精确率)是指系统返回的结果中真正相关的结果所占的比例。计算公式为:[ \text{Precision} = \frac{\text{真正例(True Positives)}}{\text{真正例(True Positives) + 假正例(False Positives)}} ]
Recall(召回率)是指系统返回的相关结果占所有实际相关结果的比例。计算公式为:[ \text{Recall} = \frac{\text{真正例(True Positives)}}{\text{真正例(True Positives) + 假负例(False Negatives)}} ]
如果根本不给某用户推荐任何商品,这意味着没有返回任何结果,即“真正例(True Positives)”、“假正例(False Positives)”都为0。在这种情况下,Precision的分子和分母都是0,按照数学上的定义,这通常被视为未定义或者说是不可计算的,因为不能除以0。但为了实用目的,可以认为在这种情境下Precision为1(因为没有做出错误的推荐,即没有假正例),前提是如果我们约定不考虑未推荐的情况作为评价的一部分。然而,更严格地讲,在没有做出任何推荐尝试时,直接应用Precision的定义是不合适的,因此一些文献或实践中可能会避免给出具体数值,或者明确指出这种情况下的特殊处理方式。
综上所述,从理论计算的角度,由于分母为0,Precision不是直接计算得出1或0。但在实际讨论中,若侧重于系统未犯错(无假正例)的角度,有时会倾向于视其为1。不过,这种处理更多依赖于特定场景下的定义和解释。而Recall在这种情况下肯定是0,因为没有推荐出任何商品,即使有相关商品也等于没有召回。