如何在矩阵中找到相似之处?

时间:2014-04-21 16:54:06

标签: python math numpy matrix scikit-learn

我有一个巨大的矩阵(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):
    .. 

1 个答案:

答案 0 :(得分:1)

查看similarity measuressimilarity functions。计算每行之间的Euclidean DistanceCosine Similarity将解决您的问题。您还可以根据自己的需要调整汉明距离或Jaccard指数。您可以在O(n)时间和O(1)空间中计算大部分此类相似性。