numpy 规范化欧氏距离- python

mfpqipee  于 2023-02-16  发布在  Python
关注(0)|答案(1)|浏览(176)
def euclidean_distance(n):
    L = np.linalg.cholesky( [[1.0, 0.60], [0.60, 1.0]])
    
    uncorrelated = np.random.standard_normal((2, n))
    correlated = np.dot(L, uncorrelated)
        
    A = correlated[0]
    B = correlated[1]
    
    v = np.linalg.norm(A-B)
        
    return v

v50 = euclidean_distance(50)
v1000 = euclidean_distance(1000)

计算中使用的数据点越多,欧氏距离就越大。如何将距离归一化,以便比较v50v1000之间的相似性?

xtfmy6hx

xtfmy6hx1#

你可以normalize这距离由划分他们由这数字的平方根数据点使用在这每一个计算.尝试这:

v = np.linalg.norm(A-B) / np.sqrt(n)

相关问题