【发布时间】:2013-05-24 02:06:22
【问题描述】:
我想在 PHP 中计算 1 (ID1) 和 3 (ID1) 之间的余弦相似度,同样适用于 1 和 4、3 和 4。公式应该是这样的:
相似度 = (1.1 * 3.1 + 1.4 * 3.4)/(((1.1)^2+(1.3)^2+(1.4)^2)^0.5)(((3.1)^2+ (3.4)^ 2)^0.5) = (4*4+8*4)/(((16+16+64)^0.5)(16+16)^0.5))
我的数据集如下所示:
ID1 ID2 Value
1 1 4
1 3 4
1 4 8
3 1 4
3 4 4
4 1 8
4 3 4
是否有任何代码可以在 PHP 中为此计算余弦相似度?
【问题讨论】:
-
Cosine Similarity 是基本的,看起来一点也不像你的公式......你能分享更多的光并打破它与 ID1 、 ID2 和 Value 的关系吗
-
ID1中的每个值代表一个向量,ID2代表对应的部分,如果即1.1 1.3 1.4是向量,点后的值在ID2中为1。因此ID1的1是向量。所以我比较了 1 和 3 的对应值(分别作为 A 和 B 向量)。所以余弦相似度与wiki中给出的相同。
标签: php cosine-similarity