对两列数据计算余弦相似度代码
时间: 2024-10-10 13:04:41 浏览: 32
在sql中对两列数据进行运算作为新的列操作
在Python中,我们可以使用`sklearn`库中的`cosine_similarity`函数来计算两列数据的余弦相似度。假设你有两列二维向量数据,分别存储在两个列表或数组中,例如`vector1`和`vector2`:
```python
from sklearn.metrics.pairwise import cosine_similarity
# 假设 vector1 和 vector2 是这样的二维列表或数组
vector1 = [[1, 2, 3], [4, 5, 6]] # 示例一列数据
vector2 = [[7, 8, 9], [10, 11, 12]] # 另一列数据
# 计算余弦相似度矩阵
similarity_matrix = cosine_similarity(vector1, vector2)
# 同样的一列数据的余弦相似度会是一个标量,你可以取对角线元素获取每个元素与其他所有元素的相似度
cosine_similarities = similarity_matrix.diagonal()
print("Cosine Similarity Matrix:")
print(similarity_matrix)
print("\nSimilarity Scores for Each Pair of Vectors:")
print(cosine_similarities)
```
这里,`cosine_similarity`返回的是一个对角矩阵,对角线上的元素是每一对向量之间的相似度。如果想得到单个向量之间的相似度,可以直接访问对应位置的值。
阅读全文