用余弦相似度对比两列数据的相似度代码
时间: 2024-10-10 20:04:35 浏览: 26
余弦相似度算法(python代码)
5星 · 资源好评率100%
余弦相似度是一种衡量两个非零向量之间角度的度量,常用于文本分析、推荐系统等场景中,其值介于-1和1之间,其中1表示完全相同,0表示无关,-1表示完全相反。在Python中,我们可以使用Scikit-Learn库中的`cosine_similarity()`函数来进行比较。以下是一个简单的例子,假设我们有两个列表代表两个文档的词频向量:
```python
from sklearn.metrics.pairwise import cosine_similarity
from collections import Counter
# 假设有两列数据,例如两篇文章的分词结果
doc1 = ['word1', 'word2', 'word3']
doc2 = ['word2', 'word4', 'word5']
# 转换成Counter对象,形成向量形式
vector1 = Counter(doc1)
vector2 = Counter(doc2)
# 创建一个矩阵,包含这两个向量以及其他可能的数据
vectors = [vector1, vector2] # 可能还包括其他文档
# 计算余弦相似度
similarity_matrix = cosine_similarity(vectors)
# 获取doc1和doc2之间的相似度
similarity_doc1_to_doc2 = similarity_matrix[0][1]
print(f"Doc1和Doc2的余弦相似度为: {similarity_doc1_to_doc2}")
阅读全文