Python 算夹角余弦
时间: 2023-11-05 15:22:24 浏览: 81
要计算两个向量之间的夹角余弦,可以使用 Python 中的 math 库来实现。以下是一个示例代码:
```python
import math
# 定义两个向量
vector1 = [1, 2, 3]
vector2 = [4, 5, 6]
# 计算向量的长度
length1 = math.sqrt(sum([x**2 for x in vector1]))
length2 = math.sqrt(sum([x**2 for x in vector2]))
# 计算两个向量的点积
dot_product = sum([vector1[i] * vector2[i] for i in range(len(vector1))])
# 计算夹角余弦
cosine_similarity = dot_product / (length1 * length2)
# 输出结果
print(cosine_similarity)
```
在这个例子中,我们假设有两个三维向量 `[1, 2, 3]` 和 `[4, 5, 6]`。首先计算每个向量的长度,然后计算两个向量的点积。最后,通过将点积除以两个向量长度的乘积,得到夹角余弦的值。
相关问题
python计算夹角余弦距离
以下是使用Python计算夹角余弦距离的示例代码:
```python
import math
# 向量A和向量B
A = [1, 2, 3]
B = [4, 5, 6]
# 计算向量A和向量B的点积
dot_product = sum([a*b for a, b in zip(A, B)])
# 计算向量A的模长和向量B的模长
norm_A = math.sqrt(sum([a*a for a in A]))
norm_B = math.sqrt(sum([b*b for b in B]))
# 计算夹角余弦值
cosine_distance = dot_product / (norm_A * norm_B)
# 打印夹角余弦值
print(cosine_distance)
```
输出:
```
0.9746318461970762
```
注意,这里计算的是夹角余弦距离,而不是夹角余弦相似度。如果需要计算夹角余弦相似度,可以将夹角余弦距离转化为1-夹角余弦距离。
python计算余弦夹角距离
以下是Python代码,用于计算两个向量之间的余弦夹角距离:
```
import numpy as np
def cosine_distance(v1, v2):
dot_product = np.dot(v1, v2)
norm_v1 = np.linalg.norm(v1)
norm_v2 = np.linalg.norm(v2)
return dot_product / (norm_v1 * norm_v2)
```
其中,v1和v2是两个向量,可以是列表、数组或其他可迭代的对象。np.dot(v1, v2)计算两个向量的点积,np.linalg.norm(v)计算向量v的范数(长度)。最后返回的是余弦夹角距离,值域为[-1, 1]。值越接近1,则两个向量越相似;值越接近-1,则两个向量越不相似。