繁体   English   中英

使用python中的scipy计算jaccard距离

[英]Calculate jaccard distance using scipy in python

我有两个单独的列表,如下所示。

list1 =[[0.0, 0.75, 0.2], [0.0, 0.5, 0.7]]
list2 =[[0.9, 0.0, 0.8], [0.0, 0.0, 0.8], [1.0, 0.0, 0.0]]

我想得到一个list1 x list2 jaccard距离矩阵(即该矩阵包含6个值:2 x 3)

    For example;
[0.0, 0.75, 0.2] in list1 with all the three lists in list2
[0.0, 0.5, 0.7] in list1 with all the three lists in list2

我实际上同时尝试了pdistcdist 但是我分别得到以下错误; TypeError: pdist() got multiple values for argument 'metric'ValueError: XA must be a 2-dimensional array.

请帮助我解决此问题。

您需要将mxn 2D数组传递给pdist。 要构造它,可以使用一个简单的嵌套循环。 您可能可以执行以下操作:

import scipy.spatial.distance as dist

list1 =[[0.0, 0.75, 0.2], [0.0, 0.5, 0.7]]
list2 =[[0.9, 0.0, 0.8], [0.0, 0.0, 0.8], [1.0, 0.0, 0.0]]
distance = []
for elem1 in list1:
    for elem2 in list2:
        distance.append(dist.pdist([elem1,elem2], 'jaccard'))

您可以在distance数组中获得结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM