问题标签 [cosine-similarity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2074 浏览

php - 余弦相似度 PHP

我想计算 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))

我的数据集如下所示:

是否有任何代码用于计算 PHP 中的余弦相似度?

0 投票
3 回答
2198 浏览

php - 余弦相似度结果大于一

我在 PHP 中编码余弦相似度。有时该公式给出的结果高于一个。为了使用逆 cos 从这个数字中导出度数,它需要介于 1 和 0 之间。

我知道我不需要学位,因为它越接近 1,它们越相似,越接近 0 越不相似。

但是,我不知道 1 以上的数字是什么意思。这是否意味着它完全不同?2 比 0 更相似吗?

你能说相似的顺序是这样的吗:

从下方到 0 最接近 1 - 从 0 移动到 1 时最相似。从上面最接近 1 - 距离越远,相似度就越小。

谢谢!

根据要求,我的代码是:

为了让您了解我得到的值的种类:

0 投票
1 回答
1144 浏览

python - 从相似度 numpy.ndarray 中获取 top-K 相关文档

我正在使用此处定义的文档相似性。

我的问题是如何从numpy.ndarrayIs there a way to sort the numpy array and get the top-K related documents that are similar 中获取最相关的文档?

这是示例代码。

0 投票
5 回答
7084 浏览

java - 更快地计算余弦相似度

我想在我的 IR 项目中使用余弦相似度,但是因为向量的大小很大并且必须多次乘以浮点数,所以需要很长时间。

有什么方法可以更快地计算余弦相似度?

这是我的代码:

0 投票
9 回答
142404 浏览

python - 在给定稀疏矩阵数据的情况下,Python 中计算余弦相似度的最快方法是什么?

给定一个稀疏矩阵列表,计算矩阵中每一列(或行)之间的余弦相似度的最佳方法是什么?我宁愿不迭代 n-choose-two 次。

假设输入矩阵是:

稀疏表示为:

在 Python 中,使用矩阵输入格式很简单:

给出:

这对于全矩阵输入来说很好,但我真的想从稀疏表示开始(由于我的矩阵的大小和稀疏性)。关于如何最好地实现这一点的任何想法?提前致谢。

0 投票
2 回答
2696 浏览

matlab - 如何在 Matlab 中获得复杂度余弦相似度?

我已经像这样在 Matlab 中实现了余弦相似度。事实上,我有一个 50×50 的二维矩阵。要获得余弦,我应该逐行比较项目。

这个对吗?问题是:wath 是这种状态下的复杂度还是 O(n)?

0 投票
0 回答
920 浏览

matlab - 如何通过将数据划分到matlab中的不同路径来计算非常大数据集的相似度矩阵?

我有一个 367800x84 的矩阵,行是实例,列是维度。我尝试计算相似度矩阵,但是如果我尝试从整个矩阵计算,它不适合内存。我尝试了不同的代码,但没有奏效。我想把数据分成一堆,然后逐步计算。我该如何应用这种方法?这是我对整个数据所做的尝试。首先是欧几里得,其次是余弦相似码。

-------------------------------------------------- ---:

0 投票
15 回答
407940 浏览

python - 2个数字列表之间的余弦相似度

我想计算两个列表之间的余弦相似度,例如列表 1和列表 2 。dataSetIdataSetII

比方说dataSetIis[3, 45, 7, 2]dataSetIIis [2, 54, 13, 15]。列表的长度总是相等的。我想将余弦相似度报告为 0 到 1 之间的数字。

0 投票
1 回答
2658 浏览

hadoop - Mahout row相似度

我正在尝试计算维基百科文档之间的行相似性。我有格式的 tf-idf 向量Key class: class org.apache.hadoop.io.Text Value Class: class org.apache.mahout.math.VectorWritable。我正在从这里快速浏览文本分析:https ://cwiki.apache.org/confluence/display/MAHOUT/Quick+tour+of+text+analysis+using+the+Mahout+command+line

我创建了一个 mahout 矩阵,如下所示:

我得到了生成的行和列的数量:

矩阵的格式Key class: class org.apache.hadoop.io.IntWritable Value Class: class org.apache.mahout.math.VectorWritable

我还有一个docIndex格式如下的文档:Key class: class org.apache.hadoop.io.IntWritable Value Class: class org.apache.hadoop.io.Text

然后当我运行 rowsimilarity 作业时

我收到以下错误:

有人可以帮我解决错误吗?org.apache.hadoop.io.Text当输入矩阵为格式时,我不确定这是从哪里来 的Key class: class org.apache.hadoop.io.IntWritable Value Class: class org.apache.mahout.math.VectorWritable

非常感谢你。

最好的,德拉甘

0 投票
1 回答
1643 浏览

python - 使用 scikit learn 计算文本相似度时出错

我是向量空间模型(VSM)的初学者。我尝试了 这个站点的代码。这是对 VSM 的一个很好的介绍,但我设法从作者那里得到了不同的结果。这可能是因为一些兼容性问题,因为自编写介绍以来scikit learn似乎发生了很大变化。可能是我也误解了解释。
我使用下面的代码得到了错误的答案。有人能弄清楚它有什么问题吗?我在下面发布代码的结果和下面的正确答案

我已经手工完成了计算,所以我知道网站的结果很好。还有另一个Stackoverflow 问题使用相同的代码,但它也没有得到与网站相同的结果。

tf-idf 的结果向量
#[ 2.09861229 1. 1.40546511 1. ]

tf-idf 的右向量
#[0.69314718, -0.40546511, -0.40546511, 0]

结果 tf_idf_matrix
#[[ 0. 0.50154891 0.70490949 0.50154891]
#[ 0. 0.50854232 0. 0.861037 ]]

正确答案
# [[ 0. -0.70710678 -0.70710678 0. ]
# [ 0. -0.89442719 -0.4472136 0. ]]