编写一个针对一批文本文件的内容进行聚类分析的程序的代码
时间: 2024-10-08 13:10:49 浏览: 23
在Python中,我们可以使用sklearn库来进行文本聚类分析,例如使用KMeans或Hierarchical Clustering算法。以下是一个简单的例子,假设我们有批量的文本数据存储在一个列表里,每条文本都是一个字符串,我们将使用TfidfVectorizer进行特征提取:
```python
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
# 假设texts是一个包含所有文本文件内容的列表
texts = ["file1.txt", "content of file1...", "file2.txt", "content of file2..."]
# 加载并处理文本数据
vectorizer = TfidfVectorizer(stop_words='english') # 停用词可以减少噪音
X = vectorizer.fit_transform(texts) # 转换为TF-IDF向量表示
# 设置聚类的数量,比如我们想分为5类
n_clusters = 5
kmeans = KMeans(n_clusters=n_clusters)
# 训练模型并获取聚类结果
clusters = kmeans.fit_predict(X)
# 输出每个文本所属的聚类
for i, text in enumerate(texts):
print(f"{text} belongs to cluster {clusters[i]}")
阅读全文