sklearn余弦相似度计算
时间: 2025-01-06 21:41:50 浏览: 45
### 使用sklearn计算余弦相似度
在数据科学和机器学习领域,计算数据点之间的相似度是一项基本且关键的任务[^1]。对于文本数据分析而言,一种常用的方法是通过词频-逆文档频率(TF-IDF)向量化表示文本,并利用这些向量间的夹角来衡量它们之间距离——即所谓的“余弦相似度”。
为了使用 `scikit-learn` 库执行此操作:
#### 导入必要的模块
```python
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
```
#### 准备样本数据集
创建一些简单的字符串列表作为待处理的数据源。
```python
documents = [
"This is the first document.",
"This document is the second document.",
"And this is the third one.",
"Is this the first document?"
]
```
#### 构建 TF-IDF 特征矩阵
应用TfidfVectorizer将文本转换成数值型特征向量形式。
```python
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(documents)
```
#### 计算余弦相似度得分
基于上述得到的特征矩阵,调用cosine_similarity函数即可获得任意两篇文档间相似程度的结果。
```python
similarity_scores = cosine_similarity(tfidf_matrix[0:1], tfidf_matrix)
print(similarity_scores)
```
这段代码会输出第一个文档与其他所有文档之间的余弦相似度分数数组[^3]。
阅读全文
相关推荐




















