以下是使用K均值和TF-IDF进行聚类的Python代码示例:
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
# 读取数据
data = pd.read_csv('data.csv')
# 使用TF-IDF向量化文本数据
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(data['text'])
# 使用K均值进行聚类
k = 3 # 聚类的数量
kmeans = KMeans(n_clusters=k)
kmeans.fit(X)
# 获取每个文本所属的聚类类别
labels = kmeans.labels_
# 将类别标签添加到原始数据中
data['cluster'] = labels
# 打印每个类别的文本
for i in range(k):
cluster_data = data[data['cluster'] == i]['text']
print(f'Cluster {i+1}:')
for text in cluster_data:
print(text)
print('------------------------------')
请注意,上述代码中的"data.csv"应替换为包含原始数据的CSV文件的路径。在这个示例中,假设数据集包含一个"text"列,其中包含要聚类的文本数据。
此代码使用TF-IDF向量化文本数据,并使用K均值算法将文本聚类为k个不同的类别。然后,代码将每个文本的聚类标签添加到原始数据中,并打印每个类别的文本数据。
希望对你有所帮助!
下一篇:按照作者分组并格式化一个作者列表