python 余弦相似度代码
时间: 2023-09-03 07:15:50 浏览: 52
以下是 Python 中计算余弦相似度的代码示例:
```python
import numpy as np
def cosine_similarity(a, b):
dot_product = np.dot(a, b)
norm_a = np.linalg.norm(a)
norm_b = np.linalg.norm(b)
return dot_product / (norm_a * norm_b)
```
其中,a 和 b 都是向量,可以是 numpy 数组或列表。函数中使用了 numpy 中的 dot 函数计算向量点积,使用了 numpy 中的 linalg.norm 函数计算向量的模长。最后返回的是余弦相似度值。
相关问题
python余弦相似度
在Python中,可以使用scikit-learn库的cosine_similarity函数来计算余弦相似度。
首先,需要将需要比较的两个向量转化为numpy数组或者scipy sparse matrix。然后,可以使用cosine_similarity函数计算它们的余弦相似度。代码示例如下:
```python
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
# 定义两个向量
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
# 将两个向量转化为二维数组
a = a.reshape(1, -1)
b = b.reshape(1, -1)
# 计算余弦相似度
cos_sim = cosine_similarity(a, b)
print(cos_sim)
```
输出结果为:
```
[[0.97463185]]
```
这表示向量a和向量b的余弦相似度为0.9746。
python余弦相似度公式
Python中计算余弦相似度的公式可以通过使用scikit-learn库中的cosine_similarity函数来实现。首先,你需要将要比较的向量表示为NumPy数组形式,然后使用cosine_similarity函数计算它们之间的余弦相似度。以下是示例代码:
```python
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity
# 向量A和向量B
vector_a = np.array([1, 2, 3])
vector_b = np.array([4, 5, 6])
# 将向量A和向量B转换为二维数组形式
vector_a = vector_a.reshape(1, -1)
vector_b = vector_b.reshape(1, -1)
# 计算余弦相似度
cosine_similarity_score = cosine_similarity(vector_a, vector_b)
print(cosine_similarity_score)
```
这段代码将输出两个向量之间的余弦相似度。请注意,这个函数要求输入的向量是二维数组形式,因此我们使用`reshape`函数对向量进行了转换。