使用Kmeans对Word2vec的输出做聚类

Word2vec会产出每个词语的权重向量

使用这个向量,可以直接对所有的词语聚类

以下代码,以word2vec的model作为输入,进行kmeans训练,同时进行K的迭代计算,选出WSSSE最小的K值

这里使用的是mllib的库

算出来的K值和WSSSE的对应关系为:

 

使用如下代码进行绘图:

 

图片如下:

 

并不是完美的手肘,不过拐点大概在8、9的位置,以8或者9来聚类比较合适

 

也可以打印距离每个中心的10个数据

 

然而,查看数据,并不能得到为啥这么分类,聚类的结果不好分析~~

 

参考文章:

用手肘法选出最佳的kmeans的K值:https://blog.csdn.net/qq_15738501/article/details/79036255

K-MEANS-SPARK文档:https://spark.apache.org/docs/2.2.0/mllib-clustering.html#k-means

你可能感兴趣的:(使用Kmeans对Word2vec的输出做聚类)