python Kmeans文本聚类
时间: 2024-02-11 19:03:08 浏览: 101
K-means是一种常用的聚类算法,用于将数据集划分为K个不同的簇。在文本聚类中,K-means算法可以用于将文本数据集划分为K个不同的主题或类别。
Python中有多个库可以用于实现K-means文本聚类,其中最常用的是scikit-learn库。下面是一个简单的示例代码,演示如何使用scikit-learn库进行K-means文本聚类:
```python
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
# 假设我们有一个包含文本数据的列表
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特征向量
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(documents)
# 使用K-means算法进行聚类
= 2 # 设置聚类的簇数
kmeans = KMeans(n_clusters=k)
kmeans.fit(X)
# 输出每个文本所属的簇
for i, label in enumerate(kmeans.labels_):
print(f"Document {i+1}: Cluster {label+1}")
# 输出每个簇的中心点(代表性文本)
for i, center in enumerate(kmeans.cluster_centers_):
print(f"Cluster {i+1} Center: {vectorizer.inverse_transform(center)}")
```
上述代码首先使用TfidfVectorizer将文本数据转换为TF-IDF特征向量,然后使用KMeans进行聚类。最后,输出每个文本所属的簇以及每个簇的中心点(代表性文本)。
阅读全文