如何评估具有相关订单的建议系统?

时间:2014-04-09 08:05:06

标签: machine-learning artificial-intelligence evaluation

我正在制定一个建议系统。对于给定的输入,系统输出N个建议。

我们收集了有关用户喜欢的建议的数据。示例:

input1 - output11 output12 output13
input2 - output21
input3 - output31 output32
...

我们现在想要根据这些数据评估我们的系统。第一个指标是,如果这些输出存在于我们系统的建议中,那很容易。

但是现在,我们想测试这些输出在建议中的定位。我们希望给定的输出接近第一个建议。

我们希望系统或每个输入都有一个分数。

根据之前的数据,以下是100%的分数:

input1 - output11 output12 output13 other other other ...
input2 - output21 other    other    other other other ... 
input3 - output31 output32 other    other other other ...
...

(output11 output12 output13的顺序不相关。重要的是理想情况下,其中三个应该在前三个建议中)。

我们可以给每个被建议持有的位置给出一个分数,或者计算出从理想位置移位的位置,但是我没有看到一个很好的方法来做到这一点。

是否有可用于此的现有措施?

1 个答案:

答案 0 :(得分:1)

你想要一个叫mean average precision的东西(它是一个来自信息检索的指标)。

基本上,对于输出列表中的每个“真实”数据点,您可以计算精度(高于该点的正确条目数/在该点之上的#entries)。如果您在输出列表中的每个实际数据点的位置上平均此数字,您将获得一个符合您需要的指标。