LDA 是主题模型,讲过;K-means 是聚类,跟 LDA 是两回事。
K-means 更快、更暴力,但要求先把文本转成向量。
完整流程:
from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.cluster import KMeans vectorizer = TfidfVectorizer(max_features=5000) X = vectorizer.fit_transform(corpus.text.tolist()) km = KMeans(n_clusters=5, random_state=42) labels = km.fit_predict(X) |
K-means vs LDA 实际怎么选?
- 数据量 < 1 万:用 K-means,简单粗暴
- 数据量 > 1 万:用 K-means(minibatch 版本) + LDA 双跑,互为验证
- 主题需要可解释:用 LDA,出来的「主题词」就是答案
- 主题只需要聚类:K-means 更省事
一个细节:评论里「机器重复刷评」会自己聚成一类,这反而是个免费的垃圾评论检测器。
本文由 BBZ · 小朵科技工作室 出品。