在SciPy中,可以使用scipy.spatial.distance
模块来计算两个样本集之间的距离和相似性。
- 计算距离:
from scipy.spatial import distance
# 样本集合1
X = [[0, 1], [1, 1]]
# 样本集合2
Y = [[2, 0], [3, 1]]
# 计算欧氏距离
euclidean_distance = distance.cdist(X, Y, 'euclidean')
print("Euclidean Distance:")
print(euclidean_distance)
# 计算曼哈顿距离
manhattan_distance = distance.cdist(X, Y, 'cityblock')
print("\nManhattan Distance:")
print(manhattan_distance)
# 计算闵可夫斯基距离
minkowski_distance = distance.cdist(X, Y, 'minkowski', p=2)
print("\nMinkowski Distance:")
print(minkowski_distance)
- 计算相似性:
from scipy.spatial import distance
# 样本集合1
X = [[0, 1], [1, 1]]
# 样本集合2
Y = [[2, 0], [3, 1]]
# 计算余弦相似度
cosine_similarity = 1 - distance.cdist(X, Y, 'cosine')
print("Cosine Similarity:")
print(cosine_similarity)
# 计算皮尔逊相关系数
pearson_similarity = 1 - distance.cdist(X, Y, 'correlation')
print("\nPearson Correlation:")
print(pearson_similarity)
以上代码分别展示了如何计算欧氏距禮、曼哈顿距离、闵可夫斯基距离、余弦相似度和皮尔逊相关系数。可以根据具体需求选择合适的距离或相似性度量方法。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1044925.html