【发布时间】:2016-11-09 03:34:45
【问题描述】:
我正在使用 Spark ML 对 600 万条记录进行 Kmeans 聚类,我使用以下代码获取 Kmeans 模型:
val model = KMeans.train(parsedData, 3, 8)
我将聚类中心数设置为3。使用以下代码,我可以通过以下代码获得3个聚类中心:
model.clusterCenters.foreach{println}
我的问题是如何获得真实的组数据,我想 Spark 应该输出 3 个组的 600 万个真实数据。
请进一步提问:上述任务用于聚类文本文档。所以我将文本文档转移到浮点向量。 Spark 只输出浮点向量,但我想直接获取原始文本文档,请问有什么想法吗? 例如: 我的文件如下:
doc1: {the book is good}
doc2: {the weather is sunny}
doc3: {rain is coming}
我将上述文本文件传输到浮点向量,如下所示用于输入 Spark ML:
doc1:{0.2,0.3,0.5,1.5,0.0,0.0,0.0,0.0}
doc1:{0.2,0.0,0.5,0.0,0.8,0.0,0.0,0.0}
doc1:{0.0,0.3,0.0,0.0,0.8,0.0,0.0,0.9}
所以我希望Spark可以直接输出聚集的原始文本文档而不是浮点向量。
【问题讨论】:
标签: apache-spark machine-learning