我正在尝试实现文本聚类的k-means,特别是英语句子到目前为止,我对每个文档(句子)都有一个术语频率矩阵。我对k-means在文本数据上的实际实现有点困惑。这是我对它应该如何工作的猜测。
找出所有句子中唯一单词的数量(一个很大的数字,称之为n
)。
创建k
n
维向量(簇)并用一些随机数填充k
向量的值(如何确定这些数的界限?)
确定从每个q
句子到随机k
簇、重新定位簇等的欧几里德距离(如果n
和英语一样大,计算这些向量的欧几里德距离不是很昂贵吗?)
谢谢你的洞察力!
最佳答案
这个评论有点长。
如果你有一个文档项矩阵,那么找到主成分(协方差矩阵)确定主成分空间中原始数据的系数。您可以在此空间中执行k-means聚类。
对于文本数据,通常需要一系列维度——20、50、100,甚至更多。此外,我推荐高斯混合模型/期望最大化聚类代替k-均值,但这是另一个故事。
关于algorithm - 文本聚类的k均值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40392972/