微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用cdist

如何解决使用cdist

我有两个数组列表,我想使用Euclidean / Manhattan / Cosine计算两个列表之间的距离(第一个列表中的第一个数组和第二个列表中的第一个数组,依此类推...)特征。这两个列表都包含大约1000个数组。我想为每个值获取一个值,以便可以使用距离得分基于阈值将特征分类为好/坏。

from scipy.spatial import distance
features1= [array([0,0.00261035]),array([0.033,0.11,0.08044308,0.5,0.3 ])]
features2 = [array([0,0.00215861]),array([0,0.01098017,0.00215914,0.7,0.9])]
dist = distance.cdist(features1,features2,'euclidean')
print(dist)

尝试执行此操作时出现值错误

ValueError: XA must be a 2-dimensional array.

编辑: 我无法找出错误。 例如,在我的第一个例子中,如果我有两个大小为(512,),(380,)的数组 在第二个列表中,我有两个大小为(512,),(380,)的数组 我想比较对应的数组以获取距离分数。我也尝试使用linalg。

print(np.linalg.norm(np.subtract(features1,features2)))

我收到此错误

ValueError: operands Could not be broadcast together with shapes (512,) (380,)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。