gpt4 book ai didi

apache-spark - 如何使用Spark Kmeans模型获取Kmeans集群数据

转载 作者:行者123 更新时间:2023-11-30 09:29:28 25 4
gpt4 key购买 nike

我正在使用 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能够直接输出聚类后的原始文本文档,而不是浮点向量。

最佳答案

只需 map 预测:

parsedData.map(p => (model.predict(p), p))

要获取原始文档,只要数据没有被重新排序(打乱),您就可以尝试 zip 方法,否则:

model.predict(parsedData).zip(rawDocuments)

关于apache-spark - 如何使用Spark Kmeans模型获取Kmeans集群数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38234917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com