问题标签 [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.
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 中的余弦相似度?
php - 余弦相似度结果大于一
我在 PHP 中编码余弦相似度。有时该公式给出的结果高于一个。为了使用逆 cos 从这个数字中导出度数,它需要介于 1 和 0 之间。
我知道我不需要学位,因为它越接近 1,它们越相似,越接近 0 越不相似。
但是,我不知道 1 以上的数字是什么意思。这是否意味着它完全不同?2 比 0 更相似吗?
你能说相似的顺序是这样的吗:
从下方到 0 最接近 1 - 从 0 移动到 1 时最相似。从上面最接近 1 - 距离越远,相似度就越小。
谢谢!
根据要求,我的代码是:
为了让您了解我得到的值的种类:
python - 从相似度 numpy.ndarray 中获取 top-K 相关文档
我正在使用此处定义的文档相似性。
我的问题是如何从numpy.ndarray
Is there a way to sort the numpy array and get the top-K related documents that are similar 中获取最相关的文档?
这是示例代码。
java - 更快地计算余弦相似度
我想在我的 IR 项目中使用余弦相似度,但是因为向量的大小很大并且必须多次乘以浮点数,所以需要很长时间。
有什么方法可以更快地计算余弦相似度?
这是我的代码:
python - 在给定稀疏矩阵数据的情况下,Python 中计算余弦相似度的最快方法是什么?
给定一个稀疏矩阵列表,计算矩阵中每一列(或行)之间的余弦相似度的最佳方法是什么?我宁愿不迭代 n-choose-two 次。
假设输入矩阵是:
稀疏表示为:
在 Python 中,使用矩阵输入格式很简单:
给出:
这对于全矩阵输入来说很好,但我真的想从稀疏表示开始(由于我的矩阵的大小和稀疏性)。关于如何最好地实现这一点的任何想法?提前致谢。
matlab - 如何在 Matlab 中获得复杂度余弦相似度?
我已经像这样在 Matlab 中实现了余弦相似度。事实上,我有一个 50×50 的二维矩阵。要获得余弦,我应该逐行比较项目。
这个对吗?问题是:wath 是这种状态下的复杂度还是 O(n)?
matlab - 如何通过将数据划分到matlab中的不同路径来计算非常大数据集的相似度矩阵?
我有一个 367800x84 的矩阵,行是实例,列是维度。我尝试计算相似度矩阵,但是如果我尝试从整个矩阵计算,它不适合内存。我尝试了不同的代码,但没有奏效。我想把数据分成一堆,然后逐步计算。我该如何应用这种方法?这是我对整个数据所做的尝试。首先是欧几里得,其次是余弦相似码。
-------------------------------------------------- ---:
python - 2个数字列表之间的余弦相似度
我想计算两个列表之间的余弦相似度,例如列表 1和列表 2 。dataSetI
dataSetII
比方说dataSetI
is[3, 45, 7, 2]
和dataSetII
is [2, 54, 13, 15]
。列表的长度总是相等的。我想将余弦相似度报告为 0 到 1 之间的数字。
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
非常感谢你。
最好的,德拉甘
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. ]]