Most efficient way to construct similarity matrix

前端 未结 5 1400
孤城傲影
孤城傲影 2020-12-31 13:53

I\'m using the following links to create a \"Euclidean Similarity Matrix\" (that I convert to a DataFrame). https://stats.stackexchange.com/questions/53068/euclidean-distan

5条回答
  •  旧时难觅i
    2020-12-31 14:32

    This is what I did:

    from scipy.spatial.distance import euclidean
    
    DF_var = pd.DataFrame.from_dict({"s1":[1.2,3.4,10.2],"s2":[1.4,3.1,10.7],"s3":[2.1,3.7,11.3],"s4":[1.5,3.2,10.9]}).T
    DF_var.columns = ["g1","g2","g3"]
    
    def m_euclid(v1, v2):
        return (1/(1 + euclidean(v1,v2)))
    
    dist_list = []
    for j1 in DF_var.columns:
        dist_list.append([m_euclid(DF_var[j1], DF_var[j2]) for j2 in DF_var.columns])
    
    dist_matrix = pd.DataFrame(dist_list)
    

提交回复
热议问题