0

任何人都可以提供有关对集合的相似性进行排名的方法的指导吗?

我有 2 个用户通过勾选 3 个是、否和可能的单选按钮来回答问题。

任何人都可以建议一种算法来单独和作为一组比较受访者对每个问题的答案的相似性吗?我必须在 PHP/MySQL 平台上实现它。

谢谢

4

1 回答 1

1

您似乎想要计算相关强度。

对于每个响应对,通过测量两个答案之间的距离来计算相似度。将 No、Maybe、Yes 视为 0、1、2(如果更适合 PHP,则为 1、2、3)并简单地从响应 B 中减去响应 A。

因此,对于受访者 A 和 B,我们计算距离d

A  B                d
0  0   Abs(0 - 0) = 0
0  1   Abs(1 - 0) = 1
0  2   Abs(2 - 0) = 2

1  0   Abs(0 - 1) = 1
1  1   Abs(1 - 1) = 0
1  2   Abs(2 - 1) = 1

2  0   Abs(0 - 2) = 2
2  1   Abs(1 - 2) = 1
2  2   Abs(2 - 2) = 0

这会为您提供问题的相似度分数。现在,要确定对一组问题的回答的相似性,您需要做的就是将分数相加,并将其表示为最大可能分数的一小部分。MaxScore 就是最大距离乘以问题的数量(例如,100 个问题的最高分数是 200)

如果每个问题有五个可能的答案范围,则 100 个问题的最高分数为 400。

于 2012-08-10T04:16:15.800 回答