【发布时间】:2017-05-20 23:53:01
【问题描述】:
大家好[第一次发帖,请温柔:)]
我正在尝试计算许多数组(数千个)之间的相似度分数,以便创建相似数组的 2D 图(类似于tSNE)。
数组如下: 每个数组都有许多与之关联的唯一整数(每个对象可能有 40-200 个整数):
arr1 = [1513, 2354, 1929483, 323423...]
arr2 = [4546, 847, 993847, 8457...]
...
arrN = [236, 395828, 434535, 4369...]
每个唯一整数的范围约为 1-30,000,000。我想将每个数组与所有其他数组进行比较,以确定它们共有多少个整数。这应该是相似度得分的基础,我想比较会产生一个 N x N 相似度得分矩阵,尽管我很想听听您如何将 N x N 矩阵降低到更低的维度。
感谢您的帮助,我真的不知道从哪里开始!
【问题讨论】:
-
对数组进行排序还允许对匹配元素进行更便宜的(二进制)搜索;如果数组很大并且匹配元素的数量很少,这可能是值得的。
标签: python multidimensional-array machine-learning cosine-similarity