Python 推荐引擎(LightFM)的auc_分数和精度_在_k之间有什么区别

Python 推荐引擎(LightFM)的auc_分数和精度_在_k之间有什么区别,python,statistics,precision,recommendation-engine,auc,Python,Statistics,Precision,Recommendation Engine,Auc,我目前正在尝试使用该库构建一个推荐引擎。我的输入是一个具有形状的稀疏矩阵(n_用户,n_项),其中矩阵中的每个单元格值表示用户与特定项的交互次数。这与我所看到的大多数示例大不相同,在这些示例中,矩阵的性质通常是布尔值(1或0),或者使用小范围(例如,评级为1-5),我不确定这是否是我面临的问题的一个促成因素 Training AUC score: 0.892 Testing AUC score: 0.873 K=10, Training precision_at_k: 0.0363 Testi

我目前正在尝试使用该库构建一个推荐引擎。我的输入是一个具有形状的稀疏矩阵(n_用户,n_项),其中矩阵中的每个单元格值表示用户与特定项的交互次数。这与我所看到的大多数示例大不相同,在这些示例中,矩阵的性质通常是布尔值(1或0),或者使用小范围(例如,评级为1-5),我不确定这是否是我面临的问题的一个促成因素

Training AUC score: 0.892
Testing AUC score: 0.873

K=10,
Training precision_at_k: 0.0363
Testing precision_at_k: 0.0363
我很困惑,为什么AUC分数似乎表明发动机性能良好,而K的精度表明情况并非如此

我对AUC分数的理解是,它似乎更适合用于二进制分类任务。这就是为什么分数这么高的原因吗?它将每个正值识别为布尔真,将每个0值识别为负值。在这种情况下,由于矩阵的稀疏性,正值的数量大大超过0值的数量

我对k的精度经验相对较少,只知道它代表了预测的平均精度。这个低分数意味着什么,当我们把它与更高的AUC分数一起考虑?< /P> 编辑:


所以我仍然不能完全确定这个话题,但我只是想分享一下我在这个话题上的一些直觉,以防其他人遇到和我一样的问题。推荐引擎在k时的
精度得分较低的一个可能原因是,该指标考虑了推荐的排名。这意味着它可以提供10条用户喜欢的建议,但如果建议不是按偏好递减的顺序排列的,那么该模型的得分将非常低。

您可以在此处查看我对类似问题的回答:。