问题描述
我有代码可以清理一些文本数据,使用 TfidfVectorizer 对其进行矢量化,并通过 KMeans 模型运行。一切正常,除了实际绘制集群。
我不完全理解 TfidVectorizer 的输出
例如:
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(df['column 1'].values.astype('U'))
print(X)
(0,36021) 0.17081171474660714
(0,36020) 0.17081171474660714
(0,36011) 0.13668653157547714
有人可以帮助我了解如何实际绘制集群吗?我有点不知道该去哪里。或者是否有更好的向量化器可用于 KMeans?
另外,当我查看聚类中心时,我看到了奇怪的输出,它最终有几千列,如下所示......它是一个相对较小的数据集,大约有 3000 条文本记录
print(kmeans.cluster_centers_)
[[8.71020045e-05 8.71020045e-05 8.71020045e-05 ... 1.34902052e-05
1.34902052e-05 1.34902052e-05]
以下是推荐的聚类示例代码:
df = pd.read_csv('----------------.csv')
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(df['column 1'].values.astype('U'))
true_k = 10
model = KMeans(n_clusters=true_k,init='k-means++',max_iter=100,n_init=1)
model.fit(X)
print('Top Terms Per Cluster:')
order_centroids = model.cluster_centers_.argsort()[:,::-1]
terms = vectorizer.get_feature_names()
for i in range(true_k):
print('cluster %d' % i),for ind in order_centroids[i,:10]:
print(' %s' % terms[ind]),print
print(model.cluster_centers_)
print(X)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)