我有一个巨大的矩阵(10 * 10k)。我想知道是否有办法找到线之间的相似之处。
让我们举一个矩阵的例子:4 * 5
col1 col2 col3 col4
0 0 1 0
2 3 4 5
2 3 2 3
0 0.1 1 0
0 0 1 0
我想知道是否有统计理论来确定数据之间的相似性。
第1行是100%像第5行第2行是50%像第3行
但我怎样才能处理彼此接近的数字。
第4行和第5行具有非常相同的值。同样如何才能找到计算相似概率的方法? python上有任何函数,numpy,scikit-learn可以计算出来吗?
import numpy
mat= numpy.random.random((30, 30))
def find_similarities(line,targeted_line):
..
答案 0 :(得分:1)
查看similarity measures
或similarity functions
。计算每行之间的Euclidean Distance或Cosine Similarity将解决您的问题。您还可以根据自己的需要调整汉明距离或Jaccard指数。您可以在O(n)
时间和O(1)
空间中计算大部分此类相似性。