示例示例Python计算相似度有多种方法,比如欧式距离、余弦相似度、Jaccard相似度等。欧式距离
Python计算相似度有多种方法,比如欧式距离、余弦相似度、Jaccard相似度等。
1. 欧式距离
欧式距离是一种测量两个点之间距离的常用方法,它可以用来衡量两个样本之间的相似度。欧氏距离公式为:
$$d(x,y)=\sqrt{\sum_{i=1}^n (x_i-y_i)^2}$$
其中,$x=(x_1,x_2,...,x_n)$和$y=(y_1,y_2,...,y_n)$分别代表两个样本,$n$表示样本的维度。欧式距离越小,两个样本的相似度越高。
示例代码:
python
# 计算欧式距离
import numpy as np
def euclidean_distance(x, y):
# 计算两个向量之间的欧式距离
return np.sqrt(np.sum((x - y) ** 2))
x = np.array([1,2,3])
y = np.array([4,5,6])
print(euclidean_distance(x, y))
# 输出:5.196152422706632
2. 余弦相似度
余弦相似度是一种常用的相似度计算方法,它可以用来衡量两个样本之间的相似度。余弦相似度公式为:
$$similarity=\frac{A\cdot B}{||A||\cdot ||B||}$$
其中,$A=(a_1,a_2,...,a_n)$和$B=(b_1,b_2,...,b_n)$分别代表两个样本,$n$表示样本的维度,$||A||$表示$A$的模长,$A\cdot B$表示$A$和$B$的内积。余弦相似度的值越接近1,两个样本的相似度越高。
示例代码:
python
# 计算余弦相似度
import numpy as np
def cosine_similarity(x, y):
# 计算两个向量之间的余弦相似度
return np.dot(x, y) / (np.linalg.norm(x) * np.linalg.norm(y))
x = np.array([1,2,3])
y = np.array([4,5,6])
print(cosine_similarity(x,
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(21条)